griffithlab / pVACtools

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

Stopping and getting error in griffithlab/pvactools:latest image #908

Closed erdikilic closed 1 year ago

erdikilic commented 1 year ago

I don't know what happening but it give me error during the process. It worked for 1 hours and stopped suddenly whit this error.

The commend I used

docker run --rm -it --cpus=6 \
    -v /home/erdi/pvactools_ws/case_input:/pvacseq_example_data \
    -v /home/erdi/pvactools_ws/case_output:/pvacseq_example_output \
    griffithlab/pvactools:latest \
    pvacseq run \
    /pvacseq_example_data/$sample.annotated.vcf \
    $sample \
    HLA-A*68:02,HLA-A*03:01,HLA-B*13:02,HLA-B*18:01,HLA-C*06:02,HLA-C*05:01 \
    all_class_i \
    /pvacseq_example_output/$sample \
    -e1 8,9,10,11 \
    --iedb-install-directory /opt/iedb \
    -t 6

Log Output

No more processes.
2023-03-01:22:45:39,256 ERROR    [pickpocket_python_interface.py:81] len(peptide_list) != len(scores) -- 10 != 0
# /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/bin/pickpocket_pmbec -a HLA-C05:01 -l 10 -inptype 1 -p /tmp/pickpocket_wqefwqaa_input -d /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/PMBEC.lib
# Wed Mar  1 22:45:39 2023
# User: root
# PWD : /opt/blastdb
# Host: Linux 284cb76df344 6.1.12-060112-generic x86_64
# -a       HLA-C05:01           HLA allele
# -l       10                   Peptide length [8-11]
# -inptype 1                    Input type [0] FASTA [1] Peptide
# -p       1                    Use peptide input
# -d       /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/PMBEC.lib Matrix definitions
# Command line parameters set to:
#   [-rdir filename]     /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64 Home directory for NetMHpan
#   [-v]                 0                    Verbose mode
#   [-dirty]             0                    Dirty mode, leave tmp dir+files
#   [-tdir filename]     /tmp                 Temporary directory (Default $$)
#   [-hlapseudo filename] /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_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-C05:01           HLA allele
#   [-f filename]                             File name with input
#   [-w]                 0                    w option for webface
#   [-s]                 0                    Sort output on descending affinity
#   [-p]                 1                    Use peptide input
#   [-l int]             10                   Peptide length [8-11]
#   [-inptype int]       1                    Input type [0] FASTA [1] Peptide
#   [-listMHC]           0                    Print list of alleles included in PickPocket
#   [-c filename]        /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/contact.txt Contacts
#   [-d filename]        /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/PMBEC.lib Matrix definitions
#   [-pow float]         10.000000            Power for scoring function
# Input is in PEPTIDE format

# Peptide length 10
Cannot open file /tmp/970644/0.pep

Traceback (most recent call last):
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 520, in <module>
    Prediction().main()
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 511, in main
    self.commandline_input(args)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 135, in commandline_input
    mhc_scores = mhc_predictor.predict(input.input_protein.as_amino_acid_text())
  File "/opt/iedb/mhc_i/src/seqpredictor.py", line 903, in predict
    scores.append(predictor.predict_sequence(sequence,pred))
  File "/opt/iedb/mhc_i/src/seqpredictor.py", line 418, in predict_sequence
    results = predict_pickpocket(sequence, (allele_name_or_sequence, self.length))
  File "/opt/iedb/mhc_i/src/../method/pickpocket-1.1-executable/pickpocket_1_1_executable/pickpocket_python_interface.py", line 22, in predict_single
    scores = predict_peptide_list(peptide_list, allele_length_pair)
  File "/opt/iedb/mhc_i/src/../method/pickpocket-1.1-executable/pickpocket_1_1_executable/pickpocket_python_interface.py", line 82, in predict_peptide_list
    raise Exception(msg)
Exception: len(peptide_list) != len(scores) -- 10 != 0
# /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/bin/pickpocket_pmbec -a HLA-C05:01 -l 10 -inptype 1 -p /tmp/pickpocket_wqefwqaa_input -d /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/PMBEC.lib
# Wed Mar  1 22:45:39 2023
# User: root
# PWD : /opt/blastdb
# Host: Linux 284cb76df344 6.1.12-060112-generic x86_64
# -a       HLA-C05:01           HLA allele
# -l       10                   Peptide length [8-11]
# -inptype 1                    Input type [0] FASTA [1] Peptide
# -p       1                    Use peptide input
# -d       /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/PMBEC.lib Matrix definitions
# Command line parameters set to:
#   [-rdir filename]     /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64 Home directory for NetMHpan
#   [-v]                 0                    Verbose mode
#   [-dirty]             0                    Dirty mode, leave tmp dir+files
#   [-tdir filename]     /tmp                 Temporary directory (Default $$)
#   [-hlapseudo filename] /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_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-C05:01           HLA allele
#   [-f filename]                             File name with input
#   [-w]                 0                    w option for webface
#   [-s]                 0                    Sort output on descending affinity
#   [-p]                 1                    Use peptide input
#   [-l int]             10                   Peptide length [8-11]
#   [-inptype int]       1                    Input type [0] FASTA [1] Peptide
#   [-listMHC]           0                    Print list of alleles included in PickPocket
#   [-c filename]        /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/contact.txt Contacts
#   [-d filename]        /opt/iedb/mhc_i/method/pickpocket-1.1-executable/pickpocket_1_1_executable/Linux_x86_64/data/PMBEC.lib Matrix definitions
#   [-pow float]         10.000000            Power for scoring function
# Input is in PEPTIDE format

# Peptide length 10
Cannot open file /tmp/970644/0.pep

sh: 1: Cannot fork
No more processes.
No more processes.
No more processes.
No more processes.
No more processes.
No more processes.
No more processes.
No more processes.
sh: 1: Cannot fork
2023-03-01:22:45:39,485 ERROR    [netmhccons_1_1_python_interface.py:75] Error calling netmhccons executable:
/opt/iedb/mhc_i/method/netmhccons-1.1-executable/netmhccons_1_1_executable/netMHCcons -a HLA-B13:02 -length 8 -inptype 1 -f /tmp/netmhccons_r1o1of9g_input
Traceback (most recent call last):
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 520, in <module>
    Prediction().main()
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 511, in main
    self.commandline_input(args)
  File "/opt/iedb/mhc_i/src/predict_binding.py", line 135, in commandline_input
    mhc_scores = mhc_predictor.predict(input.input_protein.as_amino_acid_text())
  File "/opt/iedb/mhc_i/src/seqpredictor.py", line 903, in predict
    scores.append(predictor.predict_sequence(sequence,pred))
  File "/opt/iedb/mhc_i/src/seqpredictor.py", line 479, in predict_sequence
    scores = predict_netmhccons(sequence, (allele_name_or_sequence, self.length))
  File "/opt/iedb/mhc_i/src/../method/netmhccons-1.1-executable/netmhccons_1_1_executable/netmhccons_1_1_python_interface.py", line 22, in predict_sequence
    scores += predict_peptide_list(peptide_list, allele_length_pair)
  File "/opt/iedb/mhc_i/src/../method/netmhccons-1.1-executable/netmhccons_1_1_executable/netmhccons_1_1_python_interface.py", line 76, in predict_peptide_list
    raise Exception(msg)
Exception: Error calling netmhccons executable:
/opt/iedb/mhc_i/method/netmhccons-1.1-executable/netmhccons_1_1_executable/netMHCcons -a HLA-B13:02 -length 8 -inptype 1 -f /tmp/netmhccons_r1o1of9g_input
Making binding predictions on Allele HLA-A*03:01 and Epitope Length 10 with Method SMM - File /pvacseq_example_output/NOT-0044/MHC_Class_I/tmp/NOT-0044.smm.HLA-A*03:01.10.tsv_6001-6200 - Completed
Making binding predictions on Allele HLA-A*03:01 and Epitope Length 10 with Method SMMPMBEC - File /pvacseq_example_output/NOT-0044/MHC_Class_I/tmp/NOT-0044.smmpmbec.HLA-A*03:01.10.tsv_6001-6200
sh: 0: Cannot fork
sh: 1: Cannot fork
sh: 0: Cannot fork
sh: 1: Cannot fork
Making binding predictions on Allele HLA-A*03:01 and Epitope Length 10 with Method SMMPMBEC - File /pvacseq_example_output/NOT-0044/MHC_Class_I/tmp/NOT-0044.smmpmbec.HLA-A*03:01.10.tsv_6001-6200 - Completed
Making binding predictions on Allele HLA-A*03:01 and Epitope Length 11 with Method MHCflurry - File /pvacseq_example_output/NOT-0044/MHC_Class_I/tmp/NOT-0044.MHCflurry.HLA-A*03:01.11.tsv_6001-6200
Making binding predictions on Allele HLA-A*68:02 and Epitope Length 9 with Method MHCflurry - File /pvacseq_example_output/NOT-0044/MHC_Class_I/tmp/NOT-0044.MHCflurry.HLA-A*68:02.9.tsv_4001-4200 - Completed
Making binding predictions on Allele HLA-A*68:02 and Epitope Length 9 with Method MHCnuggetsI - File /pvacseq_example_output/NOT-0044/MHC_Class_I/tmp/NOT-0044.MHCnuggetsI.HLA-A*68:02.9.tsv_4001-4200
susannasiebert commented 1 year ago

This error usually means that your process ran out of memory. It is usually resolved by running on a machine with more memory or running with fewer threads.

erdikilic commented 1 year ago

Hey @susannasiebert. Thanks for your response.

I will add --memory="16g" --memory-swap="4g" into the docker run commend. Do you have any suggestion for memory adjustment. Local PC can support up to 32GB RAM.

Actually, I am running with 1 thread and sometimes getting sh: 0: Cannot fork sh: 1: Cannot fork. Then, I am rerunning and it continues.

susannasiebert commented 1 year ago

We run with 16GB default in our pipeline and that's usually ok unless your data has very long frameshifts. Reducing the --downstream-sequence-length parameter to 200 or 300 can also help with memory.