Biopython And Codeml Module. Error.
1
0
Entering edit mode
8.4 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.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 • 3.3k views
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.

1
Entering edit mode
8.4 years ago
David W 4.8k

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()

0
Entering edit mode

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