Package org.jmol.adapter.readers.more
Class JcampdxReader
java.lang.Object
org.jmol.adapter.smarter.AtomSetCollectionReader
org.jmol.adapter.readers.molxyz.MolReader
org.jmol.adapter.readers.more.JcampdxReader
- All Implemented Interfaces:
javajs.api.GenericLineReader
,JmolJDXMOLReader
A preliminary reader for JCAMP-DX files having ##$MODELS= and ##$PEAKS=
records
Designed by Robert Lancashire and Bob Hanson
specifications (by example here):
##$MODELS= acetophenone
DSViewer 3D 0
17 17 0 0 0 0 0 0 0 0999 V2000 ... 17 14 1 0 0 0 M END
17 1 Energy: -1454.38826 Freq: 3199.35852 C -1.693100
0.007800 0.000000 -0.000980 0.000120 0.000000 ...
-- All XML data should be line-oriented in the above fashion. Leading spaces
will be ignored. -- Any number of segments can be present -- The
first model is referred to as the "base" model -- The base model: -- will
generally be of type MOL, but any known type is acceptable -- will be used to
generate bonding for later models that have no bonding information -- will be
the only model for NMR -- Additional models can represent vibrations (XYZ
format) or MS fragmentation (MOL format, probably)
##$PEAKS= ...
-- peak record must be a single line of information because Jmol will use
line.trim() as a key to pass information to JSpecView.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate javajs.util.Lst<String[]>
private String
private String
private JmolJDXMOLParser
private int
private String
private javajs.util.Lst<String>
private int
private String
private String
Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addedData, addedDataKey, addVibrations, allow_a_len_1, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, baseBondIndex, binaryDoc, bsFilter, bsModels, calculationType, CELL_TYPE_CONVENTIONAL, CELL_TYPE_PRIMITIVE, centroidPacked, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCentroidUnitCell, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterAllHetero, filterCased, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noPack, out, packingError, paramsCentroid, paramsLattice, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, slabXY, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, ucItems, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPeakData
(String info) private void
sets an auxiliaryInfo string to "HNMR 13CNMR" or "IR" or "MS"private String
addTypeStr
(String types, String type) boolean
void
optional reader-specific method run first.private int
findModelById
(String modelID) void
void
processModelData
(String data, String id, String type, String base, String last, float modelScale, float vibScale, boolean isFirst) private void
integrate therecords into the associated models, and delete unreferenced n.m models private void
processPeakSelectAtom
(int i, String key, String data) private boolean
processPeakSelectModel
(int i, String title) private void
setBonding
(AtomSetCollection a, int ibase) add bonding to a set of ModelData based on a MOL file only if the this set has no bonding alreadyvoid
setSpectrumPeaks
(int nH, String piUnitsX, String piUnitsY) private void
updateModelIDs
(String id, int model0, boolean isFirst) The first model set is allowed to be a single model and given no extension.Methods inherited from class org.jmol.adapter.readers.molxyz.MolReader
addMolAtom, addMolBond, finalizeReaderMR
Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader
addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkAndRemoveFilterKey, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFilterWithCase, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jmol.api.JmolJDXMOLReader
discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, rd
-
Field Details
-
selectedModel
private int selectedModel -
mpr
-
acdMolFile
-
nPeaks
private int nPeaks -
acdAssignments
-
title
-
nucleus
-
type
-
peakData
-
allTypes
-
-
Constructor Details
-
JcampdxReader
public JcampdxReader()
-
-
Method Details
-
initializeReader
- Overrides:
initializeReader
in classMolReader
- Throws:
Exception
-
checkLine
-
finalizeSubclassReader
Description copied from class:AtomSetCollectionReader
optional reader-specific method run first.- Overrides:
finalizeSubclassReader
in classMolReader
- Throws:
Exception
-
processModelData
public void processModelData(String data, String id, String type, String base, String last, float modelScale, float vibScale, boolean isFirst) throws Exception - Specified by:
processModelData
in interfaceJmolJDXMOLReader
- Throws:
Exception
-
setBonding
add bonding to a set of ModelData based on a MOL file only if the this set has no bonding already- Parameters:
a
-ibase
-
-
updateModelIDs
The first model set is allowed to be a single model and given no extension. All other model sets are given .1 .2 .3 ... extensions to their IDs.- Parameters:
id
-model0
-isFirst
-
-
addPeakData
- Specified by:
addPeakData
in interfaceJmolJDXMOLReader
-
processPeakData
private void processPeakData()integrate therecords into the associated models, and delete unreferenced n.m models -
findModelById
-
addType
sets an auxiliaryInfo string to "HNMR 13CNMR" or "IR" or "MS"- Parameters:
imodel
-type
-
-
addTypeStr
-
processPeakSelectAtom
-
processPeakSelectModel
-
setSpectrumPeaks
- Specified by:
setSpectrumPeaks
in interfaceJmolJDXMOLReader
-