public class AlphaPolymer extends BioPolymer
Modifier and Type | Class and Description |
---|---|
private static class |
AlphaPolymer.Code |
bioPolymerIndexInModel, bsSelectedMonomers, controlPoints, hasWingPoints, haveParameters, invalidControl, leadAtomIndices, leadMidpoints, leadPoints, model, monomerCount, monomers, sheetSmoothing, type, TYPE_AMINO, TYPE_CARBOHYDRATE, TYPE_NOBONDING, TYPE_NUCLEIC, wingVectors
Constructor and Description |
---|
AlphaPolymer(Monomer[] monomers) |
Modifier and Type | Method and Description |
---|---|
void |
addSecondaryStructure(EnumStructure type,
java.lang.String structureID,
int serialID,
int strandCount,
char startChainID,
int startSeqcode,
char endChainID,
int endSeqcode) |
protected void |
addSecondaryStructure(EnumStructure type,
java.lang.String structureID,
int serialID,
int strandCount,
int indexStart,
int indexEnd) |
private void |
addStructuresFromTags(EnumStructure[] tags) |
private float[] |
calculateAnglesInDegrees() |
private AlphaPolymer.Code[] |
calculateCodes(float[] angles) |
private EnumStructure[] |
calculateRunsFourOrMore(AlphaPolymer.Code[] codes) |
void |
calculateStructures(boolean alphaOnly)
Uses Levitt & Greer algorithm to calculate protein secondary
structures using only alpha-carbon atoms.
|
java.util.List<Atom[]> |
calculateStruts(ModelSet modelSet,
java.util.BitSet bs1,
java.util.BitSet bs2,
java.util.List<Atom> vCA,
float thresh,
int delta,
boolean allowMultiple)
Algorithm of George Phillips phillips@biochem.wisc.edu
originally a contribution to pyMol as struts.py; adapted here by Bob Hanson
for Jmol 1/2010
Return a vector of support posts for rapid prototyping models along the
lines of George Phillips for Pymol except on actual molecular segments
(biopolymers), not PDB chains (which may or may not be continuous).
|
private java.util.List<Atom[]> |
calculateStrutsStatic(ModelSet modelSet,
java.util.BitSet bs1,
java.util.BitSet bs2,
java.util.List<Atom> vCA,
float thresh,
int delta,
boolean allowMultiple) |
private void |
checkBetaSheetAlphaHelixOverlap(AlphaPolymer.Code[] codes,
float[] angles) |
private void |
extendRuns(EnumStructure[] tags) |
protected javax.vecmath.Point3f |
getControlPoint(int i,
javax.vecmath.Vector3f v) |
void |
getPdbData(Viewer viewer,
char ctype,
char qtype,
int mStep,
int derivType,
java.util.BitSet bsAtoms,
java.util.BitSet bsSelected,
boolean bothEnds,
boolean isDraw,
boolean addHeader,
LabelToken[] tokens,
OutputStringBuffer pdbATOM,
java.lang.StringBuffer pdbCONECT,
java.util.BitSet bsWritten) |
private void |
searchForTurns(AlphaPolymer.Code[] codes,
float[] angles,
EnumStructure[] tags) |
private static void |
setStrut(int i,
int j,
int n,
java.util.List<Atom> vCA,
java.util.BitSet bs1,
java.util.BitSet bs2,
java.util.List<Atom[]> vStruts,
java.util.BitSet bsStruts,
java.util.BitSet bsNotAvailable,
java.util.BitSet bsNearbyResidues,
int delta) |
private static int |
strutPoint(int i,
int j,
int n) |
allocateBioPolymer, calcEtaThetaAngles, calcParameters, calcPhiPsiAngles, calcRasmolHydrogenBonds, calcSelectedMonomersCount, calculateRamachandranHelixAngle, calculateStructures, clearStructures, findNearestAtomIndex, getConformation, getControlPoints, getControlPoints, getGroups, getIndex, getInitiatorPoint, getLeadAtomIndices, getLeadMidPoint, getLeadMidpoints, getLeadPoint, getLeadPoint, getLeadPoints, getPdbData, getPolymerInfo, getPolymerPointsAndVectors, getPolymerSequenceAtoms, getProteinStructure, getRange, getRangeGroups, getSelectedMonomerCount, getSequence, getTerminatorPoint, getType, getWingPoint, getWingVectors, isDna, isMonomerSelected, isRna, recalculateLeadMidpointsAndWingVectors, removeProteinStructure, resetHydrogenPoints, setConformation, setStructureList
AlphaPolymer(Monomer[] monomers)
protected javax.vecmath.Point3f getControlPoint(int i, javax.vecmath.Vector3f v)
getControlPoint
in class BioPolymer
public void getPdbData(Viewer viewer, char ctype, char qtype, int mStep, int derivType, java.util.BitSet bsAtoms, java.util.BitSet bsSelected, boolean bothEnds, boolean isDraw, boolean addHeader, LabelToken[] tokens, OutputStringBuffer pdbATOM, java.lang.StringBuffer pdbCONECT, java.util.BitSet bsWritten)
getPdbData
in class BioPolymer
public void addSecondaryStructure(EnumStructure type, java.lang.String structureID, int serialID, int strandCount, char startChainID, int startSeqcode, char endChainID, int endSeqcode)
addSecondaryStructure
in class BioPolymer
protected void addSecondaryStructure(EnumStructure type, java.lang.String structureID, int serialID, int strandCount, int indexStart, int indexEnd)
public java.util.List<Atom[]> calculateStruts(ModelSet modelSet, java.util.BitSet bs1, java.util.BitSet bs2, java.util.List<Atom> vCA, float thresh, int delta, boolean allowMultiple)
calculateStruts
in class BioPolymer
modelSet
- bs1
- bs2
- vCA
- thresh
- delta
- allowMultiple
- private java.util.List<Atom[]> calculateStrutsStatic(ModelSet modelSet, java.util.BitSet bs1, java.util.BitSet bs2, java.util.List<Atom> vCA, float thresh, int delta, boolean allowMultiple)
private static int strutPoint(int i, int j, int n)
private static void setStrut(int i, int j, int n, java.util.List<Atom> vCA, java.util.BitSet bs1, java.util.BitSet bs2, java.util.List<Atom[]> vStruts, java.util.BitSet bsStruts, java.util.BitSet bsNotAvailable, java.util.BitSet bsNearbyResidues, int delta)
public void calculateStructures(boolean alphaOnly)
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 BioPolymer
private float[] calculateAnglesInDegrees()
private AlphaPolymer.Code[] calculateCodes(float[] angles)
private void checkBetaSheetAlphaHelixOverlap(AlphaPolymer.Code[] codes, float[] angles)
private EnumStructure[] calculateRunsFourOrMore(AlphaPolymer.Code[] codes)
private void extendRuns(EnumStructure[] tags)
private void searchForTurns(AlphaPolymer.Code[] codes, float[] angles, EnumStructure[] tags)
private void addStructuresFromTags(EnumStructure[] tags)