Predict neoantigens that may be recognized by the immune system based on patient HLA typing and tumor mutation data. Trigger conditions: - User provides HLA typing results and mutation data, requesting neoantigen prediction - User inquires about tumor immunotherapy-related neoantigen prediction - Need to provide T-cell epitope prediction and immunogenicity assessment - Input: HLA alleles (HLA-A*02:01, etc.), tumor mutation data (VCF or peptide sequences) - Output: Predicted neoantigen list, HLA binding affinity, immunogenicity scores
Install with Tessl CLI
npx tessl i github:aipoch/medical-research-skills --skill neoantigen-predictor85
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Predicts patient-specific neoantigen candidate peptides with high immunogenicity based on HLA typing and tumor mutation profiles, providing target screening for tumor immunotherapy.
Neoantigens are variant peptides generated by non-synonymous mutations in tumor cells, which can be presented by the patient's own HLA molecules and recognized by T cells. This tool integrates the following analysis workflows:
| Format | Example | Description |
|---|---|---|
| Standard Nomenclature | HLA-A*02:01 | WHO standard HLA nomenclature |
| Simplified Nomenclature | A0201 | Omit HLA- and * |
| Multi-alleles | HLA-A*02:01,A*11:01,B*07:02 | Multiple alleles separated by commas |
VCF Format Example:
#CHROM POS ID REF ALT QUAL FILTER INFO
chr17 7579472 . G A 100 PASS GENE=TP53;AA=p.R273H
chr13 32915005 . C T 100 PASS GENE=BRCA2;AA=p.S1172LTable Format:
| Gene | Chrom | Position | Ref | Alt | Protein_Change |
|---|---|---|---|---|---|
| TP53 | chr17 | 7579472 | G | A | p.R273H |
| BRCA2 | chr13 | 32915005 | C | T | p.S1172L |
FASTA Format (Variant Peptides):
>TP53_R273H_mut
GSDLWPGYFSH
>TP53_R273H_wt
GSDLWPGYFSPfrom scripts.main import NeoantigenPredictor
# Initialize predictor
predictor = NeoantigenPredictor()
# Set patient HLA typing
hla_alleles = ["HLA-A*02:01", "HLA-A*11:01", "HLA-B*07:02"]
# Define mutation data
mutations = [
{
"gene": "TP53",
"chrom": "chr17",
"pos": 7579472,
"ref": "G",
"alt": "A",
"protein_change": "p.R273H"
}
]
# Predict neoantigens
results = predictor.predict(
hla_alleles=hla_alleles,
mutations=mutations,
peptide_length=[9, 10], # 9-10mer peptides
mhc_method="netmhcpan" # Use NetMHCpan prediction
)
# Get high-affinity neoantigens
high_affinity = predictor.filter_by_binding(results, rank_threshold=0.5)# Basic prediction
python scripts/main.py \
--hla "HLA-A*02:01,HLA-A*11:01,B*07:02" \
--vcf mutations.vcf \
--output neoantigen_results.json
# Use table format input
python scripts/main.py \
--hla-file hla_genotype.txt \
--mutations mutations.csv \
--peptide-length 9,10,11 \
--rank-cutoff 0.5 \
--output results.json
# Predict HLA binding for existing variant peptides
python scripts/main.py \
--hla "A*02:01" \
--variant-peptides peptides.fasta \
--wildtype-peptides wt_peptides.fasta \
--output binding_predictions.csv{
"patient_hla": ["HLA-A*02:01", "HLA-A*11:01", "HLA-B*07:02"],
"prediction_method": "NetMHCpan 4.1",
"total_predictions": 156,
"strong_binders": 12,
"neoantigens": [
{
"rank": 1,
"mutation_id": "TP53_R273H",
"gene": "TP53",
"chromosome": "chr17",
"position": 7579472,
"ref_aa": "R",
"alt_aa": "H",
"hla_allele": "HLA-A*02:01",
"peptide_sequence": "S DDLWPGYFSH",
"peptide_length": 9,
"mutant_position": 9,
"mhc_binding": {
"rank_percentile": 0.12,
"affinity_nM": 34.5,
"binding_level": "Strong",
"core_peptide": "DLWPGYFSH",
"anchor_residues": [2, 9]
},
"immunogenicity": {
"foreignness_score": 0.87,
"self_similarity": 0.23,
"amino_acid_change": "R->H",
"anchor_mutation": true,
"hydrophobicity_change": -0.45
},
"priority_score": 0.92,
"clinical_relevance": {
"variant_allele_frequency": 0.42,
"expression_level": "High",
"clonality": "Clonal"
}
}
],
"summary": {
"top_candidates": 5,
"binding_distribution": {
"strong": 12,
"weak": 44,
"non_binder": 100
}
}
}Using NetMHCpan 4.1 algorithm to predict peptide binding to HLA molecules:
| Metric | Description | Threshold |
|---|---|---|
| Rank % | Binding rank percentile compared to natural ligand library | <0.5% = Strong, <2% = Weak |
| IC50 (nM) | Half-maximal inhibitory concentration | <50nM = High, <500nM = Intermediate |
| Binding Level | Comprehensive binding strength classification | Strong/Weak/Non-binder |
Immunogenicity Score = Σ(wi × fi)
Components:
1. Foreignness Score (w=0.30): Difference from wild-type protein
2. Anchor Mutation (w=0.25): Whether mutation is at HLA binding anchor position
3. Self-similarity (w=0.20): Similarity to self-antigen pool (lower is better)
4. Hydrophobicity Change (w=0.15): Magnitude of hydrophobicity change
5. Clonality (w=0.10): Tumor clonality (clonal mutation > subclonal)priority_score = (
binding_weight × (1 - rank_percentile) +
immunogenicity_weight × immunogenicity_score +
clinical_weight × clinical_score
)
# Weight configuration
weights = {
'mhc_binding': 0.40, # MHC binding affinity
'immunogenicity': 0.35, # Immunogenicity
'clinical': 0.25 # Clinical relevance (expression, clonality)
}⚠️ AI Autonomous Acceptance Status: Manual review required
This skill involves complex immunoinformatics calculations:
| Data Source | Type | Purpose |
|---|---|---|
| NetMHCpan 4.1 | MHC binding prediction | Core prediction algorithm |
| Ensembl/GENCODE | Genome annotation | Transcript sequence extraction |
| UniProt | Protein sequences | Wild-type reference sequences |
| IEDB | Immune epitope data | Immunogenicity assessment reference |
| TCGA | Tumor mutation data | Mutation signature analysis |
⚠️ Important Notice: This tool is for research purposes only; prediction results should not be the sole basis for clinical decisions.
See references/ directory:
Required:
Optional (enhanced features):
Core script: scripts/main.py
Key functions:
extract_variant_peptides() - Extract variant peptides from mutation sitespredict_mhc_binding() - MHC binding affinity predictioncalculate_foreignness() - Foreignness/self-similarity assessmentscore_immunogenicity() - Comprehensive immunogenicity scoringrank_candidates() - Multi-criteria candidate ranking| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python scripts with tools | High |
| Network Access | External API calls | High |
| File System Access | Read/write data | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Data handled securely | Medium |
# Python dependencies
pip install -r requirements.txtf11484c
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.