[Chimera-users] Match->Align command line option?
Eric Pettersen
pett at cgl.ucsf.edu
Wed Sep 12 14:10:51 PDT 2012
On Sep 12, 2012, at 11:16 AM, Chetanya Pandya wrote:
> Hello,
>
> I want to superimpose multiple structure sets and get the corresponding multiple sequence alignments using Chimera. I've been using the Match->Align option from the Tools menu. Now, I want to automate the process using the Python interface.
>
> Unfortunately, I'm unable to find a command line option which does this. Can you help me out with this?
Hi Chetanya,
It's a little ambiguous if you are asking about a command version of Match->Align, or how to call it from Python. The issue is moot though since there currently is no command version of Match->Align, so you have to call it from Python! I don't know how familiar you are with Python or programming with Python, but the Chimera Programmer's Guide has some info to help.
http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/index.html
If you don't know Python at all, follow the link in the Guide to the Python Tutorial and work through that, or at least the first few sections of that. Then for some Chimera-specific info, look at some of the Examples and the "basic primer" linked on the page.
Assuming you've written a script that has gotten to the stage where the structures are already open and superimposed, here's the info you'll need to use the Match->Align API:
1) Getting the list of open molecules:
from chimera import openModels, Molecule
mols = openModels.list(modelTypes=[Molecule])
2) Getting the list of chains to use. This example code assumes they're chain A:
chains = [m.sequence('A') for m in mols]
3) Call Match->Align to create the alignment.
from StructSeqAlign import makeAlignment
mav = makeAlignment(chains)
Note that the makeAlignment call will only return the Multalign Viewer instance starting with tomorrow's daily build (i.e. I made that change today!). Also, the makeAlignment call has a lot of optional arguments to change the parameters used in computing the alignment (e.g. cutoff, iteration, reference chain). Look at <your Chimera>/share/StructSeqAlign/__init__.py to see what the options are if you need to change the default behavior. (On a Mac, "<your Chimera>" is Chimera.app/Contents/Resources).
4) Save the alignment to a FASTA format file (named "x.fa") and Quit the MAV instance:
f = open("x.fa", "w")
from MultAlignViewer.formatters.saveFASTA import save
save(f, mav, mav.seqs, mav.fileMarkups)
f.close()
mav.Quit()
I hope this helps. Since this is pretty Python-intensive, I set followups to go to the chimera-dev mailing list rather than chimera-users.
--Eric
Eric Pettersen
UCSF Computer Graphics Lab
http://www.cgl.ucsf.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20120912/e56a0917/attachment.html>
More information about the Chimera-users
mailing list