nanoporetech / megalodon

Megalodon is a research command line tool to extract high accuracy modified base and sequence variant calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference genome/transriptome.
Other
197 stars 30 forks source link

Deal with samtools sort returncode? #304

Closed zhanxw closed 2 years ago

zhanxw commented 2 years ago

Megalodon (2.5.0) does not seem to support samtools in SLURM.

Here are the parts related to the samtools errors:


[10:08:18] Running Megalodon version 2.5.0
DBG 10:08:18 : Command: """/endosome/archive/PCDC/PCDC_Core/xzhan9/nanopore/pipeline-minion/.snakemake/conda/2fab56fd9a051c2154e736d23f079de6/bin/megalodon /archive/PCDC/PCDC_Core/xzhan9/nanopore/MRL26/fast5_pass/b
arcode02 --guppy-config dna_r9.4.1_450bps_fast.cfg --remora-modified-bases dna_r9.4.1_e8 fast 0.0.0 5hmc_5mc CG 0 --outputs basecalls mappings mod_mappings mods --reference /endosome/archive/PCDC/PCDC_Core/xzhan9/n
anopore/reference/GCF_000006765.1_ASM676v1_genomic.fna --processes 56 --haploid --output-directory megalodon25/TIDB270 --overwrite --guppy-server-path /endosome/archive/PCDC/PCDC_Core/xzhan9/nanopore/bin/ont-guppy-
6.1.7/bin/guppy_basecall_server --suppress-progress --sort-mappings --device 0""" --- MainProcess-MainThread megalodon.py:1787
******************** WARNING: "mods" output requested, so "per_read_mods" will be added to outputs. ********************
[10:08:18] Loading guppy basecalling backend
DBG 10:08:19 : Guppy version: "6.1.7" --- MainProcess-MainThread backends.py:938
DBG 10:08:19 : Pyguppy version: "6.1.7" --- MainProcess-MainThread backends.py:939
DBG 10:08:19 : guppy server init command: "/endosome/archive/PCDC/PCDC_Core/xzhan9/nanopore/bin/ont-guppy-6.1.7/bin/guppy_basecall_server -p auto -l megalodon25/TIDB270/guppy_log -c dna_r9.4.1_450bps_fast.cfg --qui
et -x cuda:0" --- MainProcess-MainThread backends.py:1016
DBG 10:08:19 : Found guppy log file: megalodon25/TIDB270/guppy_log/guppy_basecall_server_log-2022-06-28_10-08-19.log --- MainProcess-MainThread backends.py:1032
DBG 10:08:19 : Guppy server started on port ipc:///tmp/8839-8a0d-b29d-549b --- MainProcess-MainThread backends.py:973
DBG 10:08:19 : Connecting to server --- MainProcess-MainThread backends.py:872
DBG 10:08:19 : pyguppy server status: result.success --- MainProcess-MainThread backends.py:909
DBG 10:08:19 : Could not load guppy server configuration state: 'Configurations' --- MainProcess-MainThread backends.py:913
DBG 10:08:22 : init_test_read BasecallingCompleted --- MainProcess-MainThread backends.py:1256
DBG 10:08:33 : Loading Remora model from specs: ['dna_r9.4.1_e8', 'fast', '0.0.0', '5hmc_5mc', 'CG', '0'] --- MainProcess-MainThread backends.py:1123
DBG 10:08:33 : Using 1 thread(s) for ONNX --- MainProcess-MainThread model_util.py:346
DBG 10:08:33 : Remora model ONNX providers: ['CPUExecutionProvider'] --- MainProcess-MainThread model_util.py:356
[10:08:33] Loading reference
******************** WARNING: Samtools test commands return non-zero exit status. Mappings will not be sorted or indexed. ********************
DBG 10:08:34 : MappingTestFail:   sort_returncode: 1   index_returncode: 1
sort_call_stdout:

sort_call_stderr:
samtools sort: failed to read header from "-"

index_call_stdout:
Usage: samtools index [-bc] [-m INT] <in.bam> [out.index]
Options:
  -b       Generate BAI-format index for BAM files [default]
  -c       Generate CSI-format index for BAM files
  -m INT   Set minimum interval size for CSI indices to 2^INT [14]
  -@ INT   Sets the number of threads [none]

index_call_stderr:
 --- MainProcess-MainThread mapping.py:286
DBG 10:08:34 : Using 1 thread(s) for ONNX --- MainProcess-MainThread model_util.py:346
...

The error was also reported in this pull request (https://github.com/nanoporetech/megalodon/pull/302).

marcus1487 commented 2 years ago

Fix in #302 . Thanks @lexming !