CheckM data file location?

226 views
Skip to first unread message

helen...@gmail.com

unread,
Aug 8, 2017, 7:45:07 PM8/8/17
to BinSanity
Hi Elaina, 

I'm using BinSanity to bin some metagenomes, and I've run into a bug with CheckM in the binsanity-wf workflow. It hangs up in the CheckM stage, and interrupting the process gets a couple of messages, including:


File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/defaultValues.py", line 29, in DefaultValues

__DBM = DBManager()

File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/checkmData.py", line 114, in __init__

if not self.setRoot():

File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/checkmData.py", line 177, in setRoot

path = self.confirmPath(path=path)

File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/checkmData.py", line 199, in confirmPath

path = raw_input("Where should CheckM store it's data?\n" \





Is it missing an output flag? or something else?


Here is the code to reproduce the error in the example data:

Binsanity-wf -f . -l igm.fa -p -10 -c Infant_gut_assembly.cov.x100.lognorm 


Thanks, 
Helen

Elaina Graham

unread,
Aug 9, 2017, 4:17:08 PM8/9/17
to helen...@gmail.com, BinSanity
Hi Helen,

This appears to be an issue in CheckM. So what I would try on the test dataset is this to try and pinpoint the issue.

First lets try and see if it is related to Binsanity or CheckM, so lets run:

 Binsanity -f . -l igm.fa -p -10 -c Infant_gut_assembly.cov.x100.lognorm  -o IGM-TEST

This will produce a file called IGM-TEST with the bins produced from binsanity. 
Next you'll want to check if CheckM is working. So run:

checkm lineage_wf -x fna -t [Enter in how many threads] IGM-TEST IGM-Checkm-results > igm-checkM.out

Let me know if those two things work and we will troubleshoot from there.

Thanks,
Elaina

--
You received this message because you are subscribed to the Google Groups "BinSanity" group.
To unsubscribe from this group and stop receiving emails from it, send an email to binsanity+unsubscribe@googlegroups.com.
To post to this group, send email to bins...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/binsanity/e4c4dd65-ca41-4cd7-a396-788827b3e829%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Helen Bermudez

unread,
Aug 9, 2017, 7:17:42 PM8/9/17
to Elaina Graham, BinSanity
Hi Elaina, 

So the first part (binsanity alone) works fine: the bins output into IGM-TEST. The same hangup happened with the second line- same error. 
On a whim, I typed “." and hit return to offer it a response about where to put its files (even though no prompt appears), and it ran- but with new errors! Seems to be missing some file. Full context below. But it’s probably needing to have me run hmmer earlier in the CheckM workflow. I’ll dig in to that and see. 

Then, I re-ran the checkm command again and it didn’t fail. So…. once it’s specified, it’s uses that location? Maybe some quirk of updating hmmer solved that part?

So, binsanity-wf still throws errors for the example, but now it’s something more complex, and may be on my end.

-Helen
(P.S. Say hi to John for me! Hope all is well in lab.)


helen$ checkm lineage_wf -x fna -t 4 IGM-TEST IGM-Checkm-results > igm-checkM.out
.

*******************************************************************************
 [CheckM - tree] Placing bins in reference genome tree.
*******************************************************************************

  Identifying marker genes in 22 bins with 4 threads:
Process Process-4:ssing 0 of 22 (0.00%) bins.
Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerGeneFinder.py", line 122, in __processBin
    hmmModelFile = markerSetParser.createHmmModelFile(binId, markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 318, in createHmmModelFile
    markerFileType = self.markerFileType(markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 418, in markerFileType
    with open(markerFile, 'r') as f:
IOError: [Errno 2] No such file or directory: '/home/ubuntu/BinSanity/example/hmms/phylo.hmm'
Process Process-2:
Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerGeneFinder.py", line 122, in __processBin
    hmmModelFile = markerSetParser.createHmmModelFile(binId, markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 318, in createHmmModelFile
    markerFileType = self.markerFileType(markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 418, in markerFileType
    with open(markerFile, 'r') as f:
IOError: [Errno 2] No such file or directory: '/home/ubuntu/BinSanity/example/hmms/phylo.hmm'
Process Process-5:
Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerGeneFinder.py", line 122, in __processBin
    hmmModelFile = markerSetParser.createHmmModelFile(binId, markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 318, in createHmmModelFile
    markerFileType = self.markerFileType(markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 418, in markerFileType
    with open(markerFile, 'r') as f:
IOError: [Errno 2] No such file or directory: '/home/ubuntu/BinSanity/example/hmms/phylo.hmm'
Process Process-3:
Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/home/ubuntu/anaconda2/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerGeneFinder.py", line 122, in __processBin
    hmmModelFile = markerSetParser.createHmmModelFile(binId, markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 318, in createHmmModelFile
    markerFileType = self.markerFileType(markerFile)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/markerSets.py", line 418, in markerFileType
    with open(markerFile, 'r') as f:
IOError: [Errno 2] No such file or directory: '/home/ubuntu/BinSanity/example/hmms/phylo.hmm'

  Saving HMM info to file.

  Calculating genome statistics for 22 bins with 4 threads:
    Finished processing 22 of 22 (100.00%) bins.

  Extracting marker genes to align.
  [Error] Models must be parsed before identifying HMM hits.
Traceback (most recent call last):
  File "/home/ubuntu/anaconda2/bin/checkm", line 712, in <module>
    checkmParser.parseOptions(args)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/main.py", line 1244, in parseOptions
    self.tree(options)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/main.py", line 156, in tree
    os.path.join(options.out_folder, 'storage', 'tree')
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/hmmerAligner.py", line 104, in makeAlignmentToPhyloMarkers
    resultsParser.parseBinHits(outDir, hmmTableFile, False, bIgnoreThresholds, evalueThreshold, lengthThreshold)
  File "/home/ubuntu/anaconda2/lib/python2.7/site-packages/checkm/main.py", line 1205, in parseOptions
    if options.bVerbose:
AttributeError: 'Namespace' object has no attribute 'bVerbose'

Elaina Graham

unread,
Aug 10, 2017, 11:46:23 AM8/10/17
to Helen Bermudez, BinSanity
Hi Helen,

So I think this is a CheckM error. From what I can tell it isn't finding the phylo.hmm file. 

So looking at their install page, if you have pip installed checkm-genome then try running 'sudo checkm data update'. 

This should install the precalculated data files for CheckM. See if that works and let me know!

Regards,

Elaina

Helen Bermudez

unread,
Aug 16, 2017, 1:28:31 PM8/16/17
to Elaina Graham, BinSanity
Hi Elaina, 
Thanks again for troubleshooting. It is/was a checkM error, due to a non-standard install process. I re-installed it, gave it its paths for the data and it was able to do the checkM process. Later, I ran into another issue with dendropy, but troubleshooting with the individual programs seems to be working now. 
Best, 
Helen
Message has been deleted

edgraham

unread,
Aug 19, 2017, 1:33:40 PM8/19/17
to BinSanity, helen...@gmail.com
Hi Helen,

Glad to hear it is all up and running! Let me know if there is anything else I can help with!

Regards,
Elaina
Reply all
Reply to author
Forward
0 new messages