๐Ÿš€ 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

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.

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