# Class NucleicMonomer

java.lang.Object
org.jmol.modelset.Group
org.jmol.modelsetbio.Monomer
org.jmol.modelsetbio.PhosphorusMonomer
org.jmol.modelsetbio.NucleicMonomer

All Implemented Interfaces:
  `Structure`

public class NucleicMonomer extends PhosphorusMonomer

## Field Summary

Fields
Modifier and Type
Field
Description
`P3[]`
`dssrBox`
`float`
`dssrBoxHeight`
`P3[]`
`dssrFrame`

### Fields inherited from class PhosphorusMonomer

`P`

### Fields inherited from class Monomer

`backboneBlockVis, bioPolymer, offsets`

### Fields inherited from class Group

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

## Method Summary

Modifier and Type
Method
Description
`void`
`addBasePair(BasePair bp)`
`void`
`findNearestAtomIndex(int x, int y, Atom[] closest, short madBegin, short madEnd)`
/////////////////////////////////////////////////////////////
`Lst<BasePair>`
`getBasePairs()`
`void`
`getBaseRing6Points(P3[] pts)`
`Atom`
`getC1P()`
`boolean`
`getCrossLinkVector(Lst<Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond)`
`P3[]`
`getDSSRFrame(Viewer vwr)`
`boolean`
`getEdgePoints(P3[] pts)`
`protected char`
`getGroup1b()`
`Object`
`getHelixData(int tokType, char qType, int mStep)`
`Atom`
`getN0()`
`Atom`
`getN3()`
`STR`
`getProteinStructureType()`
/////////////////////////////////////////////////////////////
`Quat`
`getQuaternion(char qType)`
`void`
`getRiboseRing5Points(P3[] pts)`
`boolean`
`isCrossLinked(Group g)`
`boolean`
`isDna()`
/////////////////////////////////////////////////////////////
`boolean`
`isGuanine()`
`boolean`
`isNucleicMonomer()`
`boolean`
`isPurine()`
group ID-based definition
`boolean`
`isPyrimidine()`
group ID-based definition
`boolean`
`isRna()`
group ID-based definition
`boolean`
`maybeGetBaseRing5Points(P3[] pts)`
`void`
`setGroup1(char g)`
`void`
`setRingsClickable()`
`void`
`setRingsVisible(boolean isVisible)`
`static Monomer`
`validateAndAllocate(Chain chain, String group3, int seqcode, int firstAtomIndex, int lastAtomIndex, int[] specialAtomIndexes)`

### Methods inherited from class PhosphorusMonomer

`getQuaternionP, getStructure, isCA2, isNucleic`

### Methods inherited from class Monomer

`checkOptional, getAtomFromOffsetIndex, getAtomIndex, getBioPolymerIndexInModel, getBioPolymerLength, getCrossLinkGroup, getGroup1, getGroupParameter, getHelixData2, getLeadAtom, getMonomerIndex, getMyInfo, getSelectedMonomerCount, getSelectedMonomerIndex, getSpecialAtom, getSpecialAtomPoint, getStructureId, getUniqueID, getWingAtom, have, isConnectedPrevious, isHelix, isLeadAtom, isSheet, scanForOffsets, set2, setGroupID, setLeadAtomIndex, setStrucNo, toString, updateOffsetsForAlternativeLocations`

### Methods inherited from class Group

`addAtoms, fixIndices, getBSSideChain, getCarbonylOxygenAtom, getGroup3, getGroupInfo, getInsCode, getInsertionCode, getInsertionCodeChar, getInsertionCodeFor, getLeadAtomOr, getMinZ, getModel, getNitrogenAtom, getProteinStructureSubType, getProteinStructureTag, getQuaternionFrame, getResno, getSeqcodeFor, getSeqcodeString, getSeqcodeStringFor, getSeqNumberFor, getStrucNo, haveSequenceNumber, isAdded, isCarbohydrate, isCursorOnTopOf, isDnaByID, isProtein, isPurineByID, isPyrimidineByID, isRnaByID, isSelected, isWithinStructure, scaleToScreen, setAtomBits, setAtomBitsAndClear, setGroup, setProteinStructureType, setResno, setShapeVisibility, unsetStrutPoint`

### Methods inherited from class Object

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

## Field Details

### dssrBox

public P3[] dssrBox

### dssrBoxHeight

public float dssrBoxHeight

### dssrFrame

public P3[] dssrFrame

## Method Details

### validateAndAllocate

public static Monomer validateAndAllocate(Chain chain, String group3, int seqcode, int firstAtomIndex, int lastAtomIndex, int[] specialAtomIndexes)

### isNucleicMonomer

public boolean isNucleicMonomer()

Overrides:
  `isNucleicMonomer` in class `Group`

### isDna

public boolean isDna()
Description copied from class: `PhosphorusMonomer`
/////////////////////////////////////////////////////////////

Overrides:
  `isDna` in class `PhosphorusMonomer`
Returns:
  boolean

### isRna

public boolean isRna()
Description copied from class: `Group`
group ID-based definition

Overrides:
  `isRna` in class `PhosphorusMonomer`
Returns:
  boolean

### isPurine

public boolean isPurine()
Description copied from class: `Group`
group ID-based definition

Overrides:
  `isPurine` in class `PhosphorusMonomer`
Returns:
  boolean

### isPyrimidine

public boolean isPyrimidine()
Description copied from class: `Group`
group ID-based definition

Overrides:
  `isPyrimidine` in class `PhosphorusMonomer`
Returns:
  boolean

### isGuanine

public boolean isGuanine()

### getProteinStructureType

public STR getProteinStructureType()
Description copied from class: `Monomer`
/////////////////////////////////////////////////////////////

Overrides:
  `getProteinStructureType` in class `PhosphorusMonomer`

### getC1P

public Atom getC1P()

### getN3

public Atom getN3()

### getBaseRing6Points

public void getBaseRing6Points(P3[] pts)

### maybeGetBaseRing5Points

public boolean maybeGetBaseRing5Points(P3[] pts)

### getRiboseRing5Points

public void getRiboseRing5Points(P3[] pts)

### findNearestAtomIndex

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

### setRingsVisible

public void setRingsVisible(boolean isVisible)

### setRingsClickable

public void setRingsClickable()

### getN0

public Atom getN0()

### getHelixData

public Object getHelixData(int tokType, char qType, int mStep)

Overrides:
  `getHelixData` in class `PhosphorusMonomer`
Parameters:
  `tokType` -
  `qType` -
  `mStep` -
Returns:
  helix data of some sort

### getQuaternion

public Quat getQuaternion(char qType)

Overrides:
  `getQuaternion` in class `PhosphorusMonomer`
Parameters:
  `qType` -
Returns:
  quaternion

### isCrossLinked

public boolean isCrossLinked(Group g)

Overrides:
  `isCrossLinked` in class `Monomer`
Parameters:
  `g` -
Returns:
  T/F

### getCrossLinkVector

public boolean getCrossLinkVector(Lst<Integer> vReturn, boolean crosslinkCovalent, boolean crosslinkHBond)

Overrides:
  `getCrossLinkVector` in class `Monomer`
Parameters:
  `vReturn` -
  `crosslinkCovalent` -
  `crosslinkHBond` -
Returns:
  T/F

### getEdgePoints

public boolean getEdgePoints(P3[] pts)

### addBasePair

public void addBasePair(BasePair bp)

### setGroup1

public void setGroup1(char g)

### getBasePairs

public Lst<BasePair> getBasePairs()

Returns:
  list of base pairs associated with this monomer, possibly more than one if noncanonical

### getGroup1b

protected char getGroup1b()

Overrides:
  `getGroup1b` in class `Monomer`

### getDSSRFrame

public P3[] getDSSRFrame(Viewer vwr)