Package org.jmol.modelsetbio
Class BioPolymer
java.lang.Object
org.jmol.modelsetbio.BioPolymer
- All Implemented Interfaces:
Structure
- Direct Known Subclasses:
AlphaPolymer
,CarbohydratePolymer
,PhosphorusPolymer
A "BioPolymer" is a constructed set of contiguous (probably connected) "Monomers",
which may be one of Alpha (Calpha atoms), Amino (Calpha + backbone),
Phosphorus (P atoms), Nucleic (DNA/RNA), or Carbohydrate.
BioPolymers are constructed after file loading and after various changes that might
affect secondary structure.
BioPolymers are not Chains. Chains are set at load time and just constitute
collections of unique chain identifiers in the file.
-
Field Summary
FieldsModifier and TypeFieldDescriptionint
(package private) javajs.util.BS
protected javajs.util.P3[]
int
protected boolean
protected boolean
boolean
protected boolean
private boolean
protected int[]
protected javajs.util.P3[]
protected javajs.util.P3[]
int
Monomer[]
javajs.util.BS
private int
protected float
boolean
protected int
protected static final int
protected static final int
protected static final int
protected static final int
private final javajs.util.V3
protected javajs.util.V3[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
private final void
boolean
protected boolean
void
calcRasmolHydrogenBonds
(BioPolymer polymer, javajs.util.BS bsA, javajs.util.BS bsB, javajs.util.Lst<Bond> vHBonds, int nMaxPerResidue, int[][][] min, boolean checkDistances, boolean dsspIgnoreHydrogens) void
calcSelectedMonomersCount
(javajs.util.BS bsSelected) protected float
calculateRamachandranHelixAngle
(int m, char qtype) void
void
findNearestAtomIndex
(int xMouse, int yMouse, Atom[] closest, short[] mads, int myVisibilityFlag, javajs.util.BS bsNot) protected javajs.util.P3
getControlPoint
(int i, javajs.util.V3 v) javajs.util.P3[]
getControlPoints
(boolean isTraceAlpha, float sheetSmoothing, boolean invalidate) private javajs.util.P3[]
getControlPoints2
(float sheetSmoothing) protected int
getIndex
(int chainID, int seqcode, int istart, int iend) private final javajs.util.P3
int[]
(package private) void
getLeadMidPoint
(int i, javajs.util.P3 midPoint) javajs.util.P3[]
(package private) final javajs.util.P3
getLeadPoint
(int monomerIndex) (package private) javajs.util.P3[]
int
getPolymerPointsAndVectors
(int last, javajs.util.BS bs, javajs.util.Lst<javajs.util.P3[]> vList, boolean isTraceAlpha, float sheetSmoothing) void
getPolymerSequenceAtoms
(int group1, int nGroups, javajs.util.BS bsInclude, javajs.util.BS bsResult) getProteinStructure
(int monomerIndex) void
getRange
(javajs.util.BS bs, boolean isMutated) void
getRangeGroups
(int nResidues, javajs.util.BS bsAtoms, javajs.util.BS bsResult) (package private) int
private final javajs.util.P3
int
getType()
(package private) final javajs.util.P3
getWingPoint
(int polymerIndex) final javajs.util.V3[]
boolean
isCyclic()
(package private) boolean
isMonomerSelected
(int i) boolean
void
protected void
protected void
void
setAtomBits
(javajs.util.BS bs) void
setAtomBitsAndClear
(javajs.util.BS bs, javajs.util.BS bsOut) void
setConformation
(javajs.util.BS bsSelected) toString()
-
Field Details
-
model
-
monomers
-
hasStructure
protected boolean hasStructure -
leadMidpoints
protected javajs.util.P3[] leadMidpoints -
leadPoints
protected javajs.util.P3[] leadPoints -
controlPoints
protected javajs.util.P3[] controlPoints -
wingVectors
protected javajs.util.V3[] wingVectors -
leadAtomIndices
protected int[] leadAtomIndices -
type
protected int type -
bioPolymerIndexInModel
public int bioPolymerIndexInModel -
monomerCount
public int monomerCount -
TYPE_NOBONDING
protected static final int TYPE_NOBONDING- See Also:
-
TYPE_AMINO
protected static final int TYPE_AMINO- See Also:
-
TYPE_NUCLEIC
protected static final int TYPE_NUCLEIC- See Also:
-
TYPE_CARBOHYDRATE
protected static final int TYPE_CARBOHYDRATE- See Also:
-
cyclicFlag
public int cyclicFlag -
invalidLead
private boolean invalidLead -
invalidControl
protected boolean invalidControl -
sheetSmoothing
protected float sheetSmoothing -
hasWingPoints
protected boolean hasWingPoints -
reversed
public javajs.util.BS reversed -
twistedSheets
public boolean twistedSheets -
unitVectorX
private final javajs.util.V3 unitVectorX -
selectedMonomerCount
private int selectedMonomerCount -
bsSelectedMonomers
javajs.util.BS bsSelectedMonomers -
haveParameters
public boolean haveParameters
-
-
Constructor Details
-
BioPolymer
protected BioPolymer()
-
-
Method Details
-
set
-
setAtomBits
public void setAtomBits(javajs.util.BS bs) - Specified by:
setAtomBits
in interfaceStructure
-
setAtomBitsAndClear
public void setAtomBitsAndClear(javajs.util.BS bs, javajs.util.BS bsOut) - Specified by:
setAtomBitsAndClear
in interfaceStructure
-
getRange
public void getRange(javajs.util.BS bs, boolean isMutated) -
clearStructures
public void clearStructures() -
getLeadAtomIndices
public int[] getLeadAtomIndices() -
getIndex
protected int getIndex(int chainID, int seqcode, int istart, int iend) -
getLeadPoint
final javajs.util.P3 getLeadPoint(int monomerIndex) -
getInitiatorPoint
private final javajs.util.P3 getInitiatorPoint() -
getTerminatorPoint
private final javajs.util.P3 getTerminatorPoint() -
getLeadMidPoint
void getLeadMidPoint(int i, javajs.util.P3 midPoint) -
getWingPoint
final javajs.util.P3 getWingPoint(int polymerIndex) -
setConformation
public void setConformation(javajs.util.BS bsSelected) -
recalculateLeadMidpointsAndWingVectors
public void recalculateLeadMidpointsAndWingVectors() -
resetHydrogenPoints
protected void resetHydrogenPoints() -
getLeadMidpoints
public javajs.util.P3[] getLeadMidpoints() -
getLeadPoints
javajs.util.P3[] getLeadPoints() -
getControlPoints
public javajs.util.P3[] getControlPoints(boolean isTraceAlpha, float sheetSmoothing, boolean invalidate) -
getControlPoints2
private javajs.util.P3[] getControlPoints2(float sheetSmoothing) -
getControlPoint
protected javajs.util.P3 getControlPoint(int i, javajs.util.V3 v) - Parameters:
i
-v
-- Returns:
- the leadPoint unless a protein sheet residue (see AlphaPolymer)
-
getWingVectors
public final javajs.util.V3[] getWingVectors() -
calcLeadMidpointsAndWingVectors
private final void calcLeadMidpointsAndWingVectors() -
findNearestAtomIndex
public void findNearestAtomIndex(int xMouse, int yMouse, Atom[] closest, short[] mads, int myVisibilityFlag, javajs.util.BS bsNot) -
getSelectedMonomerCount
int getSelectedMonomerCount() -
calcSelectedMonomersCount
public void calcSelectedMonomersCount(javajs.util.BS bsSelected) -
isMonomerSelected
boolean isMonomerSelected(int i) -
getPolymerPointsAndVectors
public int getPolymerPointsAndVectors(int last, javajs.util.BS bs, javajs.util.Lst<javajs.util.P3[]> vList, boolean isTraceAlpha, float sheetSmoothing) -
getSequence
-
getPolymerSequenceAtoms
public void getPolymerSequenceAtoms(int group1, int nGroups, javajs.util.BS bsInclude, javajs.util.BS bsResult) -
getProteinStructure
- Parameters:
monomerIndex
-- Returns:
- "HELIX" "TURN" etc
-
calcParameters
public boolean calcParameters() -
calcEtaThetaAngles
protected boolean calcEtaThetaAngles() -
calcPhiPsiAngles
protected boolean calcPhiPsiAngles() -
calculateRamachandranHelixAngle
protected float calculateRamachandranHelixAngle(int m, char qtype) - Parameters:
m
-qtype
-- Returns:
- calculated value
-
isNucleic
public boolean isNucleic() -
getRangeGroups
public void getRangeGroups(int nResidues, javajs.util.BS bsAtoms, javajs.util.BS bsResult) -
calcRasmolHydrogenBonds
public void calcRasmolHydrogenBonds(BioPolymer polymer, javajs.util.BS bsA, javajs.util.BS bsB, javajs.util.Lst<Bond> vHBonds, int nMaxPerResidue, int[][][] min, boolean checkDistances, boolean dsspIgnoreHydrogens) - Parameters:
polymer
-bsA
-bsB
-vHBonds
-nMaxPerResidue
-min
-checkDistances
-dsspIgnoreHydrogens
-
-
getType
public int getType() -
isCyclic
public boolean isCyclic() -
toString
-