Biopython And Codeml Module. Error.
1
0
Entering edit mode
12.1 years ago
Biojl ★ 1.7k

Hi, I'm trying to use the codeml biopython module. I tried with my own alignment and tree's files but since it was not working I decided to try the ones that come with PAML, lysozyme_small set.

Loading the .ctl file seems to work fine but when I actually run the model I get a subprocess error that I cannot understand. Any help will be appreciated.

>>> import subprocess
>>> from Bio.Phylo.PAML import codeml
>>> cml = codeml.Codeml()
>>> cml.read_ctl_file("codemlfreeratioMASTER.ctl")
>>> cml.print_options() verbose = 0 CodonFreq = 3 cleandata = 1 fix_blength = None NSsites = 0 fix_omega = 0 clock = 0 ncatG = 8 runmode = 0 fix_kappa = 0 fix_alpha = 1 Small_Diff = 5e-07 method = 0 fix_rho = None Malpha = 0 aaDist = 0 RateAncestor = 1 aaRatefile = dat/jones.dat icode = 0 rho = None alpha = 0.0 seqtype = 1 omega = 0.4 getSE = 0 noisy = 9 Mgene = 0 kappa = 2 model = 1 ndata = None
>>> cml.alignment 'output/lysozymeSmall.nuc'
>>> cml.run() 

Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/usr/local/lib/python2.7/dist-packages/biopython-1.60-py2.7-linux-x86_64.egg/Bio/Phylo/PAML/codeml.py", line 190, in run
            Paml.run(self, ctl_file, verbose, command)   File "/usr/local/lib/python2.7/dist-packages/biopython-1.60-py2.7-linux-x86_64.egg/Bio/Phylo/PAML/_paml.py", line 139, in run
            stdout=subprocess.PIPE)   File "/usr/lib/python2.7/subprocess.py", line 493, in call
            return Popen(*popenargs, **kwargs).wait()   File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
            errread, errwrite)   File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
            raise child_exception OSError: [Errno 2] No such file or directory
biopython paml codeml • 4.4k views
ADD COMMENT
0
Entering edit mode

There is something amiss with your example - the parameter setting part seems to be missing a whole load of commas or something.

ADD REPLY
1
Entering edit mode
12.1 years ago
David W 4.9k

From the trace, subprocess is telling you it can't find the file you want to run.

Is codeml on your $path? If not you can specify a path to the executable with the command argumentent of codeml.run()

ADD COMMENT
0
Entering edit mode

I had id exported, but there was an error there. Thanks!

ADD REPLY

Login before adding your answer.

Traffic: 1920 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6