public class AminoPolymer extends AlphaPolymer
Modifier and Type | Field and Description |
---|---|
private static float |
maxHbondAlphaDistance |
private static float |
maxHbondAlphaDistance2 |
private static float |
minimumHbondDistance2 |
private static int[][] |
sheetOffsets |
private java.util.Map<EnumStructure,float[]> |
structureList |
bioPolymerIndexInModel, bsSelectedMonomers, controlPoints, hasWingPoints, haveParameters, invalidControl, leadAtomIndices, leadMidpoints, leadPoints, model, monomerCount, monomers, reversed, sheetSmoothing, twistedSheets, type, TYPE_AMINO, TYPE_CARBOHYDRATE, TYPE_NOBONDING, TYPE_NUCLEIC, wingVectors
Constructor and Description |
---|
AminoPolymer(Monomer[] monomers) |
Modifier and Type | Method and Description |
---|---|
private static void |
addHbond(JmolList<Bond> vHBonds,
Monomer donor,
Monomer acceptor,
int iEnergy,
int type,
java.util.Map<java.lang.String,java.lang.Boolean> htTemp) |
private void |
addResidueHydrogenBond(Atom nitrogen,
Atom oxygen,
int indexAminoGroup,
int indexCarbonylGroup,
float energy,
JmolList<Bond> vHBonds) |
private int |
calcHbondEnergy(P3 nitrogenPoint,
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 boolean |
calcPhiPsiAngles() |
private void |
calcPhiPsiAngles2(AminoMonomer residue1,
AminoMonomer residue2) |
void |
calcRasmolHydrogenBonds(BioPolymer polymer,
BS bsA,
BS bsB,
JmolList<Bond> vHBonds,
int nMaxPerResidue,
int[][][] min,
boolean checkDistances,
boolean dsspIgnoreHydrogens) |
protected float |
calculateRamachandranHelixAngle(int m,
char qtype) |
void |
calculateStructures(boolean alphaOnly)
Uses Levitt & Greer algorithm to calculate protein secondary
structures using only alpha-carbon atoms.
|
protected static java.lang.String |
calculateStructuresDssp(BioPolymer[] bioPolymers,
int bioPolymerCount,
JmolList<Bond> vHBonds,
boolean doReport,
boolean dsspIgnoreHydrogens,
boolean setStructure) |
private static boolean |
checkBridge(APBridge bridge,
java.util.Map<java.lang.String,APBridge> htBridges,
java.util.Map<int[][],java.lang.Boolean> htLadders,
boolean isAntiparallel,
int n1,
int n2)
check to see if another bridge exists offset by n1 and n2 from the two ends of a bridge
|
private static void |
checkBulge(APBridge bridge,
java.util.Map<java.lang.String,APBridge> htBridges,
java.util.Map<int[][],java.lang.Boolean> htLadders,
boolean isAntiparallel,
int dir) |
private static boolean |
checkPhiPsi(float[] list,
float psi,
float phi) |
private void |
checkRasmolHydrogenBond(AminoMonomer source,
BioPolymer polymer,
int indexDonor,
P3 hydrogenPoint,
BS bsB,
JmolList<Bond> vHBonds,
int[][] min,
boolean checkDistances) |
private static void |
createLadders(JmolList<APBridge> bridges,
java.util.Map<java.lang.String,APBridge> htBridges,
java.util.Map<int[][],java.lang.Boolean> htLadders,
boolean isAntiparallel)
"ladder =: one or more consecutive bridges of identical type" (p.
|
private java.lang.String |
dumpSummary(char[] labels) |
private java.lang.String |
dumpTags(java.lang.String lines,
BS bsBad,
int mode) |
private java.lang.String |
findHelixes(int[][][] min,
int iPolymer,
BS bsDone,
char[] labels,
boolean doReport,
boolean setStructure,
JmolList<Bond> vHBonds,
BS bsBad)
(p.
|
private java.lang.String |
findHelixes2(int pitch,
int[][][] min,
int thisIndex,
EnumStructure subtype,
int type,
BS bsDone,
BS bsTurn,
char[] labels,
boolean doReport,
boolean setStructure,
JmolList<Bond> vHBonds,
BS bsBad) |
private static APBridge |
getBridge(int[][][][] min,
int p1,
int a,
int p2,
int b,
JmolList<APBridge> bridges,
Atom atom1,
Atom atom2,
AminoPolymer ap1,
AminoPolymer ap2,
JmolList<Bond> vHBonds,
java.util.Map<java.lang.String,java.lang.Boolean> htTemp,
boolean isAntiparallel,
java.util.Map<int[][],java.lang.Boolean> htLadders) |
private static void |
getBridges(BioPolymer[] bioPolymers,
int[][][][] min,
JmolList<APBridge> bridgesA,
JmolList<APBridge> bridgesP,
java.util.Map<java.lang.String,APBridge> htBridges,
java.util.Map<int[][],java.lang.Boolean> htLadders,
BS bsBad,
JmolList<Bond> vHBonds,
BS[] bsDone)
(p.
|
private static int[][][][] |
getDualHydrogenBondArray(BioPolymer[] bioPolymers,
int bioPolymerCount,
boolean dsspIgnoreHydrogens)
(p.
|
private static void |
getSheetStructures(BioPolymer[] bioPolymers,
JmolList<APBridge> bridgesA,
JmolList<APBridge> bridgesP,
java.util.Map<java.lang.String,APBridge> htBridges,
java.util.Map<int[][],java.lang.Boolean> htLadders,
char[][] labels,
BS[] bsDone,
boolean doReport,
boolean setStructure)
"sheet =: a set of one or more ladders connected by shared residues" (p.
|
private static int[] |
isHbonded(int indexDonor,
int indexAcceptor,
int pDonor,
int pAcceptor,
int[][][][] min) |
private boolean |
isHelix(float psi,
float phi) |
private boolean |
isSheet(float psi,
float phi) |
private boolean |
isTurn(float psi,
float phi) |
protected void |
resetHydrogenPoints() |
private void |
setStructure(BS bs,
EnumStructure type) |
void |
setStructureList(java.util.Map<EnumStructure,float[]> structureList) |
private void |
setTag(char[] tags,
BS bs,
char ch) |
addStructure, addStructureProtected, calculateStruts, getControlPoint, getPdbData
calcEtaThetaAngles, calcParameters, calcSelectedMonomersCount, calculateDssp, clearStructures, findNearestAtomIndex, getConformation, getControlPoints, getGroups, getIndex, getLeadAtomIndices, getLeadMidPoint, getLeadMidpoints, getLeadPoint, getLeadPoints, getPdbData, getPolymerInfo, getPolymerPointsAndVectors, getPolymerSequenceAtoms, getProteinStructure, getRange, getRangeGroups, getSelectedMonomerCount, getSequence, getType, getWingPoint, getWingVectors, isDna, isMonomerSelected, isRna, recalculateLeadMidpointsAndWingVectors, removeProteinStructure, setConformation
private static final float maxHbondAlphaDistance
private static final float maxHbondAlphaDistance2
private static final float minimumHbondDistance2
private static int[][] sheetOffsets
private java.util.Map<EnumStructure,float[]> structureList
AminoPolymer(Monomer[] monomers)
protected void resetHydrogenPoints()
resetHydrogenPoints
in class BioPolymer
protected boolean calcPhiPsiAngles()
calcPhiPsiAngles
in class BioPolymer
private void calcPhiPsiAngles2(AminoMonomer residue1, AminoMonomer residue2)
protected float calculateRamachandranHelixAngle(int m, char qtype)
calculateRamachandranHelixAngle
in class BioPolymer
public void calcRasmolHydrogenBonds(BioPolymer polymer, BS bsA, BS bsB, JmolList<Bond> vHBonds, int nMaxPerResidue, int[][][] min, boolean checkDistances, boolean dsspIgnoreHydrogens)
calcRasmolHydrogenBonds
in class BioPolymer
private void checkRasmolHydrogenBond(AminoMonomer source, BioPolymer polymer, int indexDonor, P3 hydrogenPoint, BS bsB, JmolList<Bond> vHBonds, int[][] min, boolean checkDistances)
private int calcHbondEnergy(P3 nitrogenPoint, P3 hydrogenPoint, AminoMonomer target, boolean checkDistances)
nitrogenPoint
- hydrogenPoint
- target
- checkDistances
- private void addResidueHydrogenBond(Atom nitrogen, Atom oxygen, int indexAminoGroup, int indexCarbonylGroup, float energy, JmolList<Bond> vHBonds)
protected static java.lang.String calculateStructuresDssp(BioPolymer[] bioPolymers, int bioPolymerCount, JmolList<Bond> vHBonds, boolean doReport, boolean dsspIgnoreHydrogens, boolean setStructure)
bioPolymers
- bioPolymerCount
- vHBonds
- doReport
- dsspIgnoreHydrogens
- setStructure
- private static int[][][][] getDualHydrogenBondArray(BioPolymer[] bioPolymers, int bioPolymerCount, boolean dsspIgnoreHydrogens)
bioPolymers
- bioPolymerCount
- dsspIgnoreHydrogens
- private java.lang.String findHelixes(int[][][] min, int iPolymer, BS bsDone, char[] labels, boolean doReport, boolean setStructure, JmolList<Bond> vHBonds, BS bsBad)
min
- iPolymer
- bsDone
- labels
- doReport
- setStructure
- vHBonds
- bsBad
- private java.lang.String findHelixes2(int pitch, int[][][] min, int thisIndex, EnumStructure subtype, int type, BS bsDone, BS bsTurn, char[] labels, boolean doReport, boolean setStructure, JmolList<Bond> vHBonds, BS bsBad)
private static void getBridges(BioPolymer[] bioPolymers, int[][][][] min, JmolList<APBridge> bridgesA, JmolList<APBridge> bridgesP, java.util.Map<java.lang.String,APBridge> htBridges, java.util.Map<int[][],java.lang.Boolean> htLadders, BS bsBad, JmolList<Bond> vHBonds, BS[] bsDone)
bioPolymers
- min
- bridgesA
- bridgesP
- htBridges
- htLadders
- bsBad
- vHBonds
- bsDone
- private static APBridge getBridge(int[][][][] min, int p1, int a, int p2, int b, JmolList<APBridge> bridges, Atom atom1, Atom atom2, AminoPolymer ap1, AminoPolymer ap2, JmolList<Bond> vHBonds, java.util.Map<java.lang.String,java.lang.Boolean> htTemp, boolean isAntiparallel, java.util.Map<int[][],java.lang.Boolean> htLadders)
private static void addHbond(JmolList<Bond> vHBonds, Monomer donor, Monomer acceptor, int iEnergy, int type, java.util.Map<java.lang.String,java.lang.Boolean> htTemp)
private static void getSheetStructures(BioPolymer[] bioPolymers, JmolList<APBridge> bridgesA, JmolList<APBridge> bridgesP, java.util.Map<java.lang.String,APBridge> htBridges, java.util.Map<int[][],java.lang.Boolean> htLadders, char[][] labels, BS[] bsDone, boolean doReport, boolean setStructure)
bioPolymers
- bridgesA
- bridgesP
- htBridges
- htLadders
- labels
- bsDone
- doReport
- setStructure
- private static void createLadders(JmolList<APBridge> bridges, java.util.Map<java.lang.String,APBridge> htBridges, java.util.Map<int[][],java.lang.Boolean> htLadders, boolean isAntiparallel)
bridges
- htBridges
- htLadders
- isAntiparallel
- private static boolean checkBridge(APBridge bridge, java.util.Map<java.lang.String,APBridge> htBridges, java.util.Map<int[][],java.lang.Boolean> htLadders, boolean isAntiparallel, int n1, int n2)
bridge
- htBridges
- htLadders
- isAntiparallel
- n1
- n2
- private static void checkBulge(APBridge bridge, java.util.Map<java.lang.String,APBridge> htBridges, java.util.Map<int[][],java.lang.Boolean> htLadders, boolean isAntiparallel, int dir)
private void setStructure(BS bs, EnumStructure type)
private static int[] isHbonded(int indexDonor, int indexAcceptor, int pDonor, int pAcceptor, int[][][][] min)
private void setTag(char[] tags, BS bs, char ch)
private java.lang.String dumpSummary(char[] labels)
private java.lang.String dumpTags(java.lang.String lines, BS bsBad, int mode)
public void calculateStructures(boolean alphaOnly)
AlphaPolymer
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
calculateStructures
in class AlphaPolymer
alphaOnly
- caught by AminoPolymer and discarded if desiredprivate boolean isTurn(float psi, float phi)
psi
- N-C-CA-N torsion for NEXT groupphi
- C-CA-N-C torsion for THIS groupprivate boolean isSheet(float psi, float phi)
private boolean isHelix(float psi, float phi)
private static boolean checkPhiPsi(float[] list, float psi, float phi)
public void setStructureList(java.util.Map<EnumStructure,float[]> structureList)
setStructureList
in class BioPolymer
structureList
- protein only -- helix, sheet, turn definitions