BioModelSet
Date: 2019-10-22

org.jmol.modelsetbio

## Class BioModelSet

- java.lang.Object
- - org.jmol.modelsetbio.BioModelSet

-     public class BioModelSet
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private BioExt` | `ext`
    `private ModelSet` | `ms`
    `private java.util.Map<java.lang.String,javajs.util.BS>[]` | `unitIdSets`
    `private Viewer` | `vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BioModelSet()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private boolean` | `addUnit(int tok, java.lang.String key, javajs.util.BS bsTemp, java.util.Map<java.lang.String,javajs.util.BS> map)` Repetitively AND unit components to get the final set of atoms
    `void` | `calcAllRasmolHydrogenBonds(javajs.util.BS bsA, javajs.util.BS bsB, javajs.util.Lst<Bond> vHBonds, boolean nucleicOnly, int nMax, boolean dsspIgnoreHydrogens, javajs.util.BS bsHBonds, int dsspVersion)` only for base models, not trajectories
    `void` | `calcSelectedMonomersCount()`
    `void` | `calculateAllPolymers(Group[] groups, int groupCount, int baseGroupIndex, javajs.util.BS modelsExcluded)`
    `java.lang.String` | `calculateAllStructuresExcept(javajs.util.BS alreadyDefined, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, boolean includeAlpha, int version)`
    `java.lang.String` | `calculateAllStuctures(javajs.util.BS bsAtoms, boolean asDSSP, boolean doReport, boolean dsspIgnoreHydrogen, boolean setStructure, int version)`
    `void` | `calculateStraightnessAll()`
    `int` | `calculateStruts(javajs.util.BS bs1, javajs.util.BS bs2)`
    `private javajs.util.BS` | `checkMap(java.util.Map<java.lang.String,javajs.util.BS> map, java.lang.String key, javajs.util.BS bsAtoms)` Ensure that if two models have the same name or number, we appropriately OR their bitsets.
    `private javajs.util.BS` | `getAllBasePairBits(java.lang.String specInfo)`
    `java.lang.String` | `getAllDefaultStructures(javajs.util.BS bsAtoms, javajs.util.BS bsModified)`
    `java.util.Map<java.lang.String,java.lang.String>` | `getAllHeteroList(int modelIndex)`
    `void` | `getAllPolymerInfo(javajs.util.BS bs, java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>> info)`
    `void` | `getAllPolymerPointsAndVectors(javajs.util.BS bs, javajs.util.Lst<javajs.util.P3[]> vList, boolean isTraceAlpha, float sheetSmoothing)`
    `javajs.util.BS` | `getAllSequenceBits(java.lang.String specInfo, javajs.util.BS bsAtoms, javajs.util.BS bsResult)`
    `private javajs.util.BS` | `getAllUnitIds(java.lang.String specInfo, javajs.util.BS bsSelected, javajs.util.BS bsResult)`
    `boolean` | `getAminoAcidValenceAndCharge(java.lang.String s, java.lang.String atomName, int[] aaRet)`
    `private javajs.util.BS` | `getAnnotationBits(java.lang.String name, int tok, java.lang.String specInfo)`
    `javajs.util.BS` | `getAtomBitsBS(int tokType, javajs.util.BS bsInfo, javajs.util.BS bs)`
    `javajs.util.BS` | `getAtomBitsStr(int tokType, java.lang.String specInfo, javajs.util.BS bs)`
    `(package private) BioExt` | `getBioExt()`
    `int` | `getBioPolymerCountInModel(int modelIndex)`
    `java.lang.String` | `getFullProteinStructureState(javajs.util.BS bsAtoms, int mode)`
    `javajs.util.BS` | `getGroupsWithinAll(int nResidues, javajs.util.BS bs)`
    `javajs.util.BS` | `getIdentifierOrNull(java.lang.String identifier)`
    `private int` | `getStructureLines(javajs.util.BS bsAtoms, javajs.util.SB cmd, javajs.util.Lst<ProteinStructure> lstStr, STR type, boolean scriptMode, int mode)`
    `private javajs.util.BS` | `modelsOf(javajs.util.BS bsAtoms, javajs.util.BS bsAtomsRet)` general purpose; return models associated with specific atoms
    `boolean` | `mutate(javajs.util.BS bs, java.lang.String group, java.lang.String[] sequence)`
    `void` | `recalculateAllPolymers(javajs.util.BS bsModelsExcluded, Group[] groups)`
    `void` | `recalculatePoints(int modelIndex)`
    `BioModelSet` | `set(Viewer vwr, ModelSet ms)`
    `void` | `setAllConformation(javajs.util.BS bsAtoms)`
    `private void` | `setAllDefaultStructure(javajs.util.BS bsModels)`
    `void` | `setAllProteinType(javajs.util.BS bs, STR type)`
    `void` | `setAllStructureList(java.util.Map<STR,float[]> structureList)`

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

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

- - ### Field Detail

    - #### vwr

          private Viewer vwr

    - #### ms

          private ModelSet ms

    - #### ext

          private BioExt ext

    - #### unitIdSets

          private java.util.Map<java.lang.String,javajs.util.BS>[] unitIdSets

  - ### Constructor Detail

    - #### BioModelSet

          public BioModelSet()

  - ### Method Detail

    - #### getBioExt

          BioExt getBioExt()

    - #### set

          public BioModelSet set(Viewer vwr,
                                 ModelSet ms)

    - #### calcAllRasmolHydrogenBonds

          public void calcAllRasmolHydrogenBonds(javajs.util.BS bsA,
                                                 javajs.util.BS bsB,
                                                 javajs.util.Lst<Bond> vHBonds,
                                                 boolean nucleicOnly,
                                                 int nMax,
                                                 boolean dsspIgnoreHydrogens,
                                                 javajs.util.BS bsHBonds,
                                                 int dsspVersion)

      only for base models, not trajectories
      Parameters:
        `bsA` -
        `bsB` -
        `vHBonds` - will be null for autobonding
        `nucleicOnly` -
        `nMax` -
        `dsspIgnoreHydrogens` -
        `bsHBonds` -
        `dsspVersion` - 1 or 2

    - #### calcSelectedMonomersCount

          public void calcSelectedMonomersCount()

    - #### calculateAllPolymers

          public void calculateAllPolymers(Group[] groups,
                                           int groupCount,
                                           int baseGroupIndex,
                                           javajs.util.BS modelsExcluded)

    - #### calculateAllStructuresExcept

          public java.lang.String calculateAllStructuresExcept(javajs.util.BS alreadyDefined,
                                                               boolean asDSSP,
                                                               boolean doReport,
                                                               boolean dsspIgnoreHydrogen,
                                                               boolean setStructure,
                                                               boolean includeAlpha,
                                                               int version)

    - #### calculateAllStuctures

          public java.lang.String calculateAllStuctures(javajs.util.BS bsAtoms,
                                                        boolean asDSSP,
                                                        boolean doReport,
                                                        boolean dsspIgnoreHydrogen,
                                                        boolean setStructure,
                                                        int version)

    - #### calculateStraightnessAll

          public void calculateStraightnessAll()

    - #### calculateStruts

          public int calculateStruts(javajs.util.BS bs1,
                                     javajs.util.BS bs2)

    - #### getAllDefaultStructures

          public java.lang.String getAllDefaultStructures(javajs.util.BS bsAtoms,
                                                          javajs.util.BS bsModified)

    - #### getAllHeteroList

          public java.util.Map<java.lang.String,java.lang.String> getAllHeteroList(int modelIndex)

    - #### getAllPolymerInfo

          public void getAllPolymerInfo(javajs.util.BS bs,
                                        java.util.Map<java.lang.String,javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>> info)

    - #### getAllPolymerPointsAndVectors

          public void getAllPolymerPointsAndVectors(javajs.util.BS bs,
                                                    javajs.util.Lst<javajs.util.P3[]> vList,
                                                    boolean isTraceAlpha,
                                                    float sheetSmoothing)

    - #### getAllSequenceBits

          public javajs.util.BS getAllSequenceBits(java.lang.String specInfo,
                                                   javajs.util.BS bsAtoms,
                                                   javajs.util.BS bsResult)

    - #### getAtomBitsBS

          public javajs.util.BS getAtomBitsBS(int tokType,
                                              javajs.util.BS bsInfo,
                                              javajs.util.BS bs)

    - #### getAtomBitsStr

          public javajs.util.BS getAtomBitsStr(int tokType,
                                               java.lang.String specInfo,
                                               javajs.util.BS bs)

    - #### getBioPolymerCountInModel

          public int getBioPolymerCountInModel(int modelIndex)

      Parameters:
        `modelIndex` -
      Returns:
        number of polymers

    - #### getFullProteinStructureState

          public java.lang.String getFullProteinStructureState(javajs.util.BS bsAtoms,
                                                               int mode)

    - #### getGroupsWithinAll

          public javajs.util.BS getGroupsWithinAll(int nResidues,
                                                   javajs.util.BS bs)

    - #### getIdentifierOrNull

          public javajs.util.BS getIdentifierOrNull(java.lang.String identifier)

    - #### mutate

          public boolean mutate(javajs.util.BS bs,
                                java.lang.String group,
                                java.lang.String[] sequence)

    - #### recalculateAllPolymers

          public void recalculateAllPolymers(javajs.util.BS bsModelsExcluded,
                                             Group[] groups)

    - #### recalculatePoints

          public void recalculatePoints(int modelIndex)

    - #### setAllConformation

          public void setAllConformation(javajs.util.BS bsAtoms)

    - #### setAllProteinType

          public void setAllProteinType(javajs.util.BS bs,
                                        STR type)

    - #### setAllStructureList

          public void setAllStructureList(java.util.Map<STR,float[]> structureList)

    - #### getAllBasePairBits

          private javajs.util.BS getAllBasePairBits(java.lang.String specInfo)

    - #### getAllUnitIds

          private javajs.util.BS getAllUnitIds(java.lang.String specInfo,
                                               javajs.util.BS bsSelected,
                                               javajs.util.BS bsResult)

    - #### checkMap

          private javajs.util.BS checkMap(java.util.Map<java.lang.String,javajs.util.BS> map,
                                          java.lang.String key,
                                          javajs.util.BS bsAtoms)

      Ensure that if two models have the same name or number, we appropriately OR their bitsets.
      Parameters:
        `map` -
        `key` -
        `bsAtoms` -
      Returns:
        current BS

    - #### addUnit

          private boolean addUnit(int tok,
                                  java.lang.String key,
                                  javajs.util.BS bsTemp,
                                  java.util.Map<java.lang.String,javajs.util.BS> map)

      Repetitively AND unit components to get the final set of atoms
      Parameters:
        `tok` -
        `key` -
        `bsTemp` -
        `map` -
      Returns:
        true if there are still atoms to consider

    - #### getAnnotationBits

          private javajs.util.BS getAnnotationBits(java.lang.String name,
                                                   int tok,
                                                   java.lang.String specInfo)

    - #### getStructureLines

          private int getStructureLines(javajs.util.BS bsAtoms,
                                        javajs.util.SB cmd,
                                        javajs.util.Lst<ProteinStructure> lstStr,
                                        STR type,
                                        boolean scriptMode,
                                        int mode)

    - #### modelsOf

          private javajs.util.BS modelsOf(javajs.util.BS bsAtoms,
                                          javajs.util.BS bsAtomsRet)

      general purpose; return models associated with specific atoms
      Parameters:
        `bsAtoms` -
        `bsAtomsRet` - all atoms associated with these models.
      Returns:
        bitset of base models

    - #### setAllDefaultStructure

          private void setAllDefaultStructure(javajs.util.BS bsModels)

    - #### getAminoAcidValenceAndCharge

          public boolean getAminoAcidValenceAndCharge(java.lang.String s,
                                                      java.lang.String atomName,
                                                      int[] aaRet)