Class BioPolymer

  • All Implemented Interfaces:
    Structure
    Direct Known Subclasses:
    AlphaPolymer, CarbohydratePolymer, PhosphorusPolymer

    public abstract class BioPolymer
    extends java.lang.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 Detail

      • 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
      • cyclicFlag

        public int cyclicFlag
      • invalidLead

        private boolean invalidLead
      • invalidControl

        protected boolean invalidControl
      • sheetSmoothing

        protected float sheetSmoothing
      • hasWingPoints

        protected boolean hasWingPoints
      • reversed

        public BS reversed
      • twistedSheets

        public boolean twistedSheets
      • unitVectorX

        private final javajs.util.V3 unitVectorX
      • selectedMonomerCount

        private int selectedMonomerCount
      • bsSelectedMonomers

        BS bsSelectedMonomers
      • haveParameters

        public boolean haveParameters
    • Constructor Detail

      • BioPolymer

        protected BioPolymer()
    • Method Detail

      • set

        protected void set​(Monomer[] monomers)
      • getRange

        public void getRange​(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​(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,
                                         BS bsNot)
      • getSelectedMonomerCount

        int getSelectedMonomerCount()
      • calcSelectedMonomersCount

        public void calcSelectedMonomersCount​(BS bsSelected)
      • isMonomerSelected

        boolean isMonomerSelected​(int i)
      • getPolymerPointsAndVectors

        public int getPolymerPointsAndVectors​(int last,
                                              BS bs,
                                              javajs.util.Lst<javajs.util.P3[]> vList,
                                              boolean isTraceAlpha,
                                              float sheetSmoothing)
      • getSequence

        public java.lang.String getSequence()
      • getPolymerSequenceAtoms

        public void getPolymerSequenceAtoms​(int group1,
                                            int nGroups,
                                            BS bsInclude,
                                            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,
                                   BS bsAtoms,
                                   BS bsResult)
      • calcRasmolHydrogenBonds

        public void calcRasmolHydrogenBonds​(BioPolymer polymer,
                                            BS bsA,
                                            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()