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 Stringprivate Stringprivate JmolJDXMOLParserprivate intprivate Stringprivate javajs.util.Lst<String>private intprivate Stringprivate StringFields 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, is2D, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, merging, modDim, modelNumber, ms, mustFinalizeModelSet, next, noHydrogens, noPack, optimize2D, 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 TypeMethodDescriptionvoidaddPeakData(String info) private voidsets an auxiliaryInfo string to "HNMR 13CNMR" or "IR" or "MS"private StringaddTypeStr(String types, String type) booleanvoidoptional reader-specific method run first.private intfindModelById(String modelID) voidvoidprocessModelData(String data, String id, String type, String base, String last, float modelScale, float vibScale, boolean isFirst) private voidintegrate therecords into the associated models, and delete unreferenced n.m models private voidprocessPeakSelectAtom(int i, String key, String data) private booleanprocessPeakSelectModel(int i, String title) private voidsetBonding(AtomSetCollection a, int ibase) add bonding to a set of ModelData based on a MOL file only if the this set has no bonding alreadyvoidsetSpectrumPeaks(int nH, String piUnitsX, String piUnitsY) private voidupdateModelIDs(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, deleteAtom, finalizeReaderMRMethods 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, setupASCRMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
initializeReaderin classMolReader- Throws:
Exception
-
checkLine
-
finalizeSubclassReader
Description copied from class:AtomSetCollectionReaderoptional reader-specific method run first.- Overrides:
finalizeSubclassReaderin 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:
processModelDatain 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:
addPeakDatain 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:
setSpectrumPeaksin interfaceJmolJDXMOLReader
-