org.jmol.modelsetbio
Class AminoPolymer

java.lang.Object
  extended by org.jmol.modelset.Polymer
      extended by org.jmol.modelsetbio.BioPolymer
          extended by org.jmol.modelsetbio.AlphaPolymer
              extended by org.jmol.modelsetbio.AminoPolymer

public class AminoPolymer
extends AlphaPolymer


Field Summary
private  boolean hasOAtoms
           
private static float maxHbondAlphaDistance
           
private static float maxHbondAlphaDistance2
           
private static float minimumHbondDistance2
           
private static double QConst
           
 
Fields inherited from class org.jmol.modelsetbio.AlphaPolymer
CODE_BETA_SHEET, CODE_LEFT_HELIX, CODE_LEFT_TURN, CODE_NADA, CODE_RIGHT_HELIX, CODE_RIGHT_TURN, TAG_HELIX, TAG_NADA, TAG_SHEET, TAG_TURN
 
Fields inherited from class org.jmol.modelsetbio.BioPolymer
bsSelectedMonomers, model, monomerCount, monomers
 
Fields inherited from class org.jmol.modelset.Polymer
leadAtomIndices, leadMidpoints, leadPoints, sheetPoints, type, TYPE_AMINO, TYPE_CARBOHYDRATE, TYPE_NUCLEIC, TYPE_OTHER, wingVectors
 
Constructor Summary
AminoPolymer(Monomer[] monomers)
           
 
Method Summary
private  void bondAminoHydrogen(AminoMonomer source, int indexDonor, javax.vecmath.Point3f hydrogenPoint, java.util.BitSet bsA, java.util.BitSet bsB)
           
private  int calcHbondEnergy(Atom nitrogen, javax.vecmath.Point3f nitrogenPoint, javax.vecmath.Point3f hydrogenPoint, AminoMonomer target)
           
 void calcHydrogenBonds(Polymer polymer, java.util.BitSet bsA, java.util.BitSet bsB)
           
protected  boolean calcPhiPsiAngles()
           
private  void calcPhiPsiAngles(AminoMonomer leadingResidue, AminoMonomer trailingResidue)
           
private  void calcProteinMainchainHydrogenBonds(AminoPolymer polymer, java.util.BitSet bsA, java.util.BitSet bsB)
           
 void calculateStructures()
          Uses Levitt & Greer algorithm to calculate protien secondary structures using only alpha-carbon atoms.
private  boolean checkWingAtoms()
           
private  void createResidueHydrogenBond(AminoMonomer donor, int indexAminoGroup, int indexCarbonylGroup, java.util.BitSet bsA, java.util.BitSet bsB)
           
 void freeze()
           
 void getPdbData(char ctype, char qtype, int derivType, boolean isDraw, java.util.BitSet bsAtoms, java.lang.StringBuffer pdbATOM, java.lang.StringBuffer pdbCONECT, java.util.BitSet bsSelected, boolean addHeader, java.util.BitSet bsWritten)
           
(package private)  boolean hasWingPoints()
           
private static boolean isHelix(float psi, float phi)
           
private static boolean isSheet(float psi, float phi)
           
private static boolean isTurn(float psi, float phi)
           
 
Methods inherited from class org.jmol.modelsetbio.AlphaPolymer
addSecondaryStructure, addSecondaryStructure, addStructuresFromTags, calcHydrogenBonds, calculateAnglesInDegrees, calculateCodes, calculateRunsFourOrMore, checkBetaSheetAlphaHelixOverlap, extendRuns, searchForTurns
 
Methods inherited from class org.jmol.modelsetbio.BioPolymer
allocateBioPolymer, calcSelectedMonomersCount, clearStructures, findNearestAtomIndex, getControlPoints, getIndex, getInitiatorPoint, getLeadAtomIndices, getLeadMidPoint, getLeadMidpoints, getLeadPoint, getLeadPoint, getLeadPoints, getMonomerCount, getMonomers, getPdbData, getPointPoint, getPolymerInfo, getPolymerPointsAndVectors, getPolymerSequenceAtoms, getProteinStructure, getSelectedMonomerCount, getSequence, getTerminatorPoint, getWingPoint, getWingVectors, isMonomerSelected, recalculateLeadMidpointsAndWingVectors, removeProteinStructure, setConformation
 
Methods inherited from class org.jmol.modelset.Polymer
getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hasOAtoms

private boolean hasOAtoms

maxHbondAlphaDistance

private static final float maxHbondAlphaDistance
See Also:
Constant Field Values

maxHbondAlphaDistance2

private static final float maxHbondAlphaDistance2
See Also:
Constant Field Values

minimumHbondDistance2

private static final float minimumHbondDistance2
See Also:
Constant Field Values

QConst

private static final double QConst
See Also:
Constant Field Values
Constructor Detail

AminoPolymer

AminoPolymer(Monomer[] monomers)
Method Detail

hasWingPoints

boolean hasWingPoints()
Overrides:
hasWingPoints in class BioPolymer

calcHydrogenBonds

public void calcHydrogenBonds(Polymer polymer,
                              java.util.BitSet bsA,
                              java.util.BitSet bsB)
Overrides:
calcHydrogenBonds in class Polymer

calcProteinMainchainHydrogenBonds

private void calcProteinMainchainHydrogenBonds(AminoPolymer polymer,
                                               java.util.BitSet bsA,
                                               java.util.BitSet bsB)

bondAminoHydrogen

private void bondAminoHydrogen(AminoMonomer source,
                               int indexDonor,
                               javax.vecmath.Point3f hydrogenPoint,
                               java.util.BitSet bsA,
                               java.util.BitSet bsB)

calcHbondEnergy

private int calcHbondEnergy(Atom nitrogen,
                            javax.vecmath.Point3f nitrogenPoint,
                            javax.vecmath.Point3f hydrogenPoint,
                            AminoMonomer target)

createResidueHydrogenBond

private void createResidueHydrogenBond(AminoMonomer donor,
                                       int indexAminoGroup,
                                       int indexCarbonylGroup,
                                       java.util.BitSet bsA,
                                       java.util.BitSet bsB)

calculateStructures

public void calculateStructures()
Description copied from class: AlphaPolymer
Uses Levitt & Greer algorithm to calculate protien secondary structures using only alpha-carbon atoms.

Levitt and Greer
Automatic Identification of Secondary Structure in Globular Proteins
J.Mol.Biol.(1977) 114, 181-293

http://csb.stanford.edu/levitt/Levitt_JMB77_Secondary_structure.pdf

Overrides:
calculateStructures in class AlphaPolymer

checkWingAtoms

private boolean checkWingAtoms()

freeze

public void freeze()
Overrides:
freeze in class Polymer

calcPhiPsiAngles

protected boolean calcPhiPsiAngles()
Overrides:
calcPhiPsiAngles in class BioPolymer

calcPhiPsiAngles

private void calcPhiPsiAngles(AminoMonomer leadingResidue,
                              AminoMonomer trailingResidue)

isHelix

private static boolean isHelix(float psi,
                               float phi)
Parameters:
psi - N-C-CA-N torsion for NEXT group
phi - C-CA-N-C torsion for THIS group
Returns:
whether this corresponds to a helix

isSheet

private static boolean isSheet(float psi,
                               float phi)

isTurn

private static boolean isTurn(float psi,
                              float phi)

getPdbData

public void getPdbData(char ctype,
                       char qtype,
                       int derivType,
                       boolean isDraw,
                       java.util.BitSet bsAtoms,
                       java.lang.StringBuffer pdbATOM,
                       java.lang.StringBuffer pdbCONECT,
                       java.util.BitSet bsSelected,
                       boolean addHeader,
                       java.util.BitSet bsWritten)
Overrides:
getPdbData in class Polymer