Ok let me try and see whether my understanding will work or not. If not then i will again click you. Thanks
As i am trying to do more work in Multiple sequence alignment using clustalw wrapper in biopython, i am wondering how can i pass parameters through clustalcommandline which i fail to do repeatedly.
Parameters in details like :
- Gap open penalty, Gap extension penalty, no end gap(yes, no), gap distance, weight matrix(blosum, pam etc), type (DNA,protein) and other optional parameters.
Right now i am working on default alignment settings provided by clustalw. As default settings are not fulfilling my interest, i am more keen in adding parameters in given below lines.
import sys, subprocess
from Bio import AlignIO
from Bio.Align.Applications import ClustalwCommandline
cline = ClustalwCommandline("clustalw",
infile="opuntia.fasta")
child = subprocess.call(str(cline),
shell=(sys.platform!="win32"))
Moreover, i will be more pleased if you guys will explain how can i know the inputted fasta file is of nucleotide,DNA or protein.
Thanks for your interest
1 answer
I didn't test this, but it all gets a lot clearer if you look at the source of Bio/Align/Applications/_Clustalw.py
- Gap open penalty:
-gapopen - Gap extension penalty:
-gapext - no end gap(yes, no):
-endgaps - gap distance:
-gapdist - weight matrix(blosum, pam etc):
-matrix["BLOSUM", "PAM", "GONNET", "ID"] - type (DNA,protein):
-type
note: if you use ipython, you can look at the code of a function easily, just type ClustalwCommandline??
In any case, notice that you can access all these options after having created a wrapper for the clustalw command line. For example:
>>> c = ClustalwCommandline(type='dna')
>>> dir(c)
['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__',
'__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__setattr__', '__str__', '__weakref__', '_check_value', '_clear_parameter',
'_get_parameter', '_validate', 'align', 'bootlabels', 'bootstrap', 'case', 'check',
'clustering', 'convert', 'dnamatrix', 'endgaps', 'fullhelp', 'gapdist', 'gapext', 'gapopen',
'helixendin', 'helixendout', 'helixgap', 'help', 'hgapresidues', 'infile', 'iteration',
'kimura', 'ktuple', 'loopgap', 'matrix', 'maxdiv', 'maxseqlen', 'negative', 'newtree',
'newtree1', 'newtree2', 'nohgap', 'nopgap', 'nosecstr1', 'nosecstr2', 'noweights', 'numiter',
'options', 'outfile', 'outorder', 'output', 'outputtree', 'pairgap', 'parameters', 'profile',
'profile1', 'profile2', 'program_name', 'pwdnamatrix', 'pwgapext', 'pwgapopen', 'pwmatrix',
'quicktree', 'quiet', 'range', 'score', 'secstrout', 'seed', 'seqno_range', 'seqnos',
'sequences', 'set_parameter', 'stats', 'strandendin', 'strandendout', 'strandgap',
'terminalgap', 'topdiags', 'tossgaps', 'transweight', 'tree', 'type', 'usetree', 'usetree1',
'usetree2', 'window']
>>> c.gapopen = -2
>>> print c
clustalw -type=dna -gapopen=-2
you are welcome... I don't want to be silly, but please consider voting up the answers that you find useful, even if you don't want to accept them :-)
Can you answer my below query about inputted fasta file.
I think you should ask that as a separate question. In principle, neither clustalw nor Bio.Align.Applications from Biopython have tools to determine whether a sequence is protein or dna.
Okei i will do that.
Also try typing help(c) at the python prompt to find out more about the command line wrapper object you've just created.
Log in to answer this question.