Hi! Thank you for your efforts in developing and maintaining CheckM. I'm attempting to run dRep which utilizes CheckM for the filtering step. However I'm running into issues with CheckM failing. I've looked through the dRep and CheckM log files and determined that the error is arising during the pplacer step, but I'm not able to figure out what the error is or how to fix it. I've looked through the other issues on this page and haven't found a solution.
I installed dRep using conda and used checkm data setRoot to direct it to the directory containing the CheckM database. I also ran conda list to check the packages installed and confirmed that I have the following packages installed:
- checkm-genome: 1.2.2
- hmmer: 3.4
- pplacer: 1.1.alpha19
- prodigal: 2.6.3
However, when I attempt to run checkm test ~/checkm_test_results, I encounter the following error:
[2024-06-28 13:46:01] INFO: CheckM v1.2.2
[2024-06-28 13:46:01] INFO: checkm test /nas/longleaf/home/prisca/checkm_test_results
[2024-06-28 13:46:01] INFO: CheckM data: data/reference/CheckM
[2024-06-28 13:46:01] INFO: [CheckM - Test] Processing E.coli K12-W3310 to verify operation of CheckM.
[2024-06-28 13:46:01] INFO: [Step 1]: Verifying tree command.
[2024-06-28 13:46:01] INFO: [CheckM - tree] Placing bins in reference genome tree.
[2024-06-28 13:46:01] INFO: Identifying marker genes in 1 bins with 1 threads:
Finished processing 1 of 1 (100.00%) bins.
[2024-06-28 13:46:14] INFO: Saving HMM info to file.
[2024-06-28 13:46:14] INFO: Calculating genome statistics for 1 bins with 1 threads:
Finished processing 1 of 1 (100.00%) bins.
[2024-06-28 13:46:14] INFO: Extracting marker genes to align.
[2024-06-28 13:46:14] INFO: Parsing HMM hits to marker genes:
Finished parsing hits for 1 of 1 (100.00%) bins.
[2024-06-28 13:46:14] INFO: Extracting 43 HMMs with 1 threads:
Finished extracting 43 of 43 (100.00%) HMMs.
[2024-06-28 13:46:15] INFO: Aligning 43 marker genes with 1 threads:
Finished aligning 43 of 43 (100.00%) marker genes.
[2024-06-28 13:46:16] INFO: Reading marker alignment files.
[2024-06-28 13:46:16] INFO: Concatenating alignments.
[2024-06-28 13:46:16] INFO: Placing 1 bins into the genome tree with pplacer (be patient).
[2024-06-28 13:47:30] INFO: { Current stage: 0:01:28.584 || Total: 0:01:28.584 }
Unexpected error: <class 'ValueError'>
Traceback (most recent call last):
File "/users/p/r/prisca/miniconda3/envs/drep/bin/checkm", line 856, in
checkmParser.parseOptions(args)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/main.py", line 1031, in parseOptions
self.test(options)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/main.py", line 940, in test
verifyEcoli.run(self, options.output_dir)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/test/test_ecoli.py", line 67, in run
self.verifyTree(options.output_dir)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/test/test_ecoli.py", line 127, in verifyTree
binStats = ResultsParser(None).parseBinStats(outdir, DefaultValues.BIN_STATS_PHYLO_OUT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/resultsParser.py", line 155, in parseBinStats
binStats[lineSplit[0]] = ast.literal_eval(lineSplit[1])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 112, in literal_eval
return _convert(node_or_string)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 101, in _convert
return dict(zip(map(_convert, node.keys),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 111, in _convert
return _convert_signed_num(node)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 85, in _convert_signed_num
return _convert_num(node)
^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 76, in _convert_num
_raise_malformed_node(node)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 73, in _raise_malformed_node
raise ValueError(msg + f': {node!r}')
ValueError: malformed node or string on line 1: <ast.Call object at 0x7ff462a10050>
I've increased the memory up to 256gb and got the same output, so I'm confident it's not a memory issue which leaves me pretty stumped on what to try next. Thanks for any suggestions you might have!
Hi! Thank you for your efforts in developing and maintaining CheckM. I'm attempting to run dRep which utilizes CheckM for the filtering step. However I'm running into issues with CheckM failing. I've looked through the dRep and CheckM log files and determined that the error is arising during the pplacer step, but I'm not able to figure out what the error is or how to fix it. I've looked through the other issues on this page and haven't found a solution.
I installed dRep using conda and used
checkm data setRootto direct it to the directory containing the CheckM database. I also ranconda listto check the packages installed and confirmed that I have the following packages installed:However, when I attempt to run
checkm test ~/checkm_test_results, I encounter the following error:[2024-06-28 13:46:01] INFO: CheckM v1.2.2
[2024-06-28 13:46:01] INFO: checkm test /nas/longleaf/home/prisca/checkm_test_results
[2024-06-28 13:46:01] INFO: CheckM data: data/reference/CheckM
[2024-06-28 13:46:01] INFO: [CheckM - Test] Processing E.coli K12-W3310 to verify operation of CheckM.
[2024-06-28 13:46:01] INFO: [Step 1]: Verifying tree command.
[2024-06-28 13:46:01] INFO: [CheckM - tree] Placing bins in reference genome tree.
[2024-06-28 13:46:01] INFO: Identifying marker genes in 1 bins with 1 threads:
Finished processing 1 of 1 (100.00%) bins.
[2024-06-28 13:46:14] INFO: Saving HMM info to file.
[2024-06-28 13:46:14] INFO: Calculating genome statistics for 1 bins with 1 threads:
Finished processing 1 of 1 (100.00%) bins.
[2024-06-28 13:46:14] INFO: Extracting marker genes to align.
[2024-06-28 13:46:14] INFO: Parsing HMM hits to marker genes:
Finished parsing hits for 1 of 1 (100.00%) bins.
[2024-06-28 13:46:14] INFO: Extracting 43 HMMs with 1 threads:
Finished extracting 43 of 43 (100.00%) HMMs.
[2024-06-28 13:46:15] INFO: Aligning 43 marker genes with 1 threads:
Finished aligning 43 of 43 (100.00%) marker genes.
[2024-06-28 13:46:16] INFO: Reading marker alignment files.
[2024-06-28 13:46:16] INFO: Concatenating alignments.
[2024-06-28 13:46:16] INFO: Placing 1 bins into the genome tree with pplacer (be patient).
[2024-06-28 13:47:30] INFO: { Current stage: 0:01:28.584 || Total: 0:01:28.584 }
Unexpected error: <class 'ValueError'>
Traceback (most recent call last):
File "/users/p/r/prisca/miniconda3/envs/drep/bin/checkm", line 856, in
checkmParser.parseOptions(args)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/main.py", line 1031, in parseOptions
self.test(options)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/main.py", line 940, in test
verifyEcoli.run(self, options.output_dir)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/test/test_ecoli.py", line 67, in run
self.verifyTree(options.output_dir)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/test/test_ecoli.py", line 127, in verifyTree
binStats = ResultsParser(None).parseBinStats(outdir, DefaultValues.BIN_STATS_PHYLO_OUT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/site-packages/checkm/resultsParser.py", line 155, in parseBinStats
binStats[lineSplit[0]] = ast.literal_eval(lineSplit[1])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 112, in literal_eval
return _convert(node_or_string)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 101, in _convert
return dict(zip(map(_convert, node.keys),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 111, in _convert
return _convert_signed_num(node)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 85, in _convert_signed_num
return _convert_num(node)
^^^^^^^^^^^^^^^^^^
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 76, in _convert_num
_raise_malformed_node(node)
File "/users/p/r/prisca/miniconda3/envs/drep/lib/python3.12/ast.py", line 73, in _raise_malformed_node
raise ValueError(msg + f': {node!r}')
ValueError: malformed node or string on line 1: <ast.Call object at 0x7ff462a10050>
I've increased the memory up to 256gb and got the same output, so I'm confident it's not a memory issue which leaves me pretty stumped on what to try next. Thanks for any suggestions you might have!