Skip to main content

TPBLA_ThermAL: ML for amyloid thermodynamic landscape prediction.

Project description

License: MIT Python

ThermAL Logo

TPBLA_ThermAL is a desktop GUI tool for predicting regions that stabilise amyloid fibrils.
It takes one or more FASTA sequences as input, generates single–residue variants, extracts physicochemical features, and predicts fitness landscapes using a pre-trained Random Forest model.


🚀 Quick install (development)

# Clone the repository
git clone https://github.com/conor-mckay98/ThermAL
cd ThermAL

# Install in editable mode
python -m pip install -e .

# Run the GUI
tpbla-thermal

📦 Requirements

    Python 3.8+

    scikit-learn==1.2.2

    scipy==1.9.3

    pandas

    numpy

    joblib

    seaborn

    matplotlib

    openpyxl

    pillow

    tk (comes with most Python distributions, but may require sudo apt-get install python3-tk on Linux)

All dependencies are declared in pyproject.toml and will be installed automatically with pip.
🧠 How it works

ThermAL generates and evaluates variants of input sequences:

    Input: FASTA file(s) with protein sequence(s).

    Variant generation: Creates all single–residue variants.

    Feature extraction:

        Amino Acid Composition (AAC)

        Dipeptide Composition (DPC)

        Sliding window AUC of physicochemical properties (Bulkiness, Polarity, Hydrophobicity, etc.).

    Prediction: Pre-trained Random Forest model scores variant fitness.

    Output: Excel tables and plots, saved per-sequence.

📁 Project Structure

ThermAL/
│
├── src/tpbla_thermal/         Python package
│   ├── cli.py                 CLI entrypoint
│   └── gui.py                 GUI implementation
│
├── required_docs/             model + reference atlases (not tracked in GitHub)   ├── 3_B_Atlas.xlsx
│   ├── 3_BT_Atlas.xlsx
│   ├──  (other atlas files)   └── ThermAL.joblib
│
├── ThermAL.png                logo displayed in GUI
├── ThermAL.ipynb              development notebook
├── pyproject.toml              build config (dependencies, entrypoints)
├── LICENSE
└── README.md                   this file

🎛️ Usage

    Ensure the required_docs/ folder (with all .xlsx atlases and the model file ThermAL.joblib) is present.

    Run:

tpbla-thermal

    In the GUI:

        Select FASTA File  choose your .fasta or .fa.

        Run Analysis  progress bars update as AAC/DPC and feature extraction run.

        Results are written into a folder named after each sequence header.

🔍 Outputs

Inside each job folder (named after the FASTA header), you’ll find:

    Predicted_fitness_with_1_letter_mutations.xlsx
    Full table of variants, predictions, and mutation codes.

    heatmap_simple.xlsx
    Pivot table of mean predicted fitness per mutation/position.

    heatmap.png
    Visual heatmap (blue→white→red), wild-type cells bordered in black.

    sliding_window.xlsx
    5-residue sliding window average of predicted fitness.

    sliding_window_with_foldx.png
    Plot highlighting stabilising regions.

📖 Citation

If you use this tool, please cite:

> McKay et al., 2025
> *"TPBLA_ThermAL: Machine learning for amyloid thermodynamic landscape prediction"*
"TPBLA_ThermAL: Machine learning for amyloid thermodynamic landscape prediction"

(CITATION.cff coming soon for GitHub citation support.)
🤝 Contact

Any problems or questions?
📧 conor_mckay98@aol.com

🔗 [LinkedIn](https://www.linkedin.com/in/conor-mckay-babba7171/)

PhD Student @ University of Leeds

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tpbla_thermal-0.0.3.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tpbla_thermal-0.0.3-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file tpbla_thermal-0.0.3.tar.gz.

File metadata

  • Download URL: tpbla_thermal-0.0.3.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for tpbla_thermal-0.0.3.tar.gz
Algorithm Hash digest
SHA256 9f4cb9e2550ed49f67eeda4d43c2d7514f80a55787aa395e7cb8dae45ccadcd8
MD5 91af7da5e96277dc0de841ba607f7546
BLAKE2b-256 c55fb6b3b5ec80bd33dcc83d4014fc7915e480ca7a192a5688cad802173d2c1a

See more details on using hashes here.

File details

Details for the file tpbla_thermal-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: tpbla_thermal-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for tpbla_thermal-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0731451b25ab783d8181abb88eb002a51a2cb83369ed7341649576811a03b9fe
MD5 77ee2f17cff930b5c3bdf22a0784027a
BLAKE2b-256 1e3be54e269575628035d1b7ce0a16c16b127d57812310278ee287345d598147

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page