๐ Quick Start
March 13, 2026 ยท View on GitHub
Follow these numbered steps to run AISAR scoring and conformer selection.
1. Install Requirements
Python
pip install numpy pandas
R
install.packages(c("cluster", "DescTools", "RColorBrewer", "bio3d", "minpack.lm", "zeallot", "RColorBrewer"))
macOS MUSCLE (for bio3d):
brew install brewsci/bio/muscle
2. Prepare Input Files
Your dataset directory should contain:
<protein>/data_runs/
โโ ESmodels/ # All AFsample / AlphaFold PDB models
โโ RPF/ # Folder for RPF scoring
โโ RCI.csv # Edited RCI output (Number, RCI, Residue)
โโ scores.sc # Output scoring metric file generated by the AFsample protein structure prediction software
Requirements for RCI.csv
- Columns: Number, RCI, Residue
- Sequence must match PDB sequence in ESmodels
- Include residues even if RCI is missing
Requirments for ESmodels
- All relaxed pdb files
- Examples: https://github.com/MontelioneLab/AISAR/blob/main/docs/data.md
3. Compute SCC Scores
From within your dataset directory:
python ../../scripts/runSCC.py RCI.csv ESmodels > scc.sc
Output: scc.sc
4. Compute RPF Scores
This is the slowest step. Inside RPF/:
cd RPF
python ../../../scripts/runRPF.py control_RPF ../ESmodels rpfESmodels
Make sure to set RPFcommand correctly inside runRPF.py
install RPF: https://github.rpi.edu/RPIBioinformatics/ASDP_public
Extract RPF scores:
cd ..
python ../../scripts/getRPF.py RPF/rpfESmodels > rpf.sc
Output: rpf.sc
5. Compute pLDDT Scores
python ../../scripts/getpLDDT.py ESmodels > pLDDT.sc
Output: pLDDT.sc
6. Perform PCA and Clustering
In Rstudio, first set the working directory to data_runs/ and then open the script:
dmPCAClustering.R
and run it inside RStudio.
At line 41:
grps <- cutree(hc2, k=1)
Change k to the number of clusters you would like to generate.
This produces:
- PCA projections
- clusters (1,2,3,4,,,) Output file:
cluster_pc_dm.csv
7. Combine All Scores Into One Table
python ../../scripts/getScores.py scores.sc pLDDT.sc scc.sc rpf.sc cluster_pc_dm.csv > scores.all
Or use default filenames:
python ../../scripts/getScores.py > scores.all
Output: scores.all
8. Select Conformers Based on Combined Scores
python ../../scripts/selectModels.py scores.all ESmodels 5 selectedModels| tee selectedModels.log
Outputs: selectedModels/ and selectedModels.log
What this command does
-
scores.allโ the table of combined scores (Recall, Precision, pNOE, RCI agreement, pNMR, etc.). -
ESmodelsโ directory containing all ensemble-sampled conformers (e.g., model_0001.pdb, model_0002.pdb, โฆ). -
5โ the number of top conformers to select. can be set to 10, 20, ... -
selectedModelsโ output directory where the chosen models will be copied.
tee selectedModels.log
โ prints the selection summary to the screen and writes it to selectedModels.log.
Outputs
1. selectedModels/ directory
The selectedModels/ directory contains only the top-ranked conformers that satisfy the combined AISAR scoring criteria. Its' subfolders are named using a state label (aโd) followed by the cluster index. The letter denotes the ranked state assignment based on pNMR support (A highest, B second, etc.), whereas the number indicates the original geometric cluster index.
2. selectedModels.log
A readable log file showing:
- ranking
- combined score per model
- pTM/pLDDT/SCC/Recall/DP/pNMR scores
- cluster assignment
- final selection decision
This log is useful for state selection and combination.
9. Group Selected Conformers Into Ensembles
python ../../scripts/groupModels.py selectedModels/a1/
Output: selectedModels/a1.pdb
10. Validate Multi-State via DoubleRecall
After selecting conformer sets, run the RPF webserver and download the resulting ZIP file.
-
DoubleRecall - ensemble A vs ensemble B:
https://colab.research.google.com/drive/1IPXZVDdxG1xpn-6tgIErWJOSLa9Rx87A
-
DoubleRecall - ensemble A vs ensembles B1+B2:
https://colab.research.google.com/drive/1YShoUAQWdKu0EccMJgkLeeiojUWKT0SJ
11. Saving the DoubleRecall Colab Notebook
After running DoubleRecall in Google Colab, you can save your work for documentation or future reruns:
Download the notebook
In Colab: File โ Download โ Download .ipynb
Upload the notebook later
To reopen your saved notebook: File โ Upload notebook โ Select your .ipynb file