[Chimera-users] Export idatmType

Eric Pettersen pett at cgl.ucsf.edu
Thu Jan 18 12:49:11 PST 2007


On Jan 17, 2007, at 10:47 PM, Brady Bernard wrote:

> is there a way to do this with --nogui so that i can automate it in  
> a script?
>
> thanks,
> brady

It's pretty easy to make a Python script that opens a file, loops  
through open molecules and then their atoms, and prints our the atom  
identifier and IDATM type to that file.  Here's an example:

import chimera
f = open("types.txt", "w")
for m in chimera.openModels.list(modelTypes=[chimera.Molecule]):
	for a in m.atoms:
		print>>f, a, a.idatmType
f.close()

If you save the above into a file with a ".py" suffix (e.g.  
types.py), then you could save all the types of 1gcn with "chimera -- 
nogui pdb:1gcn types.py", which would create a file named  
"types.txt" (in the same folder as types.py) with the types listed.   
BTW, you need to preserve the indentation of the Python code above --  
it matters to Python.

If you're automating this in a shell script, it may be simpler to  
just print the info to standard output and redirect that into a file,  
rather than open the file in the Python script.  The command would  
then be "chimera --nogui --nostatus pdb:1gcn types.py >  
1gcn_types.txt" (note the "--nostatus" flag so that status messages  
don't get mixed into the output).  The Python script becomes:

import chimera
for m in chimera.openModels.list(modelTypes=[chimera.Molecule]):
	for a in m.atoms:
		print a, a.idatmType

--Eric
> ----- Original Message -----
> From: Eric Pettersen
> To: Brady Bernard
> Cc: Thomas Goddard ; Elaine Meng
> Sent: Tuesday, January 16, 2007 4:40 PM
> Subject: Re: Export idatmType
>
> Hi Brady,
> Tom forwarded your mail to me.  There almost is a way.  In the  
> 1.2318 snapshot, the Render By Attribute tool allows you to save  
> attribute values to a file using that tool's "File->Save  
> Attributes..." menu item (saved in the format that Define Attribute  
> accepts).  So, why "almost"?  The idatmType attribute is screened  
> out of the list of available attributes since it can be expensive  
> to compute the values -- and since you could already select by  
> IDATM type using the regular selection menu.  But now that save  
> exists I will have to improve Render By Attribute so that it can  
> know that idatmType values are strings ahead of time (so it doesn't  
> have to ask for any values to figure that out).
> Anyway, for your purposes it is not too hard to force Render By  
> Attribute to show you idatmType.  First, get the 1.2318 release.   
> Then edit the file <your Chimera>/share/ShowAttr/__init__.py (on a  
> Mac:  Chimera.app/Contents/Resources/share/ShowAttr/__init__.py)  
> and edit line 24.  It will look like this:
>
> 'name': False, 'idatmType': False, 'idatmIsExplicit': False,
>
> change it to:
>
> 'name': False, 'idatmIsExplicit': False,
>
> Save the file and thereafter Render By Attribute should show you  
> the idatmType attribute.
>
> --Eric
>
>> hi tom - is there a quick way to save the atom types from  
>> idatmType to a text/log file along with the atom name or number?
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20070118/0d4ea822/attachment.html>


More information about the Chimera-users mailing list