Documentation
Everything you need to prepare input data and run predictions with the platform’s three modules: BioAnchorFormer (MHC-I), the MHC-II Predictor, and Proteome Scan for batch, multi-protein screening.
MHC-I · BioAnchorFormer
Input Format
BioAnchorFormer accepts protein sequences in three ways, on the MHC-I Prediction page:
- Paste a sequence directly into the text box, using standard single-letter amino acid codes.
- Upload a FASTA file with a
.fastaor.faextension (maximum 2MB). - Paste a peptide list, one exact peptide per line, to score specific peptides directly with no sliding windows.
Only the 20 standard amino acid codes are supported: A C D E F G H I K L M N P Q R S T V W Y. Whitespace and line breaks are ignored. Sequences must be between 11 and 5,000 residues.
FASTA Format
A valid FASTA file starts with a header line beginning with >, followed by one or more lines of sequence data. If a file contains multiple records, only the first record is used for prediction.
>sp|P01234|EXAMPLE_HUMAN Example antigen precursor
MKTIIALSYIFCLVFADYKDDDDKGSGSMAVMAPRTLVLLLSGALALTQTWAGSHSMRY
FYTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASQRMEPRAPWIEQEGPEYWDRETQISupported Peptide Lengths
BioAnchorFormer generates every overlapping peptide window for the lengths you select:
9-mers are the most common MHC Class I ligand length, but 8, 10, and 11-mers are also frequently presented depending on allele. Selecting multiple lengths runs all windows in a single prediction job.
Example Workflow
- Go to the MHC-I Prediction page and paste a sequence or upload a FASTA file.
- Select one or more peptide lengths.
- Click Predict and monitor the live progress bar.
- You’ll be redirected to the Results page once the job completes, where you can search, sort, visualize, and export ranked peptides.
Using the REST API directly
curl -X POST http://localhost:8000/predict-sequence \
-H "Content-Type: application/json" \
-d '{"sequence": "MKTIIALSYIFCLVFADYKDDDDK...", "peptide_lengths": [9, 10]}'curl http://localhost:8000/job-status/<prediction_id>
curl http://localhost:8000/results/<prediction_id>
curl -OJ http://localhost:8000/download/csv/<prediction_id>curl -X POST http://localhost:8000/predict-peptides \
-H "Content-Type: application/json" \
-d '{"peptides": ["SIINFEKL", "YLQPRTFLL"]}'MHC-II · MHC-II Predictor
Input Format
The MHC-II Prediction page supports the same three input modes as MHC-I: paste a protein sequence, upload a FASTA file, or paste a peptide list scored directly with no windowing.
Output Classes
The MHC-II Predictor is a multi-label model, not a 4-way softmax. BLB1-binding and BLB2-binding are independent biochemical events — a peptide can bind neither, either, or both — so the model produces two independent sigmoid probabilities (one per allele), each compared against its own tuned decision threshold:
- BLB1 probability ≥ BLB1 threshold?
- BLB2 probability ≥ BLB2 threshold?
Those two independent yes/no decisions are then combined into one of four display labels, all four probabilities are always shown — not just the final label:
Shared means both BLB1 and BLB2 probabilities cleared their respective thresholds for the same peptide — it is a derived label, not a class the model predicts directly.
Supported Peptide Lengths
This 13–17 aa range (default 15) is a provisional placeholder pending the real trained model’s supported length range, and will be updated once that model is available.
Example Workflow
- Go to the MHC-II Prediction page and paste a sequence or upload a FASTA file.
- Select one or more peptide lengths.
- Click Predict and monitor the live progress bar.
- On the Results page, filter by class (Negative is hidden by default), minimum confidence, length, or protein, then export the full results as CSV or Excel.
Using the REST API directly
curl -X POST http://localhost:8000/predict-mhc2-protein \
-H "Content-Type: application/json" \
-d '{"sequence": "MKTIIALSYIFCLVFADYKDDDDK...", "peptide_lengths": [15]}'curl http://localhost:8000/mhc2-job-status/<prediction_id>
curl http://localhost:8000/mhc2-results/<prediction_id>
curl -OJ http://localhost:8000/mhc2-download/csv/<prediction_id>curl -X POST http://localhost:8000/predict-mhc2-peptides \
-H "Content-Type: application/json" \
-d '{"peptides": ["AAKLMNPQRSTVWYK"]}'Proteome Scan · Batch Screening
Input Format
The Proteome Scan page accepts a single multi-sequence FASTA file — for example, a bacterial core proteome with hundreds of proteins in one file. This is the one place on the platform where every record in the file is used, not just the first: each protein is windowed and scored independently, then the results are pooled across the whole file.
Choose which model(s) to run — MHC-I, MHC-II, or both — and which peptide length(s) for each. To keep a scan finishing in minutes on the current server, a file is capped at 300 proteins and 150,000 total generated peptide windows per run.
Two Output Threads
A proteome scan answers two different questions, so it produces two kinds of results rather than one merged table:
- Top peptides (Thread 1). The best individual peptides across the entire file, regardless of which protein they came from — one ranked list per model that ran, up to 300 peptides each, sorted by that model’s own score (MHC-I) or confidence (MHC-II).
- Protein rankings (Thread 2). Proteins ranked by how many “good” epitopes they contain — useful for picking which whole proteins to prioritize, or spotting proteins that are strong for both MHC classes.
Example Workflow
- Go to the Proteome Scan page and upload a multi-protein FASTA file.
- Select MHC-I, MHC-II, or both, and the peptide length(s) for each.
- Click Run Proteome Scan and monitor the live progress bar.
- On the Results page, switch between the Top MHC-I Peptides, Top MHC-II Peptides, and Protein Rankings tabs, then export any thread as CSV, or everything at once as a single three-sheet Excel workbook.
Using the REST API directly
curl -X POST http://localhost:8000/predict-proteome \
-F "file=@proteome.fasta" \
-F "run_mhc1=true" -F "run_mhc2=true" \
-F "mhc1_lengths=9" -F "mhc2_lengths=15"curl http://localhost:8000/proteome-job-status/<prediction_id>
curl http://localhost:8000/proteome-results/<prediction_id>
curl -OJ "http://localhost:8000/proteome-download/csv/<prediction_id>?thread=proteins"
curl -OJ http://localhost:8000/proteome-download/excel/<prediction_id>