Back to Recipes Homepage
recipe picture
Recipe: Atom Tables 1.1
Created by brow42 135
0
Your rating: None

Profile

Name: Atom Tables 1.1
ID: 41664
Created on: Mon, 05/14/2012 - 23:21
Updated on: Tue, 05/15/2012 - 06:42
Description:

Collection of functions to identify donors, acceptors, and polar hydrogens by atom number. Lua 2



Best For


Comments

brow42's picture
User offline. Last seen 10 hours 8 min ago. Offline
Joined: 09/19/2011
Groups: None
New and Improved

This recipe is a child of http://fold.it/portal/recipe/40004 which got unshared.

This is not a recipe that does anything, is a table of data and functions for accessing it. Using the table and functions, you can identify which atom is the first in the side chain; which atoms are donors, acceptors, or polar hydrogens; whether a residue is the first or last residue in a peptide chain; and whether a cysteine has a disulfide bond.

Changelog and API:

* Version 1.1 Brow42 May 14, 2012
*
* CountAtoms renamed to _CountAtoms
* CountAtoms is now a wrapper for structure.GetAtomCount
* GetCount renamed to GetExpectedCount and does not auto-lookup flags
* IsTerminal is now called by the various Get* functions if isFirst = nil
* A small table of nominal atom counts has been added to the top of the file, and the functions
* needed to determine if the AA is bonded also moved to the front and only require this small
* table. This is so if all you need is IsTerminal, you don't need the entire library.

* API (all in the fsl.atom namespace)

* Many functions accept option 2 or 3 boolean arguments, which indicate
* if the segment is the first and/or last segment in a polypeptide.
* The third argument boolean is true if the segment is disulfide bonded.
* These arguments can be replaced by a call to IsTerminal(). If omitted,
* IsTerminal will be called automatically, except for GetExpectedCount,
* which is used to modify the db value.
* Most functions accept either a segment number or AA code as the first argument.

* CountAtoms() and _CountAtoms() are the only useful functions for ligands
* ('M' structure). Other functions will return nil if passed a ligand segment.

* _CountAtoms(number iSeg) -- SlOW manual count all the atoms in the segment. You should use structure.GetAtomCount instead.
* GetExpectedCount(number or string iSeg, isFirst, isLast, isDisulfideBonded) -- total EXPECTED atoms in segment or AA, given flags, default false
* IsTerminal(number iSeg) -- returns bool,bool if start or end of a polypeptide
* GetBackboneHeavyAtoms(number or string iSeg, isFirst, isLast) -- range of atoms on the backbone
* GetSidechainHeavyAtoms(number or string iSeg, isFirst, isLast) -- range of atoms on the sidechain (nil for glycine)
* GetDonorAtoms(number or string iSeg, isFirst, isLast) -- list of donor atoms
* GetAcceptorAtoms(number or string iSeg, isFirst, isLast) -- list of acceptor atoms
* GetPolarHydrogens(number or string iSeg, isFirst, isLast) -- list of polar hydrogen atoms
* _IsDisulfideBonded(number iSeg) -- true if bonded to another cysteine
* _IsTerminalTest(aa,count,disulfide) -- If already called CountAtoms(), don't call IsTerminal(), call this instead.
* _NumberOrCode(number or string iSeg) -- performs a table look up given segment number or AA code.
* Test1() -- Count all atoms, compare with table, perform terminal segment check, for all segments
* Test2(mode) -- Band all atoms of a particular class. mode = sc, bb, donor, polar, acceptor
* db -- Reference table of atom numbers for each class. Should not be accessed directly since bonding changes atom counts.
* atomcount -- table of just the expected total atom counts

Want to try?
Add to Cookbook!
To download recipes to your cookbook, you need to have the game client running.
Parent

none

Children
Authors
Sitemap

Supported by: UW Center for Game Science, UW Department of Computer Science and Engineering, UW Baker Lab, DARPA, NSF, HHMI, Microsoft, and Adobe