Package org.jmol.modelsetbio
Class AminoPolymer
- java.lang.Object
-
- org.jmol.modelsetbio.BioPolymer
-
- org.jmol.modelsetbio.AlphaPolymer
-
- org.jmol.modelsetbio.AminoPolymer
-
- All Implemented Interfaces:
Structure
public class AminoPolymer extends AlphaPolymer
-
-
Field Summary
Fields Modifier and Type Field Description private static floatmaxHbondAlphaDistanceprivate static floatmaxHbondAlphaDistance2private static floatminimumHbondDistance2private java.util.Map<STR,float[]>structureList-
Fields inherited from class org.jmol.modelsetbio.AlphaPolymer
pt0
-
Fields inherited from class org.jmol.modelsetbio.BioPolymer
bioPolymerIndexInModel, bsSelectedMonomers, controlPoints, cyclicFlag, hasStructure, hasWingPoints, haveParameters, invalidControl, leadAtomIndices, leadMidpoints, leadPoints, model, monomerCount, monomers, reversed, sheetSmoothing, twistedSheets, type, TYPE_AMINO, TYPE_CARBOHYDRATE, TYPE_NOBONDING, TYPE_NUCLEIC, wingVectors
-
-
Constructor Summary
Constructors Constructor Description AminoPolymer(Monomer[] monomers, int pt0)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddResidueHydrogenBond(Atom nitrogen, Atom oxygen, int indexAminoGroup, int indexCarbonylGroup, float energy, javajs.util.Lst<Bond> vHBonds)private intcalcHbondEnergy(javajs.util.P3 nitrogenPoint, javajs.util.P3 hydrogenPoint, AminoMonomer target, boolean checkDistances)based on RasMol 2.7.2.1.1 model checkDistances: When we are seriously looking for H bonds, we want to also check that distCN > distCH and that the OH distance is less than 3 Angstroms.protected booleancalcPhiPsiAngles()private voidcalcPhiPsiAngles2(AminoMonomer residue1, AminoMonomer residue2)voidcalcRasmolHydrogenBonds(BioPolymer polymer, BS bsA, BS bsB, javajs.util.Lst<Bond> vHBonds, int nMaxPerResidue, int[][][] min, boolean checkDistances, boolean dsspIgnoreHydrogens)protected floatcalculateRamachandranHelixAngle(int m, char qtype)voidcalculateStructures(boolean alphaOnly)Uses Levitt & Greer algorithm to calculate protein secondary structures using only alpha-carbon atoms.private static booleancheckPhiPsi(float[] list, float psi, float phi)private voidcheckRasmolHydrogenBond(AminoMonomer source, BioPolymer polymer, int indexDonor, javajs.util.P3 hydrogenPoint, BS bsB, javajs.util.Lst<Bond> vHBonds, int[][] min, boolean checkDistances)private booleanisHelix(float psi, float phi)private booleanisSheet(float psi, float phi)private booleanisTurn(float psi, float phi)protected voidresetHydrogenPoints()voidsetStructureList(java.util.Map<STR,float[]> structureList)-
Methods inherited from class org.jmol.modelsetbio.AlphaPolymer
addStructure, addStructureProtected, clearStructures, getControlPoint, getProteinStructure, setStructureBS
-
Methods inherited from class org.jmol.modelsetbio.BioPolymer
calcEtaThetaAngles, calcParameters, calcSelectedMonomersCount, findNearestAtomIndex, getControlPoints, getIndex, getLeadAtomIndices, getLeadMidPoint, getLeadMidpoints, getLeadPoint, getLeadPoints, getPolymerPointsAndVectors, getPolymerSequenceAtoms, getRange, getRangeGroups, getSelectedMonomerCount, getSequence, getType, getWingPoint, getWingVectors, isCyclic, isMonomerSelected, isNucleic, recalculateLeadMidpointsAndWingVectors, set, setAtomBits, setAtomBitsAndClear, setConformation
-
-
-
-
Field Detail
-
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
-
structureList
private java.util.Map<STR,float[]> structureList
-
-
Constructor Detail
-
AminoPolymer
AminoPolymer(Monomer[] monomers, int pt0)
-
-
Method Detail
-
resetHydrogenPoints
protected void resetHydrogenPoints()
- Overrides:
resetHydrogenPointsin classBioPolymer
-
calcPhiPsiAngles
protected boolean calcPhiPsiAngles()
- Overrides:
calcPhiPsiAnglesin classBioPolymer
-
calcPhiPsiAngles2
private void calcPhiPsiAngles2(AminoMonomer residue1, AminoMonomer residue2)
-
calculateRamachandranHelixAngle
protected float calculateRamachandranHelixAngle(int m, char qtype)- Overrides:
calculateRamachandranHelixAnglein classBioPolymer- Returns:
- calculated value
-
calcRasmolHydrogenBonds
public void calcRasmolHydrogenBonds(BioPolymer polymer, BS bsA, BS bsB, javajs.util.Lst<Bond> vHBonds, int nMaxPerResidue, int[][][] min, boolean checkDistances, boolean dsspIgnoreHydrogens)
- Overrides:
calcRasmolHydrogenBondsin classBioPolymer
-
checkRasmolHydrogenBond
private void checkRasmolHydrogenBond(AminoMonomer source, BioPolymer polymer, int indexDonor, javajs.util.P3 hydrogenPoint, BS bsB, javajs.util.Lst<Bond> vHBonds, int[][] min, boolean checkDistances)
-
calcHbondEnergy
private int calcHbondEnergy(javajs.util.P3 nitrogenPoint, javajs.util.P3 hydrogenPoint, AminoMonomer target, boolean checkDistances)based on RasMol 2.7.2.1.1 model checkDistances: When we are seriously looking for H bonds, we want to also check that distCN > distCH and that the OH distance is less than 3 Angstroms. Otherwise that's just too strange a hydrogen bond. (We get hydrogen bonds from i to i+2, for example) This check is skipped for an actual DSSP calc., where we want the original definition and are not actually creating hydrogen bonds H .......... O | | | | N C- Parameters:
nitrogenPoint-hydrogenPoint-target-checkDistances-- Returns:
- energy in cal/mol or 0 (none)
-
addResidueHydrogenBond
private void addResidueHydrogenBond(Atom nitrogen, Atom oxygen, int indexAminoGroup, int indexCarbonylGroup, float energy, javajs.util.Lst<Bond> vHBonds)
-
calculateStructures
public void calculateStructures(boolean alphaOnly)
Description copied from class:AlphaPolymerUses Levitt & Greer algorithm to calculate protein 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:
calculateStructuresin classAlphaPolymer- Parameters:
alphaOnly- caught by AminoPolymer and discarded if desired
-
isTurn
private boolean isTurn(float psi, float phi)- Parameters:
psi- N-C-CA-N torsion for NEXT groupphi- C-CA-N-C torsion for THIS group- Returns:
- whether this corresponds to a helix
-
isSheet
private boolean isSheet(float psi, float phi)
-
isHelix
private boolean isHelix(float psi, float phi)
-
checkPhiPsi
private static boolean checkPhiPsi(float[] list, float psi, float phi)
-
setStructureList
public void setStructureList(java.util.Map<STR,float[]> structureList)
- Parameters:
structureList- protein only -- helix, sheet, turn definitions
-
-