Skip to content

Topiary w/ NetMHC Fails #41

Closed as not planned
Closed as not planned
@JPFinnigan

Description

@JPFinnigan

Hey Guys,

I came across what may/may not be a bug in Topiary that specifically pertains to the use of NetMHC, but not other callers that then call NetMHC (NetMHCcons). I ran:

jpf-mbp:test johnfinnigan$ python /Library/Frameworks/Python.framework/Versions/2.7/bin/topiary \
> --vcf ~/Desktop/TEMP/Results/WES/Tumor_B16_F10_0810/ISMMS/VCF/Strelka/results/passed.somatic.indels.vcf \
> --mhc-predictor netmhc \
> --mhc-alleles H-2-Kb,H-2-Db \
> --mhc-epitope-lengths 8,9,10,11 \
> --ic50-cutoff 500 \
> --rna-transcript-fpkm-gtf-file ~/Desktop/TEMP/Results/RNA/Tumor_B16.F10/ISMMS/Tumor_B16.F10_0810.127A/GTF/StringTie/HISAT2/Tumor_B16.F10_0810.127A.HISAT2.sorted.gtf \
> --rna-min-transcript-expression 0.1 \
> --output-csv ~/Desktop/TEMP/Results/MTA/Tumor_B16.F10_0810/RNA/Tumor_B16.F10_0810.strelka.passing.indels.vcf_Tumor_B16.F10_0810.127A.HISAT2.sorted.gtf_netmhc.csv

This is what I saw:

Topiary commandline arguments:
Namespace(ic50_cutoff=500.0, json_variant_files=[], maf=[], mhc_alleles='H-2-Kb,H-2-Db', mhc_alleles_file=None, mhc_epitope_lengths=[8, 9, 10, 11], mhc_predictor='netmhc', only_novel_epitopes=False, output_csv='/Users/johnfinnigan/Desktop/TEMP/Results/MTA/Tumor_B16.F10_0810/RNA/Tumor_B16.F10_0810.strelka.passing.indels.vcf_Tumor_B16.F10_0810.127A.HISAT2.sorted.gtf_netmhc.csv', output_html=None, padding_around_mutation=None, percentile_cutoff=None, reference_name=None, rna_gene_fpkm_tracking_file=None, rna_min_gene_expression=0.0, rna_min_transcript_expression=0.1, rna_transcript_fpkm_gtf_file='/Users/johnfinnigan/Desktop/TEMP/Results/RNA/Tumor_B16.F10/ISMMS/Tumor_B16.F10_0810.127A/GTF/StringTie/HISAT2/Tumor_B16.F10_0810.127A.HISAT2.sorted.gtf', rna_transcript_fpkm_tracking_file=None, skip_variant_errors=False, variant=[], vcf=['/Users/johnfinnigan/Desktop/TEMP/Results/WES/Tumor_B16_F10_0810/ISMMS/VCF/Strelka/results/passed.somatic.indels.vcf'], wildtype_ligandome_directory=None)
INFO:root:Building MHC binding prediction type for alleles ['H-2-Kb', 'H-2-Db'] and epitope lengths [8, 9, 10, 11]
WARNING:root:Failed to run netMHC -A
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/topiary", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/scripts/topiary", line 64, in <module>
    main()
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/scripts/topiary", line 46, in main
    epitopes = predict_epitopes_from_args(args)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/predict_epitopes.py", line 275, in predict_epitopes_from_args
    mhc_model = mhc_binding_predictor_from_args(args)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/commandline_args.py", line 228, in mhc_binding_predictor_from_args
    epitope_lengths=epitope_lengths)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mhctools/netmhc.py", line 47, in __init__
    process_limit=1)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mhctools/base_commandline_predictor.py", line 127, in __init__
    self.supported_alleles_flag)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mhctools/base_commandline_predictor.py", line 163, in _determine_supported_alleles
    command, supported_allele_flag
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

I believe this may be due to the fact that NetMHC, but neither NetMHCpan nor NetMHCcons utilizes both a -a and a -A option flag. NetMHC uses the -A flag to print a list of acceptable input alleles.

E.g.

jpf-mbp:test johnfinnigan$ netMHC -A
### Alleles with ANN predictors:
BoLA-D18.4
BoLA-HD6
BoLA-JSP.1
[...]
SLA-10401
SLA-20401
SLA-30401

So, when topiary tries to run NetMHC -A I think it's receiving back a list of MHC-I alleles which it then doesn't know what to do with WARNING:root:Failed to run netMHC -A.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions