Closed PierreLaplante closed 7 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?
Sure thing!
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.
Ok, I'll give it a shot and let you know, thanks.
@PierreLaplante were you able to get a successful run?
Hi, sorry for disappearing, it indeed worked, I added additional memory just in case. Thank you for your help!
Awesome. I'll close this ticket.
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?
Can you please try rerunning your pVACseq command to see if this error is intermittent?
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.
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:
This error doesn't happen with NetMHC. Let me know if you need my input files.
How to reproduce this bug
Input files
No response
Log output
No log.
Output files
No response