TPBLA_ThermAL: ML for amyloid thermodynamic landscape prediction.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f4cb9e2550ed49f67eeda4d43c2d7514f80a55787aa395e7cb8dae45ccadcd8
|
|
| MD5 |
91af7da5e96277dc0de841ba607f7546
|
|
| BLAKE2b-256 |
c55fb6b3b5ec80bd33dcc83d4014fc7915e480ca7a192a5688cad802173d2c1a
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0731451b25ab783d8181abb88eb002a51a2cb83369ed7341649576811a03b9fe
|
|
| MD5 |
77ee2f17cff930b5c3bdf22a0784027a
|
|
| BLAKE2b-256 |
1e3be54e269575628035d1b7ce0a16c16b127d57812310278ee287345d598147
|