AminoMonomer
Date: 2019-10-22

org.jmol.modelsetbio

## Class AminoMonomer

- java.lang.Object
- - org.jmol.modelset.Group
  - - org.jmol.modelsetbio.Monomer
    - - org.jmol.modelsetbio.AlphaMonomer
      - - org.jmol.modelsetbio.AminoMonomer

- All Implemented Interfaces:
    Structure

      public class AminoMonomer
      extends AlphaMonomer

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static float` | `beta`
    `private static byte` | `C`
    `private static byte` | `CA`
    `(package private) static byte[]` | `interestingAminoAtomIDs`
    `private static byte` | `N`
    `(package private) boolean` | `nhChecked`
    `private static byte` | `O`
    `private static byte` | `OT`
    `private javajs.util.P3` | `ptTemp`

    - ### Fields inherited from class org.jmol.modelsetbio.AlphaMonomer

      `alphaOffsets, nitrogenHydrogenPoint, proteinStructure`

    - ### Fields inherited from class org.jmol.modelsetbio.Monomer

      `backboneBlockVis, bioPolymer, monomerIndex, offsets`

    - ### Fields inherited from class org.jmol.modelset.Group

      `chain, dssrNT, firstAtomIndex, group1, group3Names, groupID, groupIndex, lastAtomIndex, leadAtomIndex, selectedIndex, seqcode, shapeVisibilityFlags, specialAtomNames, standardGroupList`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AminoMonomer()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `clear(javajs.util.BS bs, Atom a, boolean andH)`
    `(package private) void` | `findNearestAtomIndex(int x, int y, Atom[] closest, short madBegin, short madEnd)` Selects LeadAtom when this Monomer is clicked iff it is closer to the user.
    `javajs.util.BS` | `getBSSideChain()`
    `Atom` | `getCarbonylCarbonAtom()`
    `Atom` | `getCarbonylOxygenAtom()`
    `Atom` | `getExplicitNH()`
    `(package private) Atom` | `getInitiatorAtom()`
    `boolean` | `getNHPoint(javajs.util.P3 aminoHydrogenPoint, javajs.util.V3 vNH, boolean jmolHPoint, boolean dsspIgnoreHydrogens)`
    `Atom` | `getNitrogenAtom()`
    `(package private) javajs.util.P3` | `getNitrogenHydrogenPoint()`
    `java.lang.String` | `getProteinStructureTag()`
    `javajs.util.Quat` | `getQuaternion(char qType)`
    `(package private) javajs.util.P3` | `getQuaternionFrameCenter(char qType)`
    `java.lang.String` | `getStructureId()`
    `(package private) Atom` | `getTerminatorAtom()`
    `(package private) boolean` | `hasOAtom()`
    `(package private) boolean` | `isAminoMonomer()`
    `private static boolean` | `isBondedCorrectly(int firstAtomIndex, byte[] offsets, Atom[] atoms)`
    `private static boolean` | `isBondedCorrectlyRange(int offset1, int offset2, int firstAtomIndex, byte[] offsets, Atom[] atoms)`
    `(package private) boolean` | `isConnectedAfter(Monomer possiblyPreviousMonomer)`
    `void` | `resetHydrogenPoint()`
    `(package private) static Monomer` | `validateAndAllocate(Chain chain, java.lang.String group3, int seqcode, int firstAtomIndex, int lastAtomIndex, int[] specialAtomIndexes, Atom[] atoms)`

    - ### Methods inherited from class org.jmol.modelsetbio.AlphaMonomer

      `getAtom, getAtomPoint, getHelixData, getProteinStructureSubType, getProteinStructureType, getQuaternionAlpha, getQuaternionFrameCenterAlpha, getStrucNo, getStructure, isAlphaMonomer, isHelix, isProtein, isSheet, isWithinStructure, setProteinStructureType, setStrucNo, setStructure, validateAndAllocateA`

    - ### Methods inherited from class org.jmol.modelsetbio.Monomer

      `checkOptional, getAtomFromOffsetIndex, getAtomIndex, getBioPolymerIndexInModel, getBioPolymerLength, getCrossLinkGroup, getCrossLinkVector, getGroup1, getGroup1b, getGroupParameter, getHelixData2, getLeadAtom, getMonomerIndex, getMonomerSequenceAtoms, getMyInfo, getSelectedMonomerCount, getSelectedMonomerIndex, getSpecialAtom, getSpecialAtomPoint, getUniqueID, getWingAtom, have, isConnectedPrevious, isCrossLinked, isLeadAtom, scanForOffsets, set2, setBioPolymer, setGroupID, setGroupParameter, setLeadAtomIndex, updateOffsetsForAlternativeLocations`

    - ### Methods inherited from class org.jmol.modelset.Group

      `addAtoms, fixIndices, getGroup3, getGroupInfo, getInsCode, getInsertionCode, getInsertionCodeChar, getInsertionCodeFor, getLeadAtomOr, getMinZ, getModel, getQuaternionFrame, getResno, getSeqcodeFor, getSeqcodeString, getSeqcodeStringFor, getSeqNumberFor, haveSequenceNumber, isAdded, isCarbohydrate, isCursorOnTopOf, isDna, isDnaByID, isNucleic, isNucleicMonomer, isPurine, isPurineByID, isPyrimidine, isPyrimidineByID, isRna, isRnaByID, isSelected, scaleToScreen, setAtomBits, setAtomBitsAndClear, setGroup, setResno, setShapeVisibility, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CA

          private static final byte CA

      See Also:
        Constant Field Values

    - #### O

          private static final byte O

      See Also:
        Constant Field Values

    - #### N

          private static final byte N

      See Also:
        Constant Field Values

    - #### C

          private static final byte C

      See Also:
        Constant Field Values

    - #### OT

          private static final byte OT

      See Also:
        Constant Field Values

    - #### interestingAminoAtomIDs

          static final byte[] interestingAminoAtomIDs

    - #### nhChecked

          boolean nhChecked

    - #### beta

          private static final float beta

      See Also:
        Constant Field Values

    - #### ptTemp

          private javajs.util.P3 ptTemp

  - ### Constructor Detail

    - #### AminoMonomer

          protected AminoMonomer()

  - ### Method Detail

    - #### validateAndAllocate

          static Monomer validateAndAllocate(Chain chain,
                                             java.lang.String group3,
                                             int seqcode,
                                             int firstAtomIndex,
                                             int lastAtomIndex,
                                             int[] specialAtomIndexes,
                                             Atom[] atoms)

    - #### isBondedCorrectlyRange

          private static boolean isBondedCorrectlyRange(int offset1,
                                                        int offset2,
                                                        int firstAtomIndex,
                                                        byte[] offsets,
                                                        Atom[] atoms)

    - #### isBondedCorrectly

          private static boolean isBondedCorrectly(int firstAtomIndex,
                                                   byte[] offsets,
                                                   Atom[] atoms)

    - #### isAminoMonomer

          boolean isAminoMonomer()

    - #### getNitrogenAtom

          public Atom getNitrogenAtom()

      Overrides:
        `getNitrogenAtom` in class `Group`

    - #### getCarbonylCarbonAtom

          public Atom getCarbonylCarbonAtom()

    - #### getCarbonylOxygenAtom

          public Atom getCarbonylOxygenAtom()

      Overrides:
        `getCarbonylOxygenAtom` in class `Group`

    - #### getInitiatorAtom

          Atom getInitiatorAtom()

      Overrides:
        `getInitiatorAtom` in class `Monomer`

    - #### getTerminatorAtom

          Atom getTerminatorAtom()

      Overrides:
        `getTerminatorAtom` in class `Monomer`

    - #### hasOAtom

          boolean hasOAtom()

    - #### isConnectedAfter

          boolean isConnectedAfter(Monomer possiblyPreviousMonomer)

      Overrides:
        `isConnectedAfter` in class `AlphaMonomer`

    - #### findNearestAtomIndex

          void findNearestAtomIndex(int x,
                                    int y,
                                    Atom[] closest,
                                    short madBegin,
                                    short madEnd)

      Description copied from class: `Monomer`
      Selects LeadAtom when this Monomer is clicked iff it is closer to the user.
      Overrides:
        `findNearestAtomIndex` in class `Monomer`

    - #### resetHydrogenPoint

          public void resetHydrogenPoint()

    - #### getNitrogenHydrogenPoint

          javajs.util.P3 getNitrogenHydrogenPoint()

    - #### getExplicitNH

          public Atom getExplicitNH()

    - #### getNHPoint

          public boolean getNHPoint(javajs.util.P3 aminoHydrogenPoint,
                                    javajs.util.V3 vNH,
                                    boolean jmolHPoint,
                                    boolean dsspIgnoreHydrogens)

    - #### getQuaternionFrameCenter

          javajs.util.P3 getQuaternionFrameCenter(char qType)

      Overrides:
        `getQuaternionFrameCenter` in class `AlphaMonomer`
      Returns:
        center

    - #### getQuaternion

          public javajs.util.Quat getQuaternion(char qType)

      Overrides:
        `getQuaternion` in class `AlphaMonomer`
      Returns:
        quaternion

    - #### getStructureId

          public java.lang.String getStructureId()

      Overrides:
        `getStructureId` in class `Monomer`

    - #### getProteinStructureTag

          public java.lang.String getProteinStructureTag()

      Overrides:
        `getProteinStructureTag` in class `Group`

    - #### getBSSideChain

          public javajs.util.BS getBSSideChain()

      Overrides:
        `getBSSideChain` in class `Group`

    - #### clear

          private void clear(javajs.util.BS bs,
                             Atom a,
                             boolean andH)