| 2 | | == Resources == |
| 3 | | |
| 4 | | * [http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/ Programmer's Guide] (http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/) |
| 5 | | * [http://plato.cgl.ucsf.edu/trac/chimera/wiki/Scripts Example scripts] (http://plato.cgl.ucsf.edu/trac/chimera/wiki/Scripts) |
| 6 | | * IDLE (Tools > General Controls): help(object), dir(object) |
| 7 | | * [http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev Chimera developer mailing list] (http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev) |
| 8 | | * Source code: |
| 9 | | * [http://plato.cgl.ucsf.edu/trac/chimera/browser subversion browser] (http://plato.cgl.ucsf.edu/trac/chimera/browser) |
| 10 | | * [http://www.cgl.ucsf.edu/chimera/sourcecode.html download] (http://www.cgl.ucsf.edu/chimera/sourcecode.html) |
| 11 | | * C++ headers are available in distributions (see $CHIMERA/include) |
| 12 | | * Python source code is included with distributions (see $CHIMERA/share) |
| 13 | | * [http://docs.python.org/ Python documentation] (http://docs.python.org/) |
| 14 | | * [http://www.scipy.org/Numpy_Example_List_With_Doc Numpy examples] (http://www.scipy.org/Numpy_Example_List_With_Doc) |
| 15 | | |
| 16 | | == Chimera Molecular Data == |
| 17 | | |
| 18 | | {{{ |
| 19 | | # a list of open models |
| 20 | | models = chimera.openModels.list() |
| 21 | | |
| 22 | | # restrict list to Molecules |
| 23 | | molecules = chimera.openModels.list(modelTypes=[chimera.Molecule]) |
| 24 | | |
| 25 | | # a Molecule's residues, atoms, or bonds |
| 26 | | if len(molecules): |
| 27 | | r = molecules[0].residues |
| 28 | | a = molecules[0].atoms |
| 29 | | b = molecules[0].bonds |
| 30 | | }}} |
| 31 | | |
| 32 | | === Residues === |
| 33 | | |
| 34 | | * type: LYS, HEM, etc. |
| 35 | | * id.position / id.chainId / id.insertionCode: number / chain ID / insertion code |
| 36 | | * molecule: parent Molecule |
| 37 | | * atoms: list of atoms |
| 38 | | * atomsMap: dict of {atom-name: [list of atoms]} |
| 39 | | * isHelix / isStrand: in helix / strand |
| 40 | | |
| 41 | | === Atoms === |
| 42 | | |
| 43 | | * name: name |
| 44 | | * coord() / xformCoord(): untransformed / transformed coordinates |
| 45 | | * residue / molecule: parent Residue / Molecule |
| 46 | | * bonds: list of bonds |
| 47 | | * neighbors: list of bonded atoms |
| 48 | | * primaryBonds() / primaryNeighbors(): same as above but only primary altlocs |
| 49 | | * bondsMap: dict of {bonded-atom: bond} |
| 50 | | * color: Color |
| 51 | | * display: True if shown |
| 52 | | * drawMode: one of chimera.Atom.X with X being Dot, Sphere, EndCap, or Ball |
| 53 | | * element: chemical element (type chimera.Element, settable with string or number) |
| 54 | | * label: label shown in graphics window |
| 55 | | * radius: VdW radius |
| 56 | | |
| 57 | | === Bonds === |
| 58 | | |
| 59 | | * atoms: 2-tuple of atoms |
| 60 | | * otherAtom(a): [a is one of the bond's atoms] other atom in bond |
| 61 | | * drawMode: one of chimera.Bond.X with X being Wire or Stick |
| 62 | | * label: label shown in graphics window |
| 63 | | * molecule: parent Molecule |
| 64 | | * length(): length |
| 65 | | |
| 66 | | === Molecular Measurements === |
| 67 | | |
| 68 | | chimera module functions use Points, which are returned by Atom's coord() or xformCoord() methods |
| 69 | | * distance / sqdistance |
| 70 | | * also: a1.coord().[sq]distance(a2.coord()) [similar for xformCoord] |
| 71 | | * angle (in degrees) |
| 72 | | * dihedral (in degrees) |
| 73 | | |
| 74 | | === Molecular Editing === |
| 75 | | |
| 76 | | Look in {{{$CHIMERA/share/BuildStructure/__init__.py}}} for examples of creating new molecules and residues. |
| 77 | | |
| 78 | | Using the {{{chimera.molEdit}}} module: |
| 79 | | * addAtom |
| 80 | | * if adding in bulk, make sure to specify optional serialNumber keyword |
| 81 | | * addBond |
| 82 | | * addDihedralAtom -- add atom given a bond length / angle / dihedral |
| 83 | | |
| 84 | | === Setting or Querying Selections === |
| 85 | | |
| 86 | | Using the {{{chimera.selection}}} module: |
| 87 | | * currentAtoms / currentBonds / currentResidues / currentMolecules: currently selected Atoms / Bonds / Residues / Molecules |
| 88 | | * setCurrent: set current selection to given items |
| 89 | | * addCurrent / addImpliedCurrent: add given items to current selection |
| 90 | | * the "implied" version also selects endpoint Atoms of added Bonds and connecting Bonds of added Atoms |
| 91 | | * removeCurrent: remove items from current selection, if present |
| 92 | | |
| 93 | | === Miscellaneous === |
| 94 | | |
| 95 | | * chimera.runCommand: execute any command-line command (arg is a string) |
| 96 | | * direct Python equivalent usually in Midas module |
| 97 | | * chimera.colorTable module: |
| 98 | | * getColorByName: get a Color by name |
| 99 | | * !OpenSave module: |
| 100 | | * osOpen: open a file or HTTP URL, with or without compression |
| 101 | | * chimera.extension module |
| 102 | | * manager.instances: running dialogs listed at end of Tools menu |
| | 2 | * [wiki:ChimeraProgrammingResources Programming resources], including commonly used modules for access to molecular data attributes |