chemaxon.marvin.modules
Class MacroMolecule

java.lang.Object
  extended by chemaxon.marvin.modules.MacroMolecule

public class MacroMolecule
extends java.lang.Object

The MacroMolecule class provides the internal representation of biochemical data stored in PDB files. One instance of this class is capable of storing an arbitrary number of protein chains, nucleic acid chains, small molecule compounds (e.g. ligands), and it also represents water molecules, ions.

Since:
Marvin 4.0.2
Version:
4.0.2, 28-Oct-2005
Author:
Miklos Vargyas

Nested Class Summary
 class MacroMolecule.BadMoleculeException
          The exception class thrown by methods of the MacroMolecule class.
static class MacroMolecule.BondMaker
           
 class MacroMolecule.Component
          The Component class represents any kind of molecular structure connected by covalent bonds.
 class MacroMolecule.ComponentIterator
          Enumerates all components of the MacroMolecule.
 class MacroMolecule.Compound
          The Compound class partially represents the COMPND record in the PDB file.
 class MacroMolecule.HeteroComponent
          This class specializes the Component class to represent ligands, ions and water molecules.
 class MacroMolecule.NucleicAcid
           
 class MacroMolecule.Polymer
          The Polymer class represents nucleic acid and amino acid chains.
 class MacroMolecule.Protein
          Represent a protein chain.
 class MacroMolecule.Water
           
 
Constructor Summary
MacroMolecule(int modelCount, java.util.Hashtable chains, int[] residueCountPerChain, int[] atomCountPerChain, java.util.Hashtable heteroGroups, int[] atomCountPerHeteroGroup)
          Creates an empty MacroMoleculeobject.
 
Method Summary
 void addAtom(int serial, java.lang.String name, char altLoc, java.lang.String resName, java.lang.String chainId, int resSeqNo, char iCode, float x, float y, float z, java.lang.String element, int charge, boolean hetero, float bFactor)
           
 void addAuthor(java.lang.String author)
           
 void addBond(int[] atomIndex)
           
 void addChain(java.lang.String chainId)
           
 void addCompound(java.lang.String molName)
           
 void addExpData(java.lang.String expData)
           
 void addHeader(java.lang.String classification, java.lang.String depDate, java.lang.String idCode)
           
 void addHelix(int serNum, java.lang.String helixId, java.lang.String chainId, int initSeqNum, char initICode, int endSeqNum, char endICode, int helixClass, int length)
           
 void addHet(java.lang.String hetId, java.lang.String chainId, int seqNum, char iCode, int numHetAtoms)
           
 void addHetNam(java.lang.String hetId, java.lang.String name)
           
 void addKeywords(java.lang.String keywords)
           
 void addMolId(int molId)
           
 void addMolName(java.lang.String molName)
           
 void addSeqNoRange(java.lang.String chainId, int seqBegin, int seqEnd)
           
 void addSeqres(int residueTypeId)
           
 boolean addSeqres(java.lang.String chainId, int residueCount, java.lang.String resName)
           
 void addSheet(int serNum, java.lang.String sheetId, java.lang.String chainId, int initSeqNum, char initICode, int endSeqNum, char endICode, int sense, int numStrands)
           
 void addSource(java.lang.String source)
           
 void addTer()
           
 void addTitle(java.lang.String title)
           
 void addTurn(int seq, java.lang.String sheetId, java.lang.String chainId, int initSeqNum, char initICode, int endSeqNum, char endICode)
           
 void addWater(java.lang.String hetId, int oCount, int hCount)
           
 void beginModel(int serialNumber)
           
 void end(int hydrogenizeMode, boolean fixBondTypes)
           
 void endModel()
           
protected  int findParentAtom(float x, float y, float z)
           
 int getAtomCount()
           
 java.lang.String getAuthor()
           
 MacroMolecule.Polymer getChain(java.lang.String chainId)
           
 int getDefinedAtomCount()
           
 java.lang.String getExpData()
           
 java.lang.String getHeader()
           
 int getHydrogenCount()
           
 MacroMolecule.ComponentIterator getIterator()
           
 java.lang.String getKeywords()
           
 java.lang.String getName()
           
 java.lang.String getSource()
           
 java.lang.String getTitle()
           
 boolean hasWater()
           
 void toMolecule(Molecule mol)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MacroMolecule

public MacroMolecule(int modelCount,
                     java.util.Hashtable chains,
                     int[] residueCountPerChain,
                     int[] atomCountPerChain,
                     java.util.Hashtable heteroGroups,
                     int[] atomCountPerHeteroGroup)
Creates an empty MacroMoleculeobject.

Method Detail

addHeader

public void addHeader(java.lang.String classification,
                      java.lang.String depDate,
                      java.lang.String idCode)

addTitle

public void addTitle(java.lang.String title)

addSource

public void addSource(java.lang.String source)

addKeywords

public void addKeywords(java.lang.String keywords)

addExpData

public void addExpData(java.lang.String expData)

addAuthor

public void addAuthor(java.lang.String author)

addMolId

public void addMolId(int molId)
              throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addMolName

public void addMolName(java.lang.String molName)
                throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addCompound

public void addCompound(java.lang.String molName)
                 throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addChain

public void addChain(java.lang.String chainId)
              throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addSeqNoRange

public void addSeqNoRange(java.lang.String chainId,
                          int seqBegin,
                          int seqEnd)
                   throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addSeqres

public boolean addSeqres(java.lang.String chainId,
                         int residueCount,
                         java.lang.String resName)
                  throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addSeqres

public void addSeqres(int residueTypeId)
               throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addHet

public void addHet(java.lang.String hetId,
                   java.lang.String chainId,
                   int seqNum,
                   char iCode,
                   int numHetAtoms)

addHetNam

public void addHetNam(java.lang.String hetId,
                      java.lang.String name)

addHelix

public void addHelix(int serNum,
                     java.lang.String helixId,
                     java.lang.String chainId,
                     int initSeqNum,
                     char initICode,
                     int endSeqNum,
                     char endICode,
                     int helixClass,
                     int length)

addSheet

public void addSheet(int serNum,
                     java.lang.String sheetId,
                     java.lang.String chainId,
                     int initSeqNum,
                     char initICode,
                     int endSeqNum,
                     char endICode,
                     int sense,
                     int numStrands)

addTurn

public void addTurn(int seq,
                    java.lang.String sheetId,
                    java.lang.String chainId,
                    int initSeqNum,
                    char initICode,
                    int endSeqNum,
                    char endICode)

beginModel

public void beginModel(int serialNumber)
                throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

endModel

public void endModel()
              throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

addAtom

public void addAtom(int serial,
                    java.lang.String name,
                    char altLoc,
                    java.lang.String resName,
                    java.lang.String chainId,
                    int resSeqNo,
                    char iCode,
                    float x,
                    float y,
                    float z,
                    java.lang.String element,
                    int charge,
                    boolean hetero,
                    float bFactor)
             throws MacroMolecule.BadMoleculeException
Throws:
MacroMolecule.BadMoleculeException

findParentAtom

protected int findParentAtom(float x,
                             float y,
                             float z)

addBond

public void addBond(int[] atomIndex)

addWater

public void addWater(java.lang.String hetId,
                     int oCount,
                     int hCount)

hasWater

public boolean hasWater()

addTer

public void addTer()

end

public void end(int hydrogenizeMode,
                boolean fixBondTypes)

getIterator

public MacroMolecule.ComponentIterator getIterator()

getName

public java.lang.String getName()

getHeader

public java.lang.String getHeader()

getTitle

public java.lang.String getTitle()

getSource

public java.lang.String getSource()

getKeywords

public java.lang.String getKeywords()

getExpData

public java.lang.String getExpData()

getAuthor

public java.lang.String getAuthor()

getChain

public MacroMolecule.Polymer getChain(java.lang.String chainId)

getAtomCount

public int getAtomCount()

getDefinedAtomCount

public int getDefinedAtomCount()

getHydrogenCount

public int getHydrogenCount()

toMolecule

public void toMolecule(Molecule mol)