Predict patient-specific neoantigen candidate peptides with high immunogenicity based on HLA typing and tumor mutation profiles, for tumor immunotherapy target screening.
77
72%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/Data analysis/neoantigen-predictor/SKILL.mdPredicts patient-specific neoantigen candidate peptides with high immunogenicity based on HLA typing and tumor mutation profiles, providing target screening for tumor immunotherapy.
python -m py_compile scripts/main.py
python scripts/main.py --help
python scripts/main.py --hla "HLA-A*02:01" --mutations mutations.csv --output results.jsonNeoantigens are variant peptides generated by non-synonymous mutations in tumor cells, presented by the patient's HLA molecules and recognized by T cells. This tool integrates:
| Format | Example | Description |
|---|---|---|
| Standard Nomenclature | HLA-A*02:01 | WHO standard HLA nomenclature |
| Simplified | A0201 | Omit HLA- and *: |
| Multi-alleles | HLA-A*02:01,A*11:01,B*07:02 | Comma-separated |
VCF Format:
#CHROM POS ID REF ALT QUAL FILTER INFO
chr17 7579472 . G A 100 PASS GENE=TP53;AA=p.R273HTable Format (CSV):
| Gene | Chrom | Position | Ref | Alt | Protein_Change |
|---|---|---|---|---|---|
| TP53 | chr17 | 7579472 | G | A | p.R273H |
python scripts/main.py \
--hla "HLA-A*02:01,HLA-A*11:01,B*07:02" \
--vcf mutations.vcf \
--output neoantigen_results.json
python scripts/main.py \
--hla-file hla_genotype.txt \
--mutations mutations.csv \
--peptide-length 9,10,11 \
--rank-cutoff 0.5 \
--output results.jsonfrom scripts.main import NeoantigenPredictor
predictor = NeoantigenPredictor()
hla_alleles = ["HLA-A*02:01", "HLA-A*11:01", "HLA-B*07:02"]
mutations = [{"gene": "TP53", "chrom": "chr17", "pos": 7579472, "ref": "G", "alt": "A", "protein_change": "p.R273H"}]
results = predictor.predict(hla_alleles=hla_alleles, mutations=mutations, peptide_length=[9, 10], mhc_method="netmhcpan")
high_affinity = predictor.filter_by_binding(results, rank_threshold=0.5)| Metric | Threshold |
|---|---|
| Rank % | <0.5% = Strong, <2% = Weak |
| IC50 (nM) | <50nM = High, <500nM = Intermediate |
priority_score = (
0.40 * (1 - rank_percentile) + # MHC binding
0.35 * immunogenicity_score + # Immunogenicity
0.25 * clinical_score # Expression, clonality
)Important: This tool is for research purposes only. Prediction results must not be the sole basis for clinical decisions.
pip install -r requirements.txtThis skill accepts: patient HLA typing data and tumor mutation profiles (VCF, CSV, or FASTA format) for the purpose of predicting neoantigen candidates and immunotherapy targets.
If the user's request does not involve neoantigen prediction from HLA and mutation data — for example, asking to design vaccines, interpret clinical trial results, or perform general genomics analysis — do not proceed with the workflow. Instead respond:
"neoantigen-predictor is designed to predict neoantigen candidates from HLA typing and tumor mutation data for immunotherapy research. Your request appears to be outside this scope. Please provide HLA alleles and mutation data, or use a more appropriate tool for your task."
Do not continue the workflow when the request is out of scope, missing HLA typing or mutation data, or would require clinical decision-making. For missing inputs, state exactly which fields are missing.
If scripts/main.py fails or required inputs are incomplete:
--variant-peptides peptides.fasta to skip mutation processing and predict binding for pre-generated peptides directly.Every final response must make these items explicit when relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.Use the following fixed structure for non-trivial requests:
For stress/multi-constraint requests, also include:
If the request is simple, you may compress the structure, but always keep the research disclaimer and scope limits explicit.
ca9aaa4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.