public class AtomSetCollection extends Object
Modifier and Type | Field and Description |
---|---|
boolean |
allowMultiple |
private boolean |
applySymmetryToBonds |
private int |
atomCount |
private Atom[] |
atoms |
private int[] |
atomSetAtomCounts |
private int[] |
atomSetAtomIndexes |
private Map<String,Object>[] |
atomSetAuxiliaryInfo |
private int[] |
atomSetBondCounts |
private Map<String,Object> |
atomSetCollectionAuxiliaryInfo |
private int |
atomSetCount |
private int[] |
atomSetNumbers |
private Map<Object,Integer> |
atomSymbolicMap |
int |
baseSymmetryAtomCount |
private int |
bondCount |
private int |
bondCount0 |
private int |
bondIndex0 |
private Bond[] |
bonds |
BS |
bsAtoms |
BS |
bsStructuredModels |
private boolean |
centroidPacked |
private boolean |
checkAll |
private boolean |
checkLatticeOnly |
private boolean |
checkSpecial |
private String |
collectionName |
(package private) int[] |
connectLast |
(package private) int |
connectNextAtomIndex |
(package private) int |
connectNextAtomSet |
boolean |
coordinatesAreFractional |
private int |
currentAtomSetIndex |
private boolean |
doCentroidUnitCell |
(package private) boolean |
doFixPeriodic |
(package private) boolean |
doNormalize |
(package private) boolean |
doPackUnitCell |
private int |
dtype |
String |
errorMessage |
private String |
fileTypeName |
private int |
firstSymmetryAtom |
float[] |
fmatSupercell |
private static int |
GLOBAL_CONECT |
static int |
GLOBAL_FRACTCOORD |
static int |
GLOBAL_ISPDB |
static int |
GLOBAL_SYMMETRY |
static int |
GLOBAL_UNITCELLS |
private static String[] |
globalBooleans |
boolean |
haveAnisou |
private boolean |
haveMappedSerials |
(package private) boolean |
haveUnitCell |
(package private) boolean |
isTrajectory |
private int[] |
latticeCells |
private boolean |
latticeOnly |
private int |
latticeOp |
private javajs.util.P3i |
maxXYZ |
private javajs.util.P3 |
maxXYZ0 |
private javajs.util.P3i |
minXYZ |
private javajs.util.P3 |
minXYZ0 |
private javajs.util.M3 |
mTemp |
private int |
noSymmetryCount |
float[] |
notionalUnitCell |
static String[] |
notionalUnitcellTags |
private static int |
PARTICLE_CHAIN |
private static int |
PARTICLE_NONE |
private static int |
PARTICLE_SYMOP |
private javajs.util.P3 |
ptOffset |
javajs.util.P3 |
ptSupercell |
private javajs.util.P3 |
ptTemp |
(package private) AtomSetCollectionReader |
reader |
private javajs.util.List<AtomSetCollectionReader> |
readerList |
private float |
rmaxx |
private float |
rmaxy |
private float |
rmaxz |
private float |
rminx |
private float |
rminy |
private float |
rminz |
private int |
structureCount |
private Structure[] |
structures |
SymmetryInterface |
symmetry |
(package private) float |
symmetryRange |
private javajs.util.List<String> |
trajectoryNames |
private int |
trajectoryStepCount |
private javajs.util.List<javajs.util.P3[]> |
trajectorySteps |
javajs.util.P3 |
unitCellOffset |
private javajs.util.V3[] |
unitCellTranslations |
(package private) javajs.util.List<int[]> |
vConnect |
private javajs.util.List<javajs.util.V3[]> |
vibrationSteps |
Constructor and Description |
---|
AtomSetCollection(String fileTypeName,
AtomSetCollectionReader reader,
AtomSetCollection[] array,
javajs.util.List<?> list) |
Modifier and Type | Method and Description |
---|---|
void |
addAtom(Atom atom) |
void |
addAtomWithMappedName(Atom atom) |
void |
addAtomWithMappedSerialNumber(Atom atom) |
void |
addBond(Bond bond) |
void |
addConnection(int[] is) |
Atom |
addNewAtom() |
Bond |
addNewBondFromNames(String atomName1,
String atomName2,
int order) |
Bond |
addNewBondWithMappedSerialNumbers(int atomSerial1,
int atomSerial2,
int order) |
Bond |
addNewBondWithOrder(int atomIndex1,
int atomIndex2,
int order) |
Tensor |
addRotatedTensor(Atom a,
Tensor t,
int iSym,
boolean reset,
SymmetryInterface symmetry) |
(package private) int |
addSpaceGroupOperation(String xyz) |
void |
addStructure(Structure structure) |
private void |
addTrajectoryStep() |
void |
addVibrationVector(int iatom,
float x,
float y,
float z) |
void |
addVibrationVectorWithSymmetry(int iatom,
float vx,
float vy,
float vz,
boolean withSymmetry) |
private void |
appendAtomProperties(int nTimes) |
void |
appendAtomSetCollection(int collectionIndex,
AtomSetCollection collection)
Appends an AtomSetCollection
|
private void |
appendAtomSetCollectionList(javajs.util.List<?> list) |
private void |
applyAllSymmetry(MSInterface ms) |
(package private) void |
applySymmetry(SymmetryInterface symmetry,
MSInterface ms) |
void |
applySymmetryBio(Map<String,Object> thisBiomolecule,
float[] notionalUnitCell,
boolean applySymmetryToBonds,
String filter) |
private void |
applySymmetryLattice(MSInterface ms) |
void |
centralize() |
void |
clearGlobalBoolean(int globalIndex) |
void |
clearSymbolicMap() |
(package private) void |
cloneAtomSetProperties(int index)
Clones the properties of an atom set and associated it with the current
atom set.
|
void |
cloneFirstAtomSet(int atomCount) |
void |
cloneFirstAtomSetWithBonds(int nBonds) |
void |
cloneLastAtomSet() |
void |
cloneLastAtomSetFromPoints(int atomCount,
javajs.util.P3[] pts) |
void |
cloneLastAtomSetProperties()
Clones the properties of the last atom set and associates it with the
current atom set.
|
void |
connectAll(int maxSerial,
boolean isConnectStateBug) |
private void |
connectAllBad(int maxSerial) |
void |
createAtomSerialMap() |
void |
discardPreviousAtoms() |
void |
finalizeStructures() |
private void |
finalizeSymmetry(SymmetryInterface symmetry) |
private void |
finalizeTrajectory() |
void |
finalizeTrajectoryAs(javajs.util.List<javajs.util.P3[]> trajectorySteps,
javajs.util.List<javajs.util.V3[]> vibrationSteps) |
(package private) void |
finish() |
private static javajs.util.P3 |
fixPeriodic(javajs.util.P3 pt,
javajs.util.P3 pt0) |
private static float |
fixPoint(float x,
float x0) |
(package private) void |
freeze(boolean reverseModels) |
float[] |
getAnisoBorU(Atom atom) |
Atom |
getAtom(int i) |
int |
getAtomCount() |
int |
getAtomIndexFromName(String atomName) |
int |
getAtomIndexFromSerial(int serialNumber) |
Atom[] |
getAtoms() |
int |
getAtomSetAtomCount(int i) |
int |
getAtomSetAtomIndex(int i) |
(package private) Map<String,Object> |
getAtomSetAuxiliaryInfo(int atomSetIndex) |
Object |
getAtomSetAuxiliaryInfoValue(int index,
String key) |
int |
getAtomSetBondCount(int i) |
Object |
getAtomSetCollectionAuxiliaryInfo(String key) |
Map<String,Object> |
getAtomSetCollectionAuxiliaryInfoMap() |
int |
getAtomSetCount() |
(package private) String |
getAtomSetName(int atomSetIndex) |
(package private) int |
getAtomSetNumber(int atomSetIndex) |
Bond |
getBond(int i) |
int |
getBondCount() |
String[][] |
getBondList() |
Bond[] |
getBonds() |
String |
getCollectionName() |
int |
getCurrentAtomSetIndex() |
String |
getFileTypeName() |
int |
getFirstAtomSetAtomCount() |
(package private) boolean |
getGlobalBoolean(int globalIndex) |
int |
getHydrogenAtomCount() |
int |
getLastAtomSetAtomCount() |
int |
getLastAtomSetAtomIndex() |
private void |
getList(boolean isAltLoc) |
private int |
getMapIndex(Object nameOrNum) |
int |
getStructureCount() |
Structure[] |
getStructures() |
SymmetryInterface |
getSymmetry() |
private boolean |
isInSymmetryRange(javajs.util.P3 c) |
boolean |
isWithinCell(int dtype,
javajs.util.P3 pt,
float minX,
float maxX,
float minY,
float maxY,
float minZ,
float maxZ,
float slop) |
private void |
mapMostRecentAtomName() |
private void |
mapMostRecentAtomSerialNumber() |
void |
mapPartialCharge(String atomName,
float charge) |
(package private) void |
mergeTrajectories(AtomSetCollection a) |
void |
newAtomSet() |
void |
newAtomSetClear(boolean doClearMap) |
(package private) Atom |
newCloneAtom(Atom atom) |
void |
removeAtomSet(int imodel)
note that sets must be iterated from LAST to FIRST
|
void |
removeCurrentAtomSet() |
private void |
reverseArray(int[] a) |
private void |
reverseAtomSets() |
private static void |
reverseList(javajs.util.List<?> list) |
private void |
reverseObject(Object[] o) |
private void |
reverseSets(AtomSetObject[] o,
int n) |
void |
setAnisoBorU(Atom atom,
float[] data,
int type) |
Properties |
setAtomNames(Properties atomIdNames) |
void |
setAtomSetAtomProperty(String key,
String data,
int atomSetIndex) |
void |
setAtomSetAuxiliaryInfo(String key,
Object value)
Sets auxiliary information for the AtomSet
|
void |
setAtomSetAuxiliaryInfoForSet(String key,
Object value,
int atomSetIndex)
Sets auxiliary information for an AtomSet
|
void |
setAtomSetCollectionAuxiliaryInfo(String key,
Object value) |
boolean |
setAtomSetCollectionPartialCharges(String auxKey)
Sets the partial atomic charges based on atomSetCollection auxiliary info
|
void |
setAtomSetEnergy(String energyString,
float value) |
String |
setAtomSetFrequency(String pathKey,
String label,
String freq,
String units) |
void |
setAtomSetModelProperty(String key,
String value)
Sets a property for the current AtomSet used specifically for creating
directories and plots of frequencies and molecular energies
|
void |
setAtomSetModelPropertyForSet(String key,
String value,
int atomSetIndex)
Sets the a property for the an AtomSet
|
void |
setAtomSetName(String atomSetName)
Sets the name for the current AtomSet
|
void |
setAtomSetNames(String atomSetName,
int n,
BS namedSets)
Sets the atom set names of the last n atomSets
|
void |
setAtomSetNumber(int index,
int atomSetNumber) |
(package private) boolean |
setAtomSetPartialCharges(String auxKey)
Sets the partial atomic charges based on atomSet auxiliary info
|
void |
setAtomSetPropertyForSets(String key,
String value,
int n)
Sets the same properties for the last n atomSets.
|
(package private) void |
setAtomSetSpaceGroupName(String spaceGroupName) |
void |
setBaseSymmetryAtomCount(int n) |
void |
setCheckSpecial(boolean TF) |
void |
setCollectionName(String collectionName) |
void |
setCoordinatesAreFractional(boolean tf) |
void |
setCurrentAtomSetIndex(int i) |
void |
setCurrentAtomSetNumber(int atomSetNumber)
Sets the number for the current AtomSet
|
void |
setDoFixPeriodic() |
void |
setGlobalBoolean(int globalIndex) |
(package private) void |
setLatticeCells(int[] latticeCells,
boolean applySymmetryToBonds,
boolean doPackUnitCell,
boolean doCentroidUnitCell,
boolean centroidPacked,
String strSupercell,
javajs.util.P3 ptSupercell) |
void |
setLatticeOnly(boolean b) |
void |
setLatticeParameter(int latt) |
(package private) void |
setNoAutoBond() |
void |
setNotionalUnitCell(float[] info,
javajs.util.M3 matUnitCellOrientation,
javajs.util.P3 unitCellOffset) |
private void |
setSuperCell(String supercell) |
void |
setSupercellFromPoint(javajs.util.P3 pt) |
private javajs.util.P3 |
setSym(int i,
int j,
int k) |
private void |
setSymmetryMinMax(javajs.util.P3 c) |
private void |
setSymmetryOps() |
(package private) void |
setSymmetryRange(float factor) |
void |
setTensors() |
void |
setTrajectory() |
private void |
setTrajectoryName(String name) |
private int |
symmetryAddAtoms(int iAtomFirst,
int noSymmetryCount,
int transX,
int transY,
int transZ,
int baseCount,
int pt,
int iCellOpPt,
javajs.util.P3[] cartesians,
MSInterface ms) |
(package private) void |
toCartesian(SymmetryInterface symmetry) |
public BS bsAtoms
private String fileTypeName
private String collectionName
private static final String[] globalBooleans
public static final int GLOBAL_FRACTCOORD
public static final int GLOBAL_SYMMETRY
public static final int GLOBAL_UNITCELLS
private static final int GLOBAL_CONECT
public static final int GLOBAL_ISPDB
public static final String[] notionalUnitcellTags
private int atomCount
private Atom[] atoms
private int bondCount
private Bond[] bonds
private int structureCount
private Structure[] structures
private int atomSetCount
private int currentAtomSetIndex
private int[] atomSetNumbers
private int[] atomSetAtomIndexes
private int[] atomSetAtomCounts
private int[] atomSetBondCounts
private int[] latticeCells
public String errorMessage
public boolean coordinatesAreFractional
boolean isTrajectory
private int trajectoryStepCount
private javajs.util.List<javajs.util.P3[]> trajectorySteps
private javajs.util.List<javajs.util.V3[]> vibrationSteps
private javajs.util.List<String> trajectoryNames
boolean doFixPeriodic
public float[] notionalUnitCell
public boolean allowMultiple
AtomSetCollectionReader reader
private javajs.util.List<AtomSetCollectionReader> readerList
javajs.util.List<int[]> vConnect
int connectNextAtomIndex
int connectNextAtomSet
int[] connectLast
public BS bsStructuredModels
float symmetryRange
private boolean doCentroidUnitCell
private boolean centroidPacked
public javajs.util.P3 ptSupercell
public float[] fmatSupercell
public SymmetryInterface symmetry
boolean haveUnitCell
boolean doNormalize
boolean doPackUnitCell
private float rminx
private float rminy
private float rminz
private float rmaxx
private float rmaxy
private float rmaxz
private final javajs.util.P3 ptOffset
public javajs.util.P3 unitCellOffset
private javajs.util.P3i minXYZ
private javajs.util.P3i maxXYZ
private javajs.util.P3 minXYZ0
private javajs.util.P3 maxXYZ0
public boolean haveAnisou
private int dtype
private javajs.util.V3[] unitCellTranslations
public int baseSymmetryAtomCount
private boolean checkLatticeOnly
private int latticeOp
private boolean latticeOnly
private int noSymmetryCount
private int firstSymmetryAtom
private int bondCount0
private int bondIndex0
private boolean applySymmetryToBonds
private boolean checkSpecial
private boolean checkAll
private javajs.util.P3 ptTemp
private javajs.util.M3 mTemp
private static final int PARTICLE_NONE
private static final int PARTICLE_CHAIN
private static final int PARTICLE_SYMOP
private boolean haveMappedSerials
public AtomSetCollection(String fileTypeName, AtomSetCollectionReader reader, AtomSetCollection[] array, javajs.util.List<?> list)
public String getFileTypeName()
public String getCollectionName()
public void setCollectionName(String collectionName)
public Map<String,Object> getAtomSetCollectionAuxiliaryInfoMap()
public void clearGlobalBoolean(int globalIndex)
public void setGlobalBoolean(int globalIndex)
boolean getGlobalBoolean(int globalIndex)
public int getAtomCount()
public int getHydrogenAtomCount()
public Atom[] getAtoms()
public Atom getAtom(int i)
public int getBondCount()
public Bond[] getBonds()
public Bond getBond(int i)
public int getStructureCount()
public Structure[] getStructures()
public int getAtomSetCount()
public int getCurrentAtomSetIndex()
public void setCurrentAtomSetIndex(int i)
public void setDoFixPeriodic()
private void appendAtomSetCollectionList(javajs.util.List<?> list)
public void setTrajectory()
public void appendAtomSetCollection(int collectionIndex, AtomSetCollection collection)
collectionIndex
- collection index for new model numbercollection
- AtomSetCollection to appendvoid setNoAutoBond()
void freeze(boolean reverseModels)
private void reverseAtomSets()
private void reverseSets(AtomSetObject[] o, int n)
private void reverseObject(Object[] o)
private static void reverseList(javajs.util.List<?> list)
private void reverseArray(int[] a)
private void getList(boolean isAltLoc)
void finish()
public void discardPreviousAtoms()
public void removeAtomSet(int imodel)
imodel
- public void removeCurrentAtomSet()
public void cloneFirstAtomSetWithBonds(int nBonds) throws Exception
Exception
public void cloneLastAtomSetFromPoints(int atomCount, javajs.util.P3[] pts) throws Exception
Exception
public int getFirstAtomSetAtomCount()
public int getLastAtomSetAtomCount()
public int getLastAtomSetAtomIndex()
public Atom addNewAtom()
public void addAtom(Atom atom)
public void addAtomWithMappedName(Atom atom)
public void addAtomWithMappedSerialNumber(Atom atom)
public Bond addNewBondWithOrder(int atomIndex1, int atomIndex2, int order)
public Bond addNewBondWithMappedSerialNumbers(int atomSerial1, int atomSerial2, int order)
public void addConnection(int[] is)
private void connectAllBad(int maxSerial)
public void connectAll(int maxSerial, boolean isConnectStateBug)
public void addBond(Bond bond)
public void finalizeStructures()
public void addStructure(Structure structure)
public void addVibrationVectorWithSymmetry(int iatom, float vx, float vy, float vz, boolean withSymmetry)
public void addVibrationVector(int iatom, float x, float y, float z)
void setAtomSetSpaceGroupName(String spaceGroupName)
public void setCoordinatesAreFractional(boolean tf)
void setSymmetryRange(float factor)
void setLatticeCells(int[] latticeCells, boolean applySymmetryToBonds, boolean doPackUnitCell, boolean doCentroidUnitCell, boolean centroidPacked, String strSupercell, javajs.util.P3 ptSupercell)
public void setSupercellFromPoint(javajs.util.P3 pt)
private void setSuperCell(String supercell)
public SymmetryInterface getSymmetry()
public void setNotionalUnitCell(float[] info, javajs.util.M3 matUnitCellOrientation, javajs.util.P3 unitCellOffset)
int addSpaceGroupOperation(String xyz)
public void setLatticeParameter(int latt)
void applySymmetry(SymmetryInterface symmetry, MSInterface ms) throws Exception
Exception
private void applySymmetryLattice(MSInterface ms) throws Exception
Exception
private javajs.util.P3 setSym(int i, int j, int k)
private void setSymmetryMinMax(javajs.util.P3 c)
private boolean isInSymmetryRange(javajs.util.P3 c)
public boolean isWithinCell(int dtype, javajs.util.P3 pt, float minX, float maxX, float minY, float maxY, float minZ, float maxZ, float slop)
public void setAnisoBorU(Atom atom, float[] data, int type)
public float[] getAnisoBorU(Atom atom)
public void setTensors()
public void setLatticeOnly(boolean b)
public void setBaseSymmetryAtomCount(int n)
private void applyAllSymmetry(MSInterface ms) throws Exception
ms
- modulated structure interfaceException
private void finalizeSymmetry(SymmetryInterface symmetry)
private void setSymmetryOps()
public void setCheckSpecial(boolean TF)
private int symmetryAddAtoms(int iAtomFirst, int noSymmetryCount, int transX, int transY, int transZ, int baseCount, int pt, int iCellOpPt, javajs.util.P3[] cartesians, MSInterface ms) throws Exception
Exception
public Tensor addRotatedTensor(Atom a, Tensor t, int iSym, boolean reset, SymmetryInterface symmetry)
public void applySymmetryBio(Map<String,Object> thisBiomolecule, float[] notionalUnitCell, boolean applySymmetryToBonds, String filter)
private void mapMostRecentAtomName()
public void clearSymbolicMap()
private void mapMostRecentAtomSerialNumber()
public void createAtomSerialMap()
public int getAtomIndexFromName(String atomName)
public int getAtomIndexFromSerial(int serialNumber)
private int getMapIndex(Object nameOrNum)
public void setAtomSetCollectionAuxiliaryInfo(String key, Object value)
public boolean setAtomSetCollectionPartialCharges(String auxKey)
auxKey
- The auxiliary key name that contains the chargespublic void mapPartialCharge(String atomName, float charge)
private void addTrajectoryStep()
private static javajs.util.P3 fixPeriodic(javajs.util.P3 pt, javajs.util.P3 pt0)
private static float fixPoint(float x, float x0)
public void finalizeTrajectoryAs(javajs.util.List<javajs.util.P3[]> trajectorySteps, javajs.util.List<javajs.util.V3[]> vibrationSteps)
private void finalizeTrajectory()
public void newAtomSet()
public void newAtomSetClear(boolean doClearMap)
public int getAtomSetAtomIndex(int i)
public int getAtomSetAtomCount(int i)
public int getAtomSetBondCount(int i)
public void setAtomSetName(String atomSetName)
atomSetName
- The name to be associated with the current AtomSetprivate void setTrajectoryName(String name)
public void setAtomSetNames(String atomSetName, int n, BS namedSets)
atomSetName
- The namen
- The number of last AtomSets that needs these setnamedSets
- public void setCurrentAtomSetNumber(int atomSetNumber)
atomSetNumber
- The number for the current AtomSet.public void setAtomSetNumber(int index, int atomSetNumber)
public void setAtomSetModelProperty(String key, String value)
key
- The key for the propertyvalue
- The value to be associated with the keypublic void setAtomSetModelPropertyForSet(String key, String value, int atomSetIndex)
key
- The key for the propertyvalue
- The value for the propertyatomSetIndex
- The index of the AtomSet to get the propertypublic void setAtomSetAtomProperty(String key, String data, int atomSetIndex)
private void appendAtomProperties(int nTimes)
boolean setAtomSetPartialCharges(String auxKey)
auxKey
- The auxiliary key name that contains the chargespublic void setAtomSetAuxiliaryInfo(String key, Object value)
key
- The key for the propertyvalue
- The value to be associated with the keypublic void setAtomSetAuxiliaryInfoForSet(String key, Object value, int atomSetIndex)
key
- The key for the propertyvalue
- The value for the propertyatomSetIndex
- The index of the AtomSet to get the propertypublic void setAtomSetPropertyForSets(String key, String value, int n)
key
- The key for the propertyvalue
- The value of the propertyn
- The number of last AtomSets that needs these setpublic void cloneLastAtomSetProperties()
void cloneAtomSetProperties(int index)
index
- The index of the atom set whose properties are to be cloned.int getAtomSetNumber(int atomSetIndex)
String getAtomSetName(int atomSetIndex)
public Properties setAtomNames(Properties atomIdNames)
public void setAtomSetEnergy(String energyString, float value)
public String setAtomSetFrequency(String pathKey, String label, String freq, String units)
void toCartesian(SymmetryInterface symmetry)
public String[][] getBondList()
public void centralize()
void mergeTrajectories(AtomSetCollection a)