Class BioPolymer

java.lang.Object
org.jmol.modelsetbio.BioPolymer
All Implemented Interfaces:
Structure
Direct Known Subclasses:
AlphaPolymer, CarbohydratePolymer, PhosphorusPolymer

public abstract class BioPolymer extends Object implements Structure
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 Details

    • model

      public Model model
    • monomers

      public Monomer[] 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

      protected void set(Monomer[] monomers)
    • setAtomBits

      public void setAtomBits(javajs.util.BS bs)
      Specified by:
      setAtomBits in interface Structure
    • setAtomBitsAndClear

      public void setAtomBitsAndClear(javajs.util.BS bs, javajs.util.BS bsOut)
      Specified by:
      setAtomBitsAndClear in interface Structure
    • 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

      public String getSequence()
    • getPolymerSequenceAtoms

      public void getPolymerSequenceAtoms(int group1, int nGroups, javajs.util.BS bsInclude, javajs.util.BS bsResult)
    • getProteinStructure

      public ProteinStructure getProteinStructure(int monomerIndex)
      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

      public String toString()
      Overrides:
      toString in class Object