griffithlab / pVACtools

http://www.pvactools.org
BSD 3-Clause Clear License
137 stars 59 forks source link

WARNING [__init__.py:662] did not find allele distance info from netmhcpan_output #1043

Closed PierreLaplante closed 7 months ago

PierreLaplante commented 8 months ago

Installation Type

Docker

pVACtools Version / Docker Image

4.0.6

Python Version

3.11.0

Operating System

CentOs 7 HPC

Describe the bug

The pipeline stops at the prediction step on H-2-Dd, Kd and Ld using NetMHCpan with mouse data:

Split FASTA file for Epitope Length 9 - Entries 11801-11986 already exists. Skipping.
Split FASTA file for Epitope Length 10 - Entries 11801-11986 already exists. Skipping.
Split FASTA file for Epitope Length 11 - Entries 11801-11986 already exists. Skipping.
Completed
Making binding predictions on Allele H-2-Dd and Epitope Length 8 with Method NetMHCpan - File /mnt/pvac_files/pvac_output/6_2_Msh2KO_g/MHC_Class_I/tmp/6_2_Msh2KO_g.netmhcpan.H-2-Dd.8.tsv_1-200
2024-01-05:17:59:27,871 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,888 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,903 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,919 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,934 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,950 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,966 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:27,983 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,1 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,17 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,34 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,50 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,66 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,83 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,99 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,115 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,132 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,148 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,164 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,180 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,196 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,212 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,229 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,245 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,262 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,278 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,294 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,310 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,327 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,344 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,360 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,377 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,393 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,409 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,425 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,442 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,458 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,475 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,491 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,507 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,524 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,540 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,557 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,574 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,592 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,610 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,628 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,646 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,664 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,682 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,701 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,719 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,737 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,756 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,774 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,793 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,811 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,830 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,848 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,866 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,885 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,903 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,921 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,940 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,958 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,977 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:28,995 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,14 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,32 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,51 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,69 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,88 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,106 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,124 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,147 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,166 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,185 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,203 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,222 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,240 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,259 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,277 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,295 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,314 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,332 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,351 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,369 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,388 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,407 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,427 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,445 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,464 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,482 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,501 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,519 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-01-05:17:59:29,538 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
Traceback (most recent call last):
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 516, in <module>
    Prediction().main()
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 507, in main
    self.commandline_input(args)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 134, in commandline_input
    table_rows = self.format_binding(input, mhc_scores, method, use_cutoff, cutoff_value)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 206, in format_binding
    self.add_rows_binding(allele, length, proteins, score, actual_methods_used, cutoff, value)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 211, in add_rows_binding
    for (k, prediction) in enumerate(predictions):
TypeError: 'NoneType' object is not iterable
CRITICAL:pymp:An exception occured in thread 0: (<class 'subprocess.CalledProcessError'>, Command '['/usr/local/bin/python', '/opt/iedb/mhc_i/src/predict_binding.py', 'netmhcpan', 'H-2-Dd', '8', '/mnt/pvac_files/pvac_output/6_2_Msh2KO_g/MHC_Class_I/tmp/6_2_Msh2KO_g.8.fa.split_1-200']' returned non-zero exit status 1.).
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/pvactools/lib/pipeline.py", line 356, in call_iedb
    pvactools.lib.call_iedb.main(arguments)
  File "/usr/local/lib/python3.7/site-packages/pvactools/lib/call_iedb.py", line 44, in main
    raise err
  File "/usr/local/lib/python3.7/site-packages/pvactools/lib/call_iedb.py", line 39, in main
    (response_text, output_mode) = prediction_class_object.predict(args.input_file, args.allele, args.epitope_length, args.iedb_executable_path, args.iedb_retries, tmp_dir=args.tmp_dir)
  File "/usr/local/lib/python3.7/site-packages/pvactools/lib/prediction_class.py", line 58, in predict
    response = run(arguments, stdout=response_fh, check=True)
  File "/usr/local/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/usr/local/bin/python', '/opt/iedb/mhc_i/src/predict_binding.py', 'netmhcpan', 'H-2-Dd', '8', '/mnt/pvac_files/pvac_output/6_2_Msh2KO_g/MHC_Class_I/tmp/6_2_Msh2KO_g.8.fa.split_1-200']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pvacseq", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/pvactools/tools/pvacseq/main.py", line 123, in main
    args[0].func.main(args[1])
  File "/usr/local/lib/python3.7/site-packages/pvactools/tools/pvacseq/run.py", line 138, in main
    pipeline.execute()
  File "/usr/local/lib/python3.7/site-packages/pvactools/lib/pipeline.py", line 450, in execute
    self.call_iedb(chunks)
  File "/usr/local/lib/python3.7/site-packages/pvactools/lib/pipeline.py", line 357, in call_iedb
    p.print("Making binding predictions on Allele %s and Epitope Length %s with Method %s - File %s - Completed" % (a, epl, method, filename))
  File "/usr/local/lib/python3.7/site-packages/pymp/__init__.py", line 148, in __exit__
    raise exc_t(exc_val)
TypeError: __init__() missing 1 required positional argument: 'cmd'

This error doesn't happen with NetMHC. Let me know if you need my input files.

How to reproduce this bug

singularity exec \
    --mount type=bind,src=SOURCE,dst=DEST \
    pvac406.sif pvacseq run \
    input.vcf.gz \
    id \
    H-2-Kd,H-2-Dd,H-2-Ld \
    NetMHCpan \
    output/dir \
    --iedb-install-directory /opt/iedb \
    --net-chop-method cterm \
    --netmhc-stab \
    --run-reference-proteome-similarity --blastp-path ncbi/dir --blastp-db refseq_select_prot \
    -a sample_name \
    --phased-proximal-variants-vcf phased.vcf.gz \
    --tdna-vaf 0.05 \
    --trna-vaf 0.05 \

Input files

No response

Log output

No log.

Output files

No response

susannasiebert commented 8 months ago

@PierreLaplante Thank you for this bug report. Unfortunately, I'm unable to reproduce this error with my test data. Would you be able to include your input files with this ticket for further debugging?

PierreLaplante commented 8 months ago

Sure thing!

https://we.tl/t-twhdT3KP9p

susannasiebert commented 8 months ago

Unfortunately, I've not been able to replicate this error so I think this might be an intermittent error. The error was emitted by IEDB itself so I can't provide any information about what might've gone wrong. The actual failure was:

  File "/opt/iedb/mhc_i/src/predict_binding.py", line 211, in add_rows_binding
    for (k, prediction) in enumerate(predictions):
TypeError: 'NoneType' object is not iterable

My best guess would be that this process ran out of memory while making predictions or ran into some other sort of problem. I think if you were to restart this job, it would probably succeed.

PierreLaplante commented 8 months ago

Ok, I'll give it a shot and let you know, thanks.

susannasiebert commented 7 months ago

@PierreLaplante were you able to get a successful run?

PierreLaplante commented 7 months ago

Hi, sorry for disappearing, it indeed worked, I added additional memory just in case. Thank you for your help!

susannasiebert commented 7 months ago

Awesome. I'll close this ticket.

danilotat commented 7 months ago

Sorry for re-opening the issue, but I'm facing the same error with the given test data. I'm executing this on a HPC cluster giving 30GB of RAM, so I don't think it's a memory issue. I'm using the version 4.0.7, pulled from Docker and used via Singularity.

The command from pvacseq is (from the interactive shell).

pvacseq run annotated.expression.vcf.gz HCC1395_TUMOR_DNA HLA-A*29:02,HLA-B*45:01 NetMHCpan output_data -e1 8,9,10 --normal-sample-name HCC1395_NORMAL_DNA --iedb-install-directory /opt/iedb

And produces the same error as reported by @PierreLaplante. I was able to produce predictions with other class I tools (MHCflurry, PickPocket).

/usr/local/bin/python /opt/iedb/mhc_i/src/predict_binding.py netmhcpan HLA-A*29:02 8 /g100/home/userexternal/dtat/pvacseq_example_data/output_data/MHC_Class_I/tmp/HCC1395_TUMOR_DNA.8.fa.split_1-200
2024-02-07:11:30:25,354 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,366 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,379 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,391 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,404 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,416 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,428 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,441 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,453 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,466 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,478 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,490 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,503 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,515 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,528 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,541 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,554 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,566 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,579 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,591 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,604 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,617 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,630 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,642 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,655 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,667 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,680 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,692 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,705 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,717 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,729 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,742 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,754 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,767 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,779 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,792 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,804 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,817 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,829 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,841 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,854 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,866 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,879 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,891 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,903 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,916 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,928 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,940 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,952 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,965 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,977 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:25,990 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,2 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,14 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,26 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,39 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,51 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,64 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,76 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,89 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,101 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,113 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,126 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,138 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,150 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,162 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,174 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
2024-02-07:11:30:26,187 WARNING  [__init__.py:662] did not find allele distance info from netmhcpan_output
Traceback (most recent call last):
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 516, in <module>
    Prediction().main()
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 507, in main
    self.commandline_input(args)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 134, in commandline_input
    table_rows = self.format_binding(input, mhc_scores, method, use_cutoff, cutoff_value)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 206, in format_binding
    self.add_rows_binding(allele, length, proteins, score, actual_methods_used, cutoff, value)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 211, in add_rows_binding
    for (k, prediction) in enumerate(predictions):
TypeError: 'NoneType' object is not iterable 

Any idea or additional test to do?

susannasiebert commented 7 months ago

Can you please try rerunning your pVACseq command to see if this error is intermittent?

danilotat commented 7 months ago

Hi @susannasiebert , the error happens every time with Singularity, not with Docker on another machine. I've digged more in details to find a root cause, and maybe I'm close to the cause but, unfortunately, not to the solution. netmhcpan defines in the executable script a temp folder which is where I guess it produces some temp files (they stated to also change this when needed in the readme).

This could be seen in the help message displayed when the script is run

root@7a5dc255266b:~# /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/netMHCpan
# /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/bin/netMHCpan
# Wed Feb  7 15:52:52 2024
# User: root
# PWD : /root
# Host: Linux 7a5dc255266b 5.15.0-91-generic x86_64
# Command line parameters set to:
#       [-rdir filename]     /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64 Home directory for NetMHpan
#       [-syn filename]      /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/data/synlist.bin Synaps file
#       [-v]                 0                    Verbose mode
#       [-dirty]             0                    Dirty mode, leave tmp dir+files
#       **[-tdir filename]     /tmp/netMHCpanXXXXXX Temporary directory (made with mkdtemp)**
#       [-hlapseudo filename] /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/data/MHC_pseudo.dat File with HLA pseudo sequences
#       [-hlaseq filename]                        File with full length HLA sequences
#       [-a line]            HLA-A02:01           HLA allele
#       [-f filename]                             File name with input
#       [-w]                 0                    w option for webface
#       [-s]                 0                    Sort output on descending affinity
#       [-p]                 0                    Use peptide input
#       [-rth float]         0.500000             Rank Threshold for high binding peptides
#       [-rlt float]         2.000000             Rank Threshold for low binding peptides
#       [-l string]          8,9,10,11            Peptide length [8-11] (multiple length with ,)
#       [-xls]               0                    Save output to xls file
#       [-xlsfile filename]  NetMHCpan_out.xls    Filename for xls dump
#       [-t float]           -99.900002           Threshold for output
#       [-thrfmt filename]   /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/data/threshold/%s.thr.%s Format for threshold filenames
#       [-expfix]            0                    Exclude prefix from synlist
#       [-version filename]  /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/data/version File with version information
#       [-inptype int]       0                    Input type [0] FASTA [1] Peptide
#       [-listMHC]           0                    Print list of alleles included in netMHCpan
#       [-allname filename]  /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/data/allelenames File with print names for alleles
#       [-BA]                0                    Include Binding affinity prediction
You most specify input file either by using -f or as /opt/iedb/mhc_i/method/netmhcpan-4.1-executable/netmhcpan_4_1_executable/Linux_x86_64/bin/netMHCpan [args] fastafile
Usage: netMHCpan [-h] [args] [fastafile]

Binding a writable path to the /tmp/ folder when launching the container does not fix the problem. I'd proceed editing manually the netmhcpan launcher to account for a temp folder. Thanks for the prompt response, this seems to be a problem related to the way Singularity handles temp files, not related to pvactools.