diff --git a/Code/GraphMol/Aromaticity.cpp b/Code/GraphMol/Aromaticity.cpp index 6768c38c0..0d51b9933 100644 --- a/Code/GraphMol/Aromaticity.cpp +++ b/Code/GraphMol/Aromaticity.cpp @@ -415,7 +415,7 @@ void applyHuckelToFused( std::copy(curRs.begin(), curRs.end(), std::inserter(aromRings, aromRings.begin())); } // end check huckel rule - } // end while(1) + } // end while(1) narom += rdcast(aromRings.size()); } @@ -682,6 +682,7 @@ int mdlAromaticityHelper(RWMol &mol, const VECT_INT_VECT &srings) { for (auto &sring : srings) { bool allAromatic = true; bool allDummy = true; + for (auto firstIdx : sring) { const auto at = mol.getAtomWithIdx(firstIdx); @@ -831,7 +832,6 @@ int aromaticityHelper(RWMol &mol, const VECT_INT_VECT &srings, (maxRingSize && ringSz > maxRingSize)) { continue; } - bool allAromatic = true; bool allDummy = true; for (auto firstIdx : sring) { diff --git a/Code/GraphMol/Bond.cpp b/Code/GraphMol/Bond.cpp index ab5189413..c885bfb32 100644 --- a/Code/GraphMol/Bond.cpp +++ b/Code/GraphMol/Bond.cpp @@ -191,6 +191,8 @@ double Bond::getValenceContrib(const Atom *atom) const { if ((getBondType() == DATIVE || getBondType() == DATIVEONE) && atom->getIdx() != getEndAtomIdx()) { res = 0.0; + } else if (getBondType() == HYDROGEN) { + res = 0.0; } else { res = getBondTypeAsDouble(); } diff --git a/Code/GraphMol/Bond.h b/Code/GraphMol/Bond.h index d36644e30..87c0833f2 100644 --- a/Code/GraphMol/Bond.h +++ b/Code/GraphMol/Bond.h @@ -386,12 +386,16 @@ class RDKIT_GRAPHMOL_EXPORT Bond : public RDProps { void initBond(); }; -inline bool isDative(const Bond &bond) { - auto bt = bond.getBondType(); +inline bool isDative(const Bond::BondType bt) { return bt == Bond::BondType::DATIVE || bt == Bond::BondType::DATIVEL || bt == Bond::BondType::DATIVER || bt == Bond::BondType::DATIVEONE; } +inline bool isDative(const Bond &bond) { + auto bt = bond.getBondType(); + return isDative(bt); +} + inline bool canSetDoubleBondStereo(const Bond &bond) { auto bondType = bond.getBondType(); return (bondType == Bond::SINGLE || bondType == Bond::AROMATIC || diff --git a/Code/GraphMol/CMakeLists.txt b/Code/GraphMol/CMakeLists.txt index 6c78ef0f6..a08a9775a 100644 --- a/Code/GraphMol/CMakeLists.txt +++ b/Code/GraphMol/CMakeLists.txt @@ -8,7 +8,7 @@ rdkit_library(GraphMol Renumber.cpp AdjustQuery.cpp Resonance.cpp StereoGroup.cpp new_canon.cpp SubstanceGroup.cpp FindStereo.cpp MonomerInfo.cpp NontetrahedralStereo.cpp Atropisomers.cpp - WedgeBonds.cpp MolProps.cpp + WedgeBonds.cpp MolProps.cpp SHARED LINK_LIBRARIES RDGeometryLib RDGeneral) target_compile_definitions(GraphMol PRIVATE RDKIT_GRAPHMOL_BUILD) diff --git a/Code/GraphMol/FileParsers/CMakeLists.txt b/Code/GraphMol/FileParsers/CMakeLists.txt index 6b654d04d..114ce9691 100644 --- a/Code/GraphMol/FileParsers/CMakeLists.txt +++ b/Code/GraphMol/FileParsers/CMakeLists.txt @@ -5,7 +5,8 @@ endif() rdkit_library(FileParsers CDXMLParser.cpp - Mol2FileParser.cpp MolFileParser.cpp + Mol2FileParser.cpp MolFileParser.cpp + SCSRMolFileParser.cpp MolSGroupParsing.cpp MolSGroupWriting.cpp MolFileStereochem.cpp MolFileWriter.cpp ForwardSDMolSupplier.cpp SDMolSupplier.cpp SDWriter.cpp @@ -23,7 +24,7 @@ rdkit_library(FileParsers MultithreadedMolSupplier.cpp MultithreadedSmilesMolSupplier.cpp MultithreadedSDMolSupplier.cpp - LINK_LIBRARIES GenericGroups Depictor SmilesParse ChemTransforms GraphMol ${RDK_MAEPARSER_LIBS}) + LINK_LIBRARIES GenericGroups Depictor SmilesParse ChemTransforms GraphMol SubstructMatch ${RDK_MAEPARSER_LIBS}) target_compile_definitions(FileParsers PRIVATE RDKIT_FILEPARSERS_BUILD) rdkit_headers(CDXMLParser.h @@ -75,6 +76,9 @@ rdkit_test(testExtendedStereoParsing testExtendedStereoParsing.cpp rdkit_catch_test(fileParsersCatchTest file_parsers_catch.cpp LINK_LIBRARIES FileParsers) +rdkit_catch_test(macromolsCatchTest macromols_catch.cpp + LINK_LIBRARIES FileParsers) + rdkit_catch_test(testPropertyLists testPropertyLists.cpp LINK_LIBRARIES FileParsers) diff --git a/Code/GraphMol/FileParsers/FileParserUtils.h b/Code/GraphMol/FileParsers/FileParserUtils.h index 45b7e717b..d15d027db 100644 --- a/Code/GraphMol/FileParsers/FileParserUtils.h +++ b/Code/GraphMol/FileParsers/FileParserUtils.h @@ -83,7 +83,8 @@ RDKIT_FILEPARSERS_EXPORT std::string getV3000Line(std::istream *inStream, RDKIT_FILEPARSERS_EXPORT bool ParseV3000CTAB( std::istream *inStream, unsigned int &line, RWMol *mol, Conformer *&conf, bool &chiralityPossible, unsigned int &nAtoms, unsigned int &nBonds, - bool strictParsing = true, bool expectMEND = true); + bool strictParsing = true, bool expectMEND = true, + bool expectMacroAtoms = false); // nAtoms and nBonds are used RDKIT_FILEPARSERS_EXPORT bool ParseV2000CTAB( diff --git a/Code/GraphMol/FileParsers/FileParsers.h b/Code/GraphMol/FileParsers/FileParsers.h index 9ef2c7405..750da9f82 100644 --- a/Code/GraphMol/FileParsers/FileParsers.h +++ b/Code/GraphMol/FileParsers/FileParsers.h @@ -52,6 +52,38 @@ struct RDKIT_FILEPARSERS_EXPORT MolFileParserParams { correctness of the contents. */ bool expandAttachmentPoints = false; /**< toggle conversion of attachment points into dummy atoms */ + bool parsingSCSRMol = false; /**< if true, we are parsing a SCSR mol file */ +}; +enum class SCSRTemplateNames { + AsEntered, // MolFromMolDataStream( std::istream &inStream, unsigned int &line, @@ -63,6 +95,19 @@ RDKIT_FILEPARSERS_EXPORT std::unique_ptr MolFromMolFile( const std::string &fName, const MolFileParserParams ¶ms = MolFileParserParams()); +RDKIT_FILEPARSERS_EXPORT std::unique_ptr MolFromSCSRDataStream( + std::istream &inStream, unsigned int &line, + const MolFileParserParams &molFileParserParams = MolFileParserParams(), + const MolFromSCSRParams &molFromSCSRParams = MolFromSCSRParams()); +RDKIT_FILEPARSERS_EXPORT std::unique_ptr MolFromSCSRBlock( + const std::string &molBlock, + const MolFileParserParams &molFileParserParams = MolFileParserParams(), + const MolFromSCSRParams &molFromSCSRParams = MolFromSCSRParams()); +RDKIT_FILEPARSERS_EXPORT std::unique_ptr MolFromSCSRFile( + const std::string &fName, + const MolFileParserParams &molFileParserParams = MolFileParserParams(), + const MolFromSCSRParams &molFromSCSRParams = MolFromSCSRParams()); + } // namespace FileParsers } // namespace v2 diff --git a/Code/GraphMol/FileParsers/MolFileParser.cpp b/Code/GraphMol/FileParsers/MolFileParser.cpp index fb741d70b..9cf376947 100644 --- a/Code/GraphMol/FileParsers/MolFileParser.cpp +++ b/Code/GraphMol/FileParsers/MolFileParser.cpp @@ -1382,8 +1382,12 @@ void setRGPProps(const std::string_view symb, Atom *res) { void lookupAtomicNumber(Atom *res, const std::string &symb, bool strictParsing) { + std::string tCopy(symb); + if (symb.size() == 2 && symb[1] >= 'A' && symb[1] <= 'Z') { + tCopy[1] = static_cast(tolower(symb[1])); + } try { - res->setAtomicNum(PeriodicTable::getTable()->getAtomicNumber(symb)); + res->setAtomicNum(PeriodicTable::getTable()->getAtomicNumber(tCopy)); } catch (const Invar::Invariant &e) { if (strictParsing || symb.empty()) { throw FileParseException(e.what()); @@ -1510,9 +1514,6 @@ Atom *ParseMolFileAtomLine(const std::string_view text, RDGeom::Point3D &pos, res.reset(new QueryAtom(0)); res->setProp(common_properties::atomLabel, std::string(symb)); } else { - if (symb.size() == 2 && symb[1] >= 'A' && symb[1] <= 'Z') { - symb[1] = static_cast(tolower(symb[1])); - } lookupAtomicNumber(res.get(), symb, strictParsing); } @@ -2182,9 +2183,6 @@ Atom *ParseV3000AtomSymbol(std::string_view token, unsigned int &line, res->setProp(common_properties::atomLabel, std::string(token)); } else { std::string tcopy(token); - if (token.size() == 2 && token[1] >= 'A' && token[1] <= 'Z') { - tcopy[1] = static_cast(tolower(token[1])); - } res.reset(new Atom(0)); lookupAtomicNumber(res.get(), tcopy, strictParsing); } @@ -2381,7 +2379,45 @@ void ParseV3000AtomProps(RWMol *mol, Atom *&atom, typename T::iterator &token, } } } else if (prop == "ATTCHORD") { - if (val != "0") { + // there are two kinds of ATTCHORD + // one is for template instances and looks like this: ATTCHORD=(4 1 Al 3 + // Br) + + if (val.substr(0, 1) == "(") { + // this is a template instance + + val = val.substr(1, val.size() - 2); + std::vector splitToken; + boost::split(splitToken, val, boost::is_any_of(" \t")); + + unsigned int itemCount = 0; + if (splitToken.size() > 0) { + itemCount = FileParserUtils::toInt(splitToken[0]); + } + + if (itemCount == 0 || itemCount % 2 != 0 || + splitToken.size() != itemCount + 1) { + errout << "Invalid ATTCHORD value: '" << val << "' for atom " + << atom->getIdx() + 1 << " on line " << line << std::endl; + throw FileParseException(errout.str()); + } + std::vector> attchOrds; + for (unsigned int i = 1; i < itemCount; i += 2) { + unsigned int idx = FileParserUtils::toInt(splitToken[i]); + // check for uniqueness + for (const auto &[aidx, lbl] : attchOrds) { + if (idx == aidx + 1 || splitToken[i + 1] == lbl) { + errout << "Invalid ATTCHORD value: '" << val << "' for atom " + << atom->getIdx() + 1 << " on line " << line << std::endl; + + throw FileParseException(errout.str()); + } + } + attchOrds.emplace_back(idx - 1, splitToken[i + 1]); + } + atom->setProp(common_properties::molAttachOrderTemplate, attchOrds); + } else { + // this is a normal ATTCHORD auto ival = FileParserUtils::toInt(val); atom->setProp(common_properties::molAttachOrder, ival); } @@ -2483,7 +2519,7 @@ bool calculate3dFlag(const RWMol &mol, const Conformer &conf, void ParseV3000AtomBlock(std::istream *inStream, unsigned int &line, unsigned int nAtoms, RWMol *mol, Conformer *conf, - bool strictParsing) { + bool strictParsing, bool expectMacroAtoms) { PRECONDITION(inStream, "bad stream"); PRECONDITION(nAtoms > 0, "bad atom count"); PRECONDITION(mol, "bad molecule"); @@ -2523,7 +2559,35 @@ void ParseV3000AtomBlock(std::istream *inStream, unsigned int &line, errout << "Bad atom line : '" << tempStr << "' on line " << line; throw FileParseException(errout.str()); } - Atom *atom = ParseV3000AtomSymbol(*token, line, strictParsing); + + // before we parse the symbol, we need to know if the atom has a class attr. + // if it does, it is a macro atom reference, and we do not need to parse the + // symbol. (the single letter codes can be the same as element sysmbols or + // special query names) + + auto isMacroAtom = false; + if (expectMacroAtoms) { + auto lookAheadToken = token + 1; + while (lookAheadToken != tokens.end()) { + std::string prop; + std::string_view val; + if (splitAssignToken(*lookAheadToken, prop, val) && prop == "CLASS") { + isMacroAtom = true; + break; + } + ++lookAheadToken; + } + } + + Atom *atom = nullptr; + if (isMacroAtom) { + atom = new Atom(0); + atom->setAtomicNum(0); + std::string tcopy(*token); + atom->setProp(common_properties::dummyLabel, tcopy); + } else { + atom = ParseV3000AtomSymbol(*token, line, strictParsing); + } // now the position; RDGeom::Point3D pos; @@ -3118,7 +3182,8 @@ namespace FileParserUtils { bool ParseV3000CTAB(std::istream *inStream, unsigned int &line, RWMol *mol, Conformer *&conf, bool &chiralityPossible, unsigned int &nAtoms, unsigned int &nBonds, - bool strictParsing, bool expectMEND) { + bool strictParsing, bool expectMEND, + bool expectMacroAtoms) { PRECONDITION(inStream, "bad stream"); PRECONDITION(mol, "bad molecule"); @@ -3171,7 +3236,8 @@ bool ParseV3000CTAB(std::istream *inStream, unsigned int &line, RWMol *mol, mol->setProp(common_properties::_MolFileChiralFlag, chiralFlag); if (nAtoms) { - ParseV3000AtomBlock(inStream, line, nAtoms, mol, conf, strictParsing); + ParseV3000AtomBlock(inStream, line, nAtoms, mol, conf, strictParsing, + expectMacroAtoms); } if (nBonds) { ParseV3000BondBlock(inStream, line, nBonds, mol, chiralityPossible); @@ -3195,37 +3261,85 @@ bool ParseV3000CTAB(std::istream *inStream, unsigned int &line, RWMol *mol, tempStr = getV3000Line(inStream, line); } - if (nSgroups) { - boost::to_upper(tempStr); - if (tempStr.length() < 12 || tempStr.substr(0, 12) != "BEGIN SGROUP") { - std::ostringstream errout; - errout << "BEGIN SGROUP line not found on line " << line; - if (strictParsing) { - throw FileParseException(errout.str()); - } else { - BOOST_LOG(rdWarningLog) << errout.str() << std::endl; - } - } else { - tempStr = - ParseV3000SGroupsBlock(inStream, line, nSgroups, mol, strictParsing); - boost::to_upper(tempStr); - if (tempStr.length() < 10 || tempStr.substr(0, 10) != "END SGROUP") { + bool sgroupFound = false; + bool obj3dFound = false; + boost::to_upper(tempStr); + while (tempStr.length() > 5 && tempStr.substr(0, 5) == "BEGIN") { + if (tempStr.length() >= 12 && tempStr.substr(0, 12) == "BEGIN SGROUP") { + if (sgroupFound) { std::ostringstream errout; - errout << "END SGROUP line not found on line " << line; + errout << "BEGIN SGROUP found more than once on line " << line; + throw FileParseException(errout.str()); + + } else if (!nSgroups) { + std::ostringstream errout; + errout << "BEGIN SGROUP found but Sgroups NOT expected on line " + << line; if (strictParsing) { throw FileParseException(errout.str()); } else { BOOST_LOG(rdWarningLog) << errout.str() << std::endl; } } else { + sgroupFound = true; + tempStr = ParseV3000SGroupsBlock(inStream, line, nSgroups, mol, + strictParsing); + boost::to_upper(tempStr); + if (tempStr.length() < 10 || tempStr.substr(0, 10) != "END SGROUP") { + std::ostringstream errout; + errout << "END SGROUP line not found on line " << line; + if (strictParsing) { + throw FileParseException(errout.str()); + } else { + BOOST_LOG(rdWarningLog) << errout.str() << std::endl; + } + } else { + tempStr = getV3000Line(inStream, line); + boost::to_upper(tempStr); + } + } + + } else if (tempStr.length() >= 15 && + tempStr.substr(6, 10) == "COLLECTION") { + tempStr = parseEnhancedStereo(inStream, line, mol); + boost::to_upper(tempStr); + } else if (tempStr.length() >= 11 && + tempStr.substr(0, 11) == "BEGIN OBJ3D") { + if (obj3dFound) { + std::ostringstream errout; + errout << "BEGIN OBJ3D found more than once on line " << line; + throw FileParseException(errout.str()); + } + if (!n3DConstraints) { + std::ostringstream errout; + errout << "BEGIN OBJ3D found but 3n3DConstraints NOT expected on line " + << line; + if (strictParsing) { + throw FileParseException(errout.str()); + } else { + BOOST_LOG(rdWarningLog) << errout.str() << std::endl; + } + } + BOOST_LOG(rdWarningLog) + << "3D constraint information in mol block ignored at line " << line + << std::endl; + obj3dFound = true; + for (unsigned int i = 0; i < n3DConstraints; ++i) { tempStr = getV3000Line(inStream, line); } - } - } - - while (tempStr.length() > 5 && tempStr.substr(0, 5) == "BEGIN") { - if (tempStr.length() > 15 && tempStr.substr(6, 10) == "COLLECTION") { - tempStr = parseEnhancedStereo(inStream, line, mol); + tempStr = getV3000Line(inStream, line); + boost::to_upper(tempStr); + if (tempStr.length() < 9 || tempStr.substr(0, 9) != "END OBJ3D") { + std::ostringstream errout; + errout << "END OBJ3D line not found on line " << line; + if (strictParsing) { + throw FileParseException(errout.str()); + } else { + BOOST_LOG(rdWarningLog) << errout.str() << std::endl; + } + } + tempStr = getV3000Line(inStream, line); + boost::to_upper(tempStr); } else { // skip blocks we don't know how to read BOOST_LOG(rdWarningLog) << "skipping block at line " << line << ": '" @@ -3234,38 +3348,27 @@ bool ParseV3000CTAB(std::istream *inStream, unsigned int &line, RWMol *mol, tempStr = getV3000Line(inStream, line); } tempStr = getV3000Line(inStream, line); + boost::to_upper(tempStr); } } - if (n3DConstraints) { - BOOST_LOG(rdWarningLog) - << "3D constraint information in mol block ignored at line " << line - << std::endl; - boost::to_upper(tempStr); - if (tempStr.length() < 11 || tempStr.substr(0, 11) != "BEGIN OBJ3D") { - std::ostringstream errout; - errout << "BEGIN OBJ3D line not found on line " << line; - if (strictParsing) { - throw FileParseException(errout.str()); - } else { - BOOST_LOG(rdWarningLog) << errout.str() << std::endl; - } - } - for (unsigned int i = 0; i < n3DConstraints; ++i) { - tempStr = getV3000Line(inStream, line); - } - tempStr = getV3000Line(inStream, line); - boost::to_upper(tempStr); - if (tempStr.length() < 9 || tempStr.substr(0, 9) != "END OBJ3D") { - std::ostringstream errout; - errout << "END OBJ3D line not found on line " << line; - if (strictParsing) { - throw FileParseException(errout.str()); - } else { - BOOST_LOG(rdWarningLog) << errout.str() << std::endl; - } + if (nSgroups && !sgroupFound) { + std::ostringstream errout; + errout << "BEGIN SGROUP line not found on line " << line; + if (strictParsing) { + throw FileParseException(errout.str()); } else { - tempStr = getV3000Line(inStream, line); + BOOST_LOG(rdWarningLog) << errout.str() << std::endl; + } + } + + if (n3DConstraints && !obj3dFound) { + std::ostringstream errout; + errout << "BEGIN OBJ3D line not found on line " << line; + if (strictParsing) { + throw FileParseException(errout.str()); + } else { + BOOST_LOG(rdWarningLog) << errout.str() << std::endl; } } @@ -3537,6 +3640,10 @@ std::unique_ptr MolFromMolDataStream(std::istream &inStream, } else { BOOST_LOG(rdWarningLog) << errout.str() << std::endl; } + } else if (params.parsingSCSRMol) { + std::ostringstream errout; + errout << "SCSR Mol files is not V3000 at line" << line; + throw FileParseException(errout.str()); } } @@ -3560,9 +3667,17 @@ std::unique_ptr MolFromMolDataStream(std::istream &inStream, BOOST_LOG(rdWarningLog) << errout.str() << std::endl; } } + + auto expectMEND = true; + auto expectMacroAtoms = false; + if (params.parsingSCSRMol) { + expectMEND = false; + expectMacroAtoms = true; + } + fileComplete = FileParserUtils::ParseV3000CTAB( &inStream, line, res.get(), conf, chiralityPossible, nAtoms, nBonds, - params.strictParsing); + params.strictParsing, expectMEND, expectMacroAtoms); } } catch (MolFileUnhandledFeatureException &e) { // unhandled mol file feature, show an error diff --git a/Code/GraphMol/FileParsers/MolSGroupParsing.cpp b/Code/GraphMol/FileParsers/MolSGroupParsing.cpp index 330387b45..ed16a256a 100644 --- a/Code/GraphMol/FileParsers/MolSGroupParsing.cpp +++ b/Code/GraphMol/FileParsers/MolSGroupParsing.cpp @@ -267,7 +267,7 @@ void ParseSGroupV2000SDILine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, } void ParseSGroupV2000SSTLine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, - const std::string &text, unsigned int line, + const std::string &text, unsigned int &line, bool strictParsing) { PRECONDITION(mol, "bad mol"); PRECONDITION(text.substr(0, 6) == "M SST", "bad SST line"); @@ -315,7 +315,7 @@ void ParseSGroupV2000SSTLine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, } void ParseSGroupV2000SMTLine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, - const std::string &text, unsigned int line, + const std::string &text, unsigned int &line, bool strictParsing) { PRECONDITION(mol, "bad mol"); PRECONDITION(text.substr(0, 6) == "M SMT", "bad SMT line"); @@ -1177,7 +1177,14 @@ void ParseV3000ParseLabel(const std::string &label, errout << "Unsupported SGroup connection type '" << strValue << "' on line " << line; throw FileParseException(errout.str()); + } else if (label == "CLASS" && + !SubstanceGroupChecks::isValidClass(strValue)) { + std::ostringstream errout; + errout << "Unsupported SGroup template class '" << strValue + << "' on line " << line; + throw FileParseException(errout.str()); } + // NATREPLACE is not validated nor used sgroup.setProp(label, strValue); } @@ -1188,7 +1195,7 @@ void ParseV3000ParseLabel(const std::string &label, } } -std::string ParseV3000SGroupsBlock(std::istream *inStream, unsigned int line, +std::string ParseV3000SGroupsBlock(std::istream *inStream, unsigned int &line, unsigned int nSgroups, RWMol *mol, bool strictParsing) { PRECONDITION(inStream, "no stream"); diff --git a/Code/GraphMol/FileParsers/MolSGroupParsing.h b/Code/GraphMol/FileParsers/MolSGroupParsing.h index 4f683a066..86caffe14 100644 --- a/Code/GraphMol/FileParsers/MolSGroupParsing.h +++ b/Code/GraphMol/FileParsers/MolSGroupParsing.h @@ -63,11 +63,11 @@ void ParseSGroupV2000SDILine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, bool strictParsing = true); void ParseSGroupV2000SSTLine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, - const std::string &text, unsigned int line, + const std::string &text, unsigned int &line, bool strictParsing = true); void ParseSGroupV2000SMTLine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, - const std::string &text, unsigned int line, + const std::string &text, unsigned int &line, bool strictParsing = true); void ParseSGroupV2000SLBLine(IDX_TO_SGROUP_MAP &sGroupMap, RWMol *mol, @@ -154,7 +154,7 @@ void ParseV3000SAPLabel(RWMol *mol, SubstanceGroup &sgroup, std::string ParseV3000StringPropLabel(std::stringstream &stream); // returns the last line read in the SGroups block -std::string ParseV3000SGroupsBlock(std::istream *inStream, unsigned int line, +std::string ParseV3000SGroupsBlock(std::istream *inStream, unsigned int &line, unsigned int nSgroups, RWMol *mol, bool strictParsing); diff --git a/Code/GraphMol/FileParsers/SCSRMolFileParser.cpp b/Code/GraphMol/FileParsers/SCSRMolFileParser.cpp new file mode 100644 index 000000000..2899b6991 --- /dev/null +++ b/Code/GraphMol/FileParsers/SCSRMolFileParser.cpp @@ -0,0 +1,1319 @@ +// +// Copyright (C) 2024 Tad Hurst and other RDKit contributors +// +// @@ All Rights Reserved @@ +// This file is part of the RDKit. +// The contents are covered by the terms of the BSD license +// which is included in the file license.txt, found at the root +// of the RDKit source tree. +// + +#include "FileParserUtils.h" +#include "MolSGroupParsing.h" +#include +#include +#include + +#include +#include + +using namespace RDKit::SGroupParsing; + +namespace RDKit { + +namespace v2 { +namespace FileParsers { + +class SCSRMol { + private: + std::unique_ptr p_mol; + std::vector> p_templates; + + public: + SCSRMol() {}; + SCSRMol(const SCSRMol &other) = delete; + SCSRMol(SCSRMol &&other) noexcept = delete; + SCSRMol &operator=(SCSRMol &&other) noexcept = delete; + + SCSRMol &operator=(const SCSRMol &) = delete; // disable assignment + ~SCSRMol() {} + + void addTemplate(std::unique_ptr templateMol) { + PRECONDITION(templateMol, "bad template molecule"); + p_templates.push_back(std::move(templateMol)); + } + + unsigned int getTemplateCount() const { return p_templates.size(); } + + ROMol *getTemplate(unsigned int index) { return p_templates[index].get(); }; + + const ROMol *getMol() const { return p_mol.get(); } + + ROMol *getMol() { return p_mol.get(); } + + void setMol(std::unique_ptr mol) { + PRECONDITION(mol, "bad molecule"); + p_mol = std::move(mol); + } +}; + +//------------------------------------------------ +// +// Read a SCVSR molecule from a stream +// +//------------------------------------------------ +static std::unique_ptr SCSRMolFromSCSRDataStream( + std::istream &inStream, unsigned int &line, + const RDKit::v2::FileParsers::MolFileParserParams ¶ms) { + bool chiralityPossible = false; + if (inStream.eof()) { + return nullptr; + } + auto res = std::unique_ptr(new SCSRMol()); + auto localParams = params; + localParams.parsingSCSRMol = true; + res->setMol(RDKit::v2::FileParsers::MolFromMolDataStream(inStream, line, + localParams)); + + // now get all of the templates + + auto tempStr = FileParserUtils::getV3000Line(&inStream, line); + + if (tempStr != "BEGIN TEMPLATE") { + std::ostringstream errout; + errout << "BEGIN TEMPLATE not found at line " << line; + throw FileParseException(errout.str()); + } + tempStr = FileParserUtils::getV3000Line(&inStream, line); + + // TEMPLATE 1 AA/Cya/Cya/ NATREPLACE=AA/A + while (tempStr.substr(0, 8) == "TEMPLATE") { + std::vector tokens; + boost::algorithm::split(tokens, tempStr, boost::algorithm::is_space()); + + std::string natReplace = ""; + if (tokens.size() == 4) { + if (tokens[3].size() < 12 || tokens[3].substr(0, 11) != "NATREPLACE=") { + std::ostringstream errout; + errout << "Bad NATREPLACE entry at line " << line; + throw FileParseException(errout.str()); + } + natReplace = tokens[3].substr(12); + } else if (tokens.size() != 3) { + std::ostringstream errout; + errout << "Bad TEMPLATE at line " << line; + throw FileParseException(errout.str()); + } + boost::algorithm::split(tokens, tokens[2], + boost::algorithm::is_any_of("/")); + if (tokens.size() < 3) { + std::ostringstream errout; + errout << "Type/Name(s) string is not of the form \"AA/Gly/G/\" at line " + << line; + throw FileParseException(errout.str()); + } + + res->addTemplate(std::unique_ptr(new ROMol())); + auto templateMol = (RWMol *)res->getTemplate(res->getTemplateCount() - 1); + + templateMol->setProp(common_properties::natReplace, natReplace); + templateMol->setProp(common_properties::molAtomClass, tokens[0]); + + std::vector templateNames; + for (unsigned int i = 1; i < tokens.size(); ++i) { + if (tokens[i] != "") { + templateNames.push_back(tokens[i]); + } + } + + templateMol->setProp(common_properties::templateNames, templateNames); + auto molComplete = false; + Conformer *conf = nullptr; + try { + unsigned int nAtoms = 0, nBonds = 0; + bool expectMEND = false; + molComplete = FileParserUtils::ParseV3000CTAB( + &inStream, line, templateMol, conf, chiralityPossible, nAtoms, nBonds, + params.strictParsing, expectMEND); + } catch (MolFileUnhandledFeatureException &e) { + // unhandled mol file feature, show an error + res.reset(); + delete conf; + conf = nullptr; + BOOST_LOG(rdErrorLog) << " Unhandled CTAB feature: '" << e.what() + << "'. Molecule skipped." << std::endl; + + if (!inStream.eof()) { + tempStr = getLine(inStream); + } + ++line; + while (!inStream.eof() && !inStream.fail() && + tempStr.substr(0, 6) != "M END" && + tempStr.substr(0, 4) != "$$$$") { + tempStr = getLine(inStream); + ++line; + } + molComplete = !inStream.eof() || tempStr.substr(0, 6) == "M END" || + tempStr.substr(0, 4) == "$$$$"; + } catch (FileParseException &e) { + // catch our exceptions and throw them back after cleanup + delete conf; + conf = nullptr; + throw e; + } + + if (!molComplete) { + delete conf; + conf = nullptr; + std::ostringstream errout; + errout + << "Problems encountered parsing Mol data, M END or BEGIN TEMPLATE missing around line " + << line; + throw FileParseException(errout.str()); + } + + if (templateMol) { + auto tempParams = params; + tempParams.sanitize = false; + tempParams.removeHs = false; + FileParserUtils::finishMolProcessing(templateMol, chiralityPossible, + tempParams); + } + + tempStr = FileParserUtils::getV3000Line(&inStream, line); + } + + if (tempStr != "END TEMPLATE") { + std::ostringstream errout; + errout << "END TEMPLATE not found at line " << line; + throw FileParseException(errout.str()); + } + + tempStr = getLine(inStream); + ++line; + if (tempStr.substr(0, 6) != "M END") { + std::ostringstream errout; + errout << "M END not found at line " << line; + throw FileParseException(errout.str()); + } + + // now validate the templates to the main mol + // each atom in the mol that requires a template should match one, + // and the ATTCHORD entries of each main atom must be consistent + // with the template mol it matches. + + unsigned int atomCount = res.get()->getMol()->getNumAtoms(); + for (unsigned int atomIdx = 0; atomIdx < atomCount; ++atomIdx) { + auto atom = res->getMol()->getAtomWithIdx(atomIdx); + + std::string dummyLabel = ""; + std::string atomClass = ""; + std::vector> attchOrds; + if (atom->hasProp(common_properties::dummyLabel)) { + dummyLabel = atom->getProp(common_properties::dummyLabel); + } + if (atom->hasProp(common_properties::molAtomClass)) { + atomClass = atom->getProp(common_properties::molAtomClass); + } + if (atom->hasProp(common_properties::molAttachOrderTemplate)) { + atom->getProp(common_properties::molAttachOrderTemplate, attchOrds); + } + if (dummyLabel != "" && atomClass != "") { + // find the template that matches the class and label + + bool templateFound = false; + for (unsigned int templateIdx = 0; + !templateFound && templateIdx < res.get()->getTemplateCount(); + ++templateIdx) { + auto templateMol = res->getTemplate(templateIdx); + if (templateMol->getProp( + common_properties::molAtomClass) == atomClass) { + for (auto templateName : + templateMol->getProp>( + common_properties::templateNames)) { + if (templateFound) { + break; + } + if (templateName != dummyLabel) { + continue; // check next template name + } + // find the SUP group for the main connections (not leaving + // groups) + + const RDKit::SubstanceGroup *mainSUP = nullptr; + for (auto &sgroup : RDKit::getSubstanceGroups(*templateMol)) { + if (sgroup.getProp("TYPE") == "SUP" && + sgroup.getProp("CLASS") == atomClass) { + mainSUP = &sgroup; + break; + } + } + + if (mainSUP == nullptr) { + break; // breaks out of the loop over template names - continues + // to next template + } + + // now check the ATTCHORD entries + templateFound = true; // tentative - until some attachment point in + // the atom is not found in the template + for (const auto &attachOrd : attchOrds) { + auto supAttachPoints = mainSUP->getAttachPoints(); + if (std::find_if(supAttachPoints.begin(), supAttachPoints.end(), + [&attachOrd](auto a) { + return a.id == attachOrd.second; + }) == supAttachPoints.end()) { + templateFound = false; + break; + } + } + } + } + } + + if (!templateFound) { + std::ostringstream errout; + errout << "No template found for atom " << atom->getIdx() << " class " + << atomClass << " label " << dummyLabel; + throw FileParseException(errout.str()); + } + } + } + + return res; +} + +//------------------------------------------------ +// +// Read a molecule from a string +// +//------------------------------------------------ +static std::unique_ptr SCSRMolFromSCSRBlock( + const std::string &molBlock, + const RDKit::v2::FileParsers::MolFileParserParams ¶ms) { + std::istringstream inStream(molBlock); + unsigned int line = 0; + return SCSRMolFromSCSRDataStream(inStream, line, params); +} + +//------------------------------------------------ +// +// Read a molecule from a file +// +//------------------------------------------------ +static std::unique_ptr SCSRMolFromSCSRFile( + const std::string &fName, const MolFileParserParams ¶ms) { + std::ifstream inStream(fName.c_str()); + if (!inStream || (inStream.bad())) { + std::ostringstream errout; + errout << "Bad input file " << fName; + throw BadFileException(errout.str()); + } + if (!inStream.eof()) { + unsigned int line = 0; + return SCSRMolFromSCSRDataStream(inStream, line, params); + } else { + return std::unique_ptr(); + } +} + +class MolFromSCSRMolConverter { + private: + class OriginAtomDef { + public: + OriginAtomDef(unsigned int mainAtomIdx, unsigned int templateAtomIdx) + : mainAtomIdx(mainAtomIdx), templateAtomIdx(templateAtomIdx) {} + + private: + unsigned int mainAtomIdx; + unsigned int templateAtomIdx; + + public: + bool operator<(const OriginAtomDef &other) const { + if (mainAtomIdx != other.mainAtomIdx) { + return mainAtomIdx < other.mainAtomIdx; + } + return templateAtomIdx < other.templateAtomIdx; + } + }; + + class OriginAtomConnection { + public: + OriginAtomConnection(unsigned int mainAtomIdx, std::string attachLabel) + : mainAtomIdx(mainAtomIdx), attachLabel(attachLabel) {} + + private: + unsigned int mainAtomIdx; + std::string attachLabel; + + public: + unsigned int getMainAtomIdx() const { return mainAtomIdx; } + std::string getAttachLabel() const { return attachLabel; } + + bool operator<(const OriginAtomConnection &other) const { + if (mainAtomIdx != other.getMainAtomIdx()) { + return mainAtomIdx < other.mainAtomIdx; + } + return attachLabel < other.attachLabel; + } + }; + + struct HydrogenBondConnection { + unsigned int d_templateAtomIdx; + bool df_isDonor; + + HydrogenBondConnection(unsigned int templateAtomIdx, bool isDonor) + : d_templateAtomIdx(templateAtomIdx), df_isDonor(isDonor) {} + }; + + struct HbondQueryData { + std::string d_smarts; + std::string d_name; + std::vector d_hBondConnections; + std::shared_ptr dp_mol; + HbondQueryData(const std::string &smarts, const std::string &name, + std::vector hBondConnections) + : d_smarts(smarts), + d_name(name), + d_hBondConnections(hBondConnections), + dp_mol{SmartsToMol(smarts)} {} + }; + + SCSRMol *scsrMol; + std::unique_ptr resMol; + const ROMol *mol; + const MolFileParserParams molFileParserParams; + const MolFromSCSRParams molFromSCSRParams; + + std::map> + hBondSitesForTemplate; + std::map atomIdxToTemplateIdx; + + ROMol *atomIdxToTemplateMol(unsigned int atomIdx) { + return scsrMol->getTemplate(atomIdxToTemplateIdx[atomIdx]); + } + + // maps main atom# and template atom# to new atom# + std::map originAtomMap; + + // maps main atom# and attach label to template atom# + std::map> attachMap; + + unsigned int getNewAtomForBond(const Atom *atom, unsigned int otherAtomIdx) { + std::string atomClass = ""; + unsigned int atomIdx = atom->getIdx(); + if (!atom->getPropIfPresent(common_properties::molAtomClass, + atomClass)) { + return originAtomMap.at(OriginAtomDef(atomIdx, UINT_MAX)); + } + + // if here , it is a template atom + // this routine is NOT called for H-bonds, so there is only one atom to + // attach + std::vector> attchOrds; + atom->getProp(common_properties::molAttachOrderTemplate, attchOrds); + for (const auto &[idx, lbl] : attchOrds) { + if (idx == otherAtomIdx) { + auto attachMapIt = attachMap.find(OriginAtomConnection(atomIdx, lbl)); + if (attachMapIt == attachMap.end() || attachMapIt->second.empty()) { + throw FileParseException("Attachment ord not found"); + } + return originAtomMap.at(OriginAtomDef(atomIdx, attachMapIt->second[0])); + } + } + + // error attachment ord not found + throw FileParseException("Attachment ord not found"); + } + + void getNewAtomsForHydrogenBond( + Atom *atom, unsigned int otherAtomIdx, + std::vector &hydrogenBondConnections) { + std::string atomClass = ""; + unsigned int atomIdx = atom->getIdx(); + auto templateMol = atomIdxToTemplateMol(atomIdx); + hydrogenBondConnections.clear(); + if (!atom->getPropIfPresent(common_properties::molAtomClass, + atomClass)) { + return; // hatoms only allowed in templates + } + + // if here , it is a template atom + // there could be more than one atom in the template that matches the atom + // for instance, the hydrogen bonds to the template can result in multiple + // hydrogen bonds in the expanded molecule + + std::vector> attchOrds; + atom->getProp(common_properties::molAttachOrderTemplate, attchOrds); + for (const auto &[idx, lbl] : attchOrds) { + if (idx == otherAtomIdx) { + auto attachMapIt = attachMap.find(OriginAtomConnection(atomIdx, lbl)); + if (attachMapIt == attachMap.end()) { + return; // error, attachment ord not found + } + + for (auto templateAtomIdx : attachMapIt->second) { + auto templateAtom = templateMol->getAtomWithIdx(templateAtomIdx); + templateAtom->updatePropertyCache(); + auto isDonor = templateAtom->getTotalNumHs() > 0; + hydrogenBondConnections.emplace_back(templateAtomIdx, isDonor); + if (molFromSCSRParams.scsrBaseHbondOptions == + SCSRBaseHbondOptions::UseSapOne) { + return; + } + } + return; + } + } + + // error attachment ord not found + return; + } + + void copySgroupIntoResult( + const unsigned int atomIdx, const RDKit::SubstanceGroup &sgroup, + std::string sgroupName, + std::vector> &newSgroups, + RDKit::Conformer *newConf, const RDGeom::Point3D &coordOffset) { + // add a superatom sgroup to mark the atoms from this macro atom + // expansion. These new superatom sgroups are not put into the output mol + // yet, because the bonds have not be added to the mol nor to the sgroup. + // They are saved in an array to be added later + + std::string typ = "SUP"; + newSgroups.emplace_back(new SubstanceGroup((ROMol *)resMol.get(), typ)); + auto newSgroup = newSgroups.back().get(); + newSgroup->setProp("LABEL", sgroupName); + + // copy the atoms of the sgroup into the new molecule + + if (newConf) { + newConf->resize(newConf->getNumAtoms() + + atomIdxToTemplateMol(atomIdx)->getNumAtoms()); + } + + for (auto templateAtomIdx : sgroup.getAtoms()) { + auto templateAtom = + atomIdxToTemplateMol(atomIdx)->getAtomWithIdx(templateAtomIdx); + auto newAtom = new Atom(*templateAtom); + + resMol->addAtom(newAtom, true, true); + newSgroup->addAtomWithIdx(newAtom->getIdx()); + + originAtomMap[OriginAtomDef(atomIdx, templateAtomIdx)] = + newAtom->getIdx(); + + // atomMap[atomIdx].push_back(newAtom->getIdx()); + if (newConf) { + newConf->setAtomPos( + newAtom->getIdx(), + coordOffset + + atomIdxToTemplateMol(atomIdx)->getConformer().getAtomPos( + templateAtomIdx)); + } + } + } + + void addBond(const Bond::BondType bondType, unsigned int beginAtom, + unsigned int endAtom) { + auto newBond = new Bond(bondType); + newBond->setBeginAtomIdx(beginAtom); + newBond->setEndAtomIdx(endAtom); + // newBond->updateProps(*bond, false); + resMol->addBond(newBond, true); + } + + void addBonds(const Bond::BondType bondType, + const unsigned int mainBeginAtomIdx, + const unsigned int mainEndAtomIdx, + const std::vector &beginAtoms, + const std::vector &endAtoms) { + for (unsigned int i = 0; i < beginAtoms.size(); i++) { + addBond(bondType, + originAtomMap[OriginAtomDef(mainBeginAtomIdx, + beginAtoms[i].d_templateAtomIdx)], + originAtomMap[OriginAtomDef(mainEndAtomIdx, + endAtoms[i].d_templateAtomIdx)]); + } + } + + void processBondInMainMol(const Bond *bond) { + unsigned int newBeginAtom; + unsigned int newEndAtom; + + if (bond->getBondType() != Bond::HYDROGEN) { + newBeginAtom = + getNewAtomForBond(bond->getBeginAtom(), bond->getEndAtomIdx()); + if (newBeginAtom == UINT_MAX) { + throw FileParseException("Error getting new atom for bond"); + } + + newEndAtom = + getNewAtomForBond(bond->getEndAtom(), bond->getBeginAtomIdx()); + if (newEndAtom == UINT_MAX) { + throw FileParseException("Error getting new atom for bond"); + } + + addBond(bond->getBondType(), newBeginAtom, newEndAtom); + return; + } + + // if here it is a hydrogen bond + + // the processing of H-bonds is contorlled by the SCSRBaseHbondOptions + // member of the SCSRMolFileParserParams parameter. The options are: + + // Ignore - if this is selected, all H-bonds are + // ignored and not processed. + + // UseSapAll = 1, // if this is selected, all SAPs + // for the hbond are used. They must be defined in the template in the + // correct order, which starts with the first atom nearest the Al + // connection, and continues sequentially + + // If there are 3 sites on eash side and they are complimentary (the + // donors match acceptors and vice versa), we add the bonds. and + // we are done. + + // If not, we check to check to see if they comply to a wobble bond + // configuration. There are four generally accepted wobble bonds, and we + // deal with these four types only. The four known wobble bonds are: + // 1. I-C + // 2. I-U + // 3. I-A + // 4. G-U + // "I" stands for inosine - it has only two available hbond sites . The + // pair G-U has three sites on each end, but they are not complimentary. + // (https://en.wikipedia.org/wiki/Wobble_base_pair#:~:text=A%20wobble%20base%20pair%20is,hypoxanthine%2Dcytosine%20(I%2DC). + + // For pairs that have I or something like it, the configuration must be + // DA, so the two atoms form the two H bonds. The other side (C,U or A) + // has confiuration of AAD (C), ADA (U), or DAD (A). For C-type bases and + // A type bases, the second and third atoms are used (AD), and for U + // types, the first two atoms are used (AD). + + // for the GU pair, both sides have 3 atoms, but they are not + // complimentary. The second and third sites on the G side are used (DA), + // and the first two sites on the U side are used (AD). + + // in any other case, we punt and add just one bond, between the first + // atom on both sides even if they are NOT complemenary. This just + // indicates that the sides are h-bonded somehow and keeps the overall + // pairing straight. + + // UseSapOne + // if this is selected, use only one SAP hbond per base + // If multiple SAPs are defined, use the first + // even if it is not the best + //(this just maintains the relationship between + // the to base pairs) + + // Auto + // For bases that are C,G,A,T,U,In (and + // derivatives) use the standard Watson-Crick + // Hbonding. No SAPs need to be defined, and if + // defined, they are ignored. + // the definitions of the binding sites are determined by substructure + // matching + + std::vector beginHatomConnections; + std::vector endHatomConnections; + + if (molFromSCSRParams.scsrBaseHbondOptions == + SCSRBaseHbondOptions::Ignore) { + return; + } + if (molFromSCSRParams.scsrBaseHbondOptions == + SCSRBaseHbondOptions::UseSapAll || + molFromSCSRParams.scsrBaseHbondOptions == + SCSRBaseHbondOptions::UseSapOne) { + // get the hydrogen bond sites from the template SAPs + getNewAtomsForHydrogenBond(bond->getBeginAtom(), bond->getEndAtomIdx(), + beginHatomConnections); + + if (beginHatomConnections.empty()) { + throw FileParseException("No Attach Point for bond"); + } + + getNewAtomsForHydrogenBond(bond->getEndAtom(), bond->getBeginAtomIdx(), + endHatomConnections); + if (endHatomConnections.empty()) { + throw FileParseException("No Attach Point for bond"); + } + } else if (molFromSCSRParams.scsrBaseHbondOptions == + SCSRBaseHbondOptions::Auto) { + // get the hbond sites from the map already created for each + // base template + auto templateIdx = atomIdxToTemplateIdx[bond->getBeginAtomIdx()]; + beginHatomConnections = hBondSitesForTemplate[templateIdx]; + + templateIdx = atomIdxToTemplateIdx[bond->getEndAtomIdx()]; + endHatomConnections = hBondSitesForTemplate[templateIdx]; + } + unsigned int mainBeginAtomIdx = bond->getBeginAtomIdx(); + unsigned int mainEndAtomIdx = bond->getEndAtomIdx(); + + if (beginHatomConnections.empty() || endHatomConnections.empty()) { + // no hydrogen bond sites found, so just add the bond between the + // first atoms on both sides + return; // no hydrogen bond sites found, so skip the bond + } + if (beginHatomConnections.size() == 3 && endHatomConnections.size() == 3) { + // see if the two donor flag lists are + // complementary + + bool complimentary = true; + for (auto index = 0; index < 3; ++index) { + // .second is the bool for donors + if (beginHatomConnections[index].df_isDonor == + endHatomConnections[index].df_isDonor) { + complimentary = false; // both are donors or both are + // acceptors + break; + } + } + + if (complimentary) { + addBonds(bond->getBondType(), mainBeginAtomIdx, mainEndAtomIdx, + beginHatomConnections, endHatomConnections); + return; + } + + // Check for G-U type pairs in a wobble bond + // configuratio first see if one has the + // configuration DDA (like G) + + bool foundDDA = false; + if (beginHatomConnections[0].df_isDonor && + beginHatomConnections[1].df_isDonor && + !beginHatomConnections[2].df_isDonor) { + foundDDA = true; + } else if (endHatomConnections[0].df_isDonor && + endHatomConnections[1].df_isDonor && + !endHatomConnections[2].df_isDonor) { + foundDDA = true; + std::swap(beginHatomConnections, endHatomConnections); + std::swap(mainBeginAtomIdx, mainEndAtomIdx); + } + + if (foundDDA) { + std::vector wobbleBeginAtoms; + std::vector wobbleEndAtoms; + + wobbleBeginAtoms.push_back(beginHatomConnections[1]); + wobbleBeginAtoms.push_back(beginHatomConnections[2]); + + // see if the other side has the + // configuration ADA (like U) + if (!endHatomConnections[0].df_isDonor && + endHatomConnections[1].df_isDonor && + !endHatomConnections[2].df_isDonor) { + // ADA use the first two atoms + wobbleEndAtoms.push_back(endHatomConnections[0]); + wobbleEndAtoms.push_back(endHatomConnections[1]); + addBonds(bond->getBondType(), mainBeginAtomIdx, mainEndAtomIdx, + wobbleBeginAtoms, wobbleEndAtoms); + return; + } + } + } else if (beginHatomConnections.size() * endHatomConnections.size() == + 6) /* one is 2 and one is 3*/ { + if (endHatomConnections.size() == 2) { + // make sure the first set has two atoms, and the second has 3 + std::swap(beginHatomConnections, endHatomConnections); + std::swap(mainBeginAtomIdx, mainEndAtomIdx); + } + + std::vector wobbleEndAtoms; + if (beginHatomConnections[0].df_isDonor && + !beginHatomConnections[1].df_isDonor) { // like I (DA) + if (!endHatomConnections[1].df_isDonor && + endHatomConnections[2].df_isDonor) { // 2nd and 3rd are AD + // like A (DAD) or C (AAD) + wobbleEndAtoms.push_back(endHatomConnections[1]); + wobbleEndAtoms.push_back(endHatomConnections[2]); + addBonds(bond->getBondType(), mainBeginAtomIdx, mainEndAtomIdx, + beginHatomConnections, wobbleEndAtoms); + return; + + } else if (!endHatomConnections[0].df_isDonor && + endHatomConnections[1].df_isDonor) { + // like U (ADA) + wobbleEndAtoms.push_back(endHatomConnections[0]); + wobbleEndAtoms.push_back(endHatomConnections[1]); + addBonds(bond->getBondType(), mainBeginAtomIdx, mainEndAtomIdx, + beginHatomConnections, wobbleEndAtoms); + return; + } + } + } + + // if here, we have no wobble bond, so just add + // the bond between the first atoms on both sides + + addBond(bond->getBondType(), + originAtomMap[OriginAtomDef( + mainBeginAtomIdx, beginHatomConnections[0].d_templateAtomIdx)], + originAtomMap[OriginAtomDef( + mainEndAtomIdx, endHatomConnections[0].d_templateAtomIdx)]); + return; + } + + public: + MolFromSCSRMolConverter(SCSRMol *scsrMolInit, + const MolFileParserParams &molFileParserParamsInit, + const MolFromSCSRParams &molFromSCSRParamsInit) + : scsrMol(scsrMolInit), + molFileParserParams(molFileParserParamsInit), + molFromSCSRParams(molFromSCSRParamsInit) {} + + std::unique_ptr convert() { + resMol.reset(new RWMol()); + mol = scsrMol->getMol(); + + // first get some information from the templates to be used when + // creating the coords for the new atoms. this is a dirty approach + // that simply expands the orginal macro atom coords to be big + // enough to hold any expanded macro atom. No attempt is made to + // make this look nice, or to avoid overlaps. + std::vector templateCentroids; + double maxSize = 0.0; + + const Conformer *conf = nullptr; + std::unique_ptr newConf(nullptr); + if (mol->getNumConformers() != 0) { + conf = &mol->getConformer(0); + newConf.reset(new Conformer(scsrMol->getMol()->getNumAtoms())); + newConf->set3D(conf->is3D()); + + for (unsigned int templateIdx = 0; + templateIdx < scsrMol->getTemplateCount(); ++templateIdx) { + auto templateMol = scsrMol->getTemplate(templateIdx); + RDGeom::Point3D sumOfCoords; + const RDKit::Conformer *templateConf = nullptr; + auto confCount = templateMol->getNumConformers(); + if (confCount == 0) { + conf = nullptr; + break; + } + templateConf = &templateMol->getConformer(0); + RDGeom::Point3D maxCoord = templateConf->getAtomPos(0); + RDGeom::Point3D minCoord = maxCoord; + for (unsigned int atomIdx = 0; atomIdx < templateMol->getNumAtoms(); + ++atomIdx) { + auto atomCoord = templateConf->getAtomPos(atomIdx); + sumOfCoords += atomCoord; + + if (atomCoord.x > maxCoord.x) { + maxCoord.x = atomCoord.x; + } + if (atomCoord.y > maxCoord.y) { + maxCoord.y = atomCoord.y; + } + if (atomCoord.z > maxCoord.z) { + maxCoord.z = atomCoord.z; + } + if (atomCoord.x < minCoord.x) { + minCoord.x = atomCoord.x; + } + if (atomCoord.y < minCoord.y) { + minCoord.y = atomCoord.y; + } + if (atomCoord.z < minCoord.z) { + minCoord.z = atomCoord.z; + } + } + templateCentroids.push_back(sumOfCoords / templateMol->getNumAtoms()); + if (maxCoord.x - minCoord.x > maxSize) { + maxSize = maxCoord.x - minCoord.x; + } + if (maxCoord.y - minCoord.y > maxSize) { + maxSize = maxCoord.y - minCoord.y; + } + if (maxCoord.z - minCoord.z > maxSize) { + maxSize = maxCoord.z - minCoord.z; + } + } + } + + // if we are perceiving the H-bonding locations for base templates, do that + // here + + if (molFromSCSRParams.scsrBaseHbondOptions == SCSRBaseHbondOptions::Auto) { + static const std::vector hbondQueries = { + {"[NH]1C=NC2=C1N=C([NH2])[NH]C2=O", + "Guanine", + {HydrogenBondConnection(7, true), HydrogenBondConnection(8, true), + HydrogenBondConnection(10, false)}}, + {"[NH]1C=NC2=C1N=[CH]N=C2[NH2]", + "Adenine", + {HydrogenBondConnection(6, true), HydrogenBondConnection(7, false), + HydrogenBondConnection(9, true)}}, + {"[NH]1C=CC([NH2])=NC1=O", + "Cytosine", + {HydrogenBondConnection(7, false), HydrogenBondConnection(5, false), + HydrogenBondConnection(4, true)}}, + {"[NH]1C=CC(=O)[NH]C1=O", + "Thyamine-Uracil", + {HydrogenBondConnection(7, false), HydrogenBondConnection(5, true), + HydrogenBondConnection(4, false)}}, + {"[NH]1C=NC2=C1N=C[NH]C2=O", + "Inosine", + {HydrogenBondConnection(7, true), + HydrogenBondConnection(9, false)}}}; + for (unsigned int templateIdx = 0; + templateIdx < scsrMol->getTemplateCount(); ++templateIdx) { + auto templateMol = scsrMol->getTemplate(templateIdx); + templateMol->updatePropertyCache(); + + if (templateMol->getProp( + common_properties::molAtomClass) != "BASE") { + continue; + } + + hBondSitesForTemplate[templateIdx] = + std::vector(); + for (const auto &querySmi : hbondQueries) { + RDKit::SubstructMatchParameters params; + auto match = SubstructMatch(*templateMol, *querySmi.dp_mol, params); + + if (match.empty()) { + continue; + } + + for (const auto &hbondData : querySmi.d_hBondConnections) { + hBondSitesForTemplate[templateIdx].emplace_back( + match[0][hbondData.d_templateAtomIdx].second, + hbondData.df_isDonor); + } + + break; // only take the first match + } + } + } + + // for each atom in the main mol, expand it to full atom form + + std::vector newStereoGroups; + std::vector absoluteAtoms; + std::vector absoluteBonds; + + std::vector> newSgroups; + + unsigned int atomCount = mol->getNumAtoms(); + for (unsigned int atomIdx = 0; atomIdx < atomCount; ++atomIdx) { + auto atom = mol->getAtomWithIdx(atomIdx); + std::string dummyLabel = ""; + std::string atomClass = ""; + + if (!atom->getPropIfPresent(common_properties::dummyLabel, dummyLabel) || + !atom->getPropIfPresent(common_properties::molAtomClass, atomClass) || + dummyLabel == "" || atomClass == "") { + // NOT a template atom - just copy it + auto newAtom = new Atom(*atom); + resMol->addAtom(newAtom, true, true); + // atomMap[atomIdx].push_back(newAtom->getIdx()); + + // templatesFound.push_back(nullptr); + originAtomMap[OriginAtomDef(atomIdx, UINT_MAX)] = newAtom->getIdx(); + if (conf != nullptr) { + newConf->setAtomPos(newAtom->getIdx(), + conf->getAtomPos(atomIdx) * maxSize); + } + } else { // it is a macro atom - expand it + + unsigned int seqId = 0; + atom->getPropIfPresent(common_properties::molAtomSeqId, seqId); + + // find the template that matches the class and label + + ROMol *templateMol = nullptr; + unsigned int templateIdx; + bool templateFound = false; + std::string templateNameToUse = ""; + for (templateIdx = 0; templateIdx < scsrMol->getTemplateCount(); + ++templateIdx) { + templateMol = scsrMol->getTemplate(templateIdx); + std::vector templateNames; + std::string templateName; + std::string templateAtomClass; + if (templateMol->getPropIfPresent( + common_properties::molAtomClass, templateAtomClass) && + templateAtomClass == atomClass && + templateMol->getPropIfPresent>( + common_properties::templateNames, templateNames) && + std::find(templateNames.begin(), templateNames.end(), + dummyLabel) != templateNames.end()) { + templateFound = true; + switch (molFromSCSRParams.scsrTemplateNames) { + case SCSRTemplateNames::UseFirstName: + templateNameToUse = templateNames[0]; + break; + case SCSRTemplateNames::UseSecondName: + templateNameToUse = templateNames.back(); + break; + case SCSRTemplateNames::AsEntered: + templateNameToUse = dummyLabel; + break; + } + break; + } + } + + if (!templateFound) { + std::ostringstream errout; + errout << "No template found for atom " << atomIdx << " class " + << atomClass << " label " << dummyLabel; + throw FileParseException(errout.str()); + } + + atomIdxToTemplateIdx[atomIdx] = templateIdx; + std::vector> attchOrds; + + atom->getPropIfPresent(common_properties::molAttachOrderTemplate, + attchOrds); + + // first find the sgroup that is the base for this atom's + // template + + const SubstanceGroup *sgroup = nullptr; + for (auto &sgroupToTest : RDKit::getSubstanceGroups(*templateMol)) { + std::string sup; + std::string sgroupAtomClass; + if (sgroupToTest.getPropIfPresent("TYPE", sup) && + sup == "SUP" && + sgroupToTest.getPropIfPresent("CLASS", + sgroupAtomClass) && + sgroupAtomClass == atomClass) { + sgroup = &sgroupToTest; + break; + } + } + + if (sgroup == nullptr) { + throw FileParseException("No SUP sgroup found for atom"); + } + + // add the atoms from the main template to the new molecule + std::string sgroupName = templateNameToUse; + if (seqId != 0) { + sgroupName += "_" + std::to_string(seqId); + } + + auto coordOffset = (conf->getAtomPos(atomIdx) * maxSize) - + templateCentroids[templateIdx]; + + copySgroupIntoResult(atomIdx, *sgroup, sgroupName, newSgroups, + newConf.get(), coordOffset); + + // find the attachment points used by this atom and record them + // in attachMap. + + for (const auto &[idx, lbl] : attchOrds) { + attachMap[OriginAtomConnection(atomIdx, lbl)] = + std::vector(); + auto &attachAtoms = attachMap[OriginAtomConnection(atomIdx, lbl)]; + for (auto attachPoint : sgroup->getAttachPoints()) { + if (attachPoint.id == lbl) { + attachAtoms.push_back(attachPoint.aIdx); + } + } + if (attachAtoms.size() == 0) { + throw FileParseException("Attachment point not found"); + } + } + + // if we are including atoms from leaving groups, go through the + // attachment points of the main sgroup. If the attach point is + // not found in the attachords, then find the sgroup for that + // attach point and add its atoms the molecule + + if (molFromSCSRParams.includeLeavingGroups) { + for (auto attachPoint : sgroup->getAttachPoints()) { + if (attachMap.find(OriginAtomConnection(atomIdx, attachPoint.id)) == + attachMap.end()) { + bool foundLgSgroup = false; + + for (auto lgSgroup : getSubstanceGroups(*templateMol)) { + std::string lgSup; + std::string lgSgroupAtomClass; + if (lgSgroup.getPropIfPresent("TYPE", lgSup) && + lgSup == "SUP" && + lgSgroup.getPropIfPresent("CLASS", + lgSgroupAtomClass) && + lgSgroupAtomClass == "LGRP") { + auto lgSgroupAtoms = lgSgroup.getAtoms(); + if (std::find(lgSgroupAtoms.begin(), lgSgroupAtoms.end(), + attachPoint.lvIdx) != lgSgroupAtoms.end()) { + std::string sgroupName = dummyLabel; + if (seqId != 0) { + sgroupName += "_" + std::to_string(seqId); + } + sgroupName += "_" + attachPoint.id; + foundLgSgroup = true; + copySgroupIntoResult(atomIdx, lgSgroup, sgroupName, + newSgroups, newConf.get(), + coordOffset); + + break; + } + } + } + + if (!foundLgSgroup) { + throw FileParseException("Leaving group SGroup " + + attachPoint.id + " not found"); + } + } + } + } + + // copy the bonds of the template into the new molecule + // if the bonds are between atoms in the new molecule + // Bonds to atoms in leaving groups that "left" are NOT copied + + for (auto bond : templateMol->bonds()) { + if (originAtomMap.find(OriginAtomDef( + atomIdx, bond->getBeginAtomIdx())) == originAtomMap.end() || + originAtomMap.find(OriginAtomDef( + atomIdx, bond->getEndAtomIdx())) == originAtomMap.end()) { + continue; // bond not in the new molecule + } + auto newBeginAtomIdx = + originAtomMap[OriginAtomDef(atomIdx, bond->getBeginAtomIdx())]; + auto newEndAtomIdx = + originAtomMap[OriginAtomDef(atomIdx, bond->getEndAtomIdx())]; + + auto newBond = new Bond(bond->getBondType()); + newBond->setBeginAtomIdx(newBeginAtomIdx); + newBond->setEndAtomIdx(newEndAtomIdx); + newBond->updateProps(*bond, false); + resMol->addBond(newBond, true); + } + + // take care of stereo groups in the template + // abs groups are added to the list of abs atoms and bonds, so + // that we can add ONE abs group later + + for (auto &sg : templateMol->getStereoGroups()) { + std::vector newGroupAtoms; + std::vector newGroupBonds; + + for (auto sgAtom : sg.getAtoms()) { + auto originAtom = OriginAtomDef(atomIdx, sgAtom->getIdx()); + + auto newAtomPtr = originAtomMap.find(originAtom); + if (newAtomPtr != originAtomMap.end()) { + newGroupAtoms.push_back( + resMol->getAtomWithIdx(newAtomPtr->second)); + } + } + + for (auto sgBond : sg.getBonds()) { + auto originBeginAtom = + OriginAtomDef(atomIdx, sgBond->getBeginAtomIdx()); + auto originEndAtom = + OriginAtomDef(atomIdx, sgBond->getEndAtomIdx()); + + auto newBeginAtomPtr = originAtomMap.find(originBeginAtom); + auto newEndAtomPtr = originAtomMap.find(originEndAtom); + if (newBeginAtomPtr != originAtomMap.end() && + newEndAtomPtr != originAtomMap.end()) { + auto newBond = resMol->getBondBetweenAtoms( + newBeginAtomPtr->second, newEndAtomPtr->second); + if (newBond != nullptr) { + newGroupBonds.push_back(newBond); + } + } + } + + if (sg.getGroupType() == StereoGroupType::STEREO_ABSOLUTE) { + absoluteAtoms.insert(absoluteAtoms.end(), newGroupAtoms.begin(), + newGroupAtoms.end()); + absoluteBonds.insert(absoluteBonds.end(), newGroupBonds.begin(), + newGroupBonds.end()); + } else { + // make a new group + + newStereoGroups.emplace_back(sg.getGroupType(), newGroupAtoms, + newGroupBonds); + } + } + } + } + + if (resMol->getNumAtoms() == 0) { + return std::move(resMol); + } + + if (conf != nullptr) { + newConf->resize(resMol->getNumAtoms()); + resMol->addConformer(newConf.release()); + } + + // now deal with the bonds from the original mol. + + for (auto bond : scsrMol->getMol()->bonds()) { + processBondInMainMol(bond); + } + + // copy any attrs from the main mol + + for (auto &prop : mol->getPropList(false, false)) { + std::string propVal; + if (mol->getPropIfPresent(prop, propVal)) { + resMol->setProp(prop, propVal); + } + } + + // copy the sgroups from the main mol for atoms not in a template + + for (auto &sg : getSubstanceGroups(*mol)) { + if (sg.getIsValid()) { + auto &atoms = sg.getAtoms(); + std::vector newAtoms; + for (auto atom : atoms) { + auto originAtom = OriginAtomDef(atom, UINT_MAX); + auto newAtomPtr = originAtomMap.find(originAtom); + if (newAtomPtr != originAtomMap.end()) { + newAtoms.push_back(newAtomPtr->second); + } else { + // some atoms were in templates and others were not - cannot + // add this sgroup + newAtoms.clear(); + break; + } + } + if (newAtoms.size() > 0) { + newSgroups.emplace_back(new SubstanceGroup(sg)); + auto newSg = newSgroups.back().get(); + // RDKit::SubstanceGroup newSg(sg); + + newSg->setAtoms(newAtoms); + } + } + } + + // now that we have all substance groups from the template and from + // the non-template atoms, and we have all the bonds, find the + // Xbonds for each substance group and add them + + for (auto bond : resMol->bonds()) { + for (auto &sg : newSgroups) { + // if one atom of the bond is found and the other is not in the + // sgroup, this is a Xbond + auto sgAtoms = sg->getAtoms(); + if ((std::find(sgAtoms.begin(), sgAtoms.end(), + bond->getBeginAtomIdx()) == sgAtoms.end()) != + (std::find(sgAtoms.begin(), sgAtoms.end(), bond->getEndAtomIdx()) == + sgAtoms.end())) { + sg->addBondWithIdx(bond->getIdx()); + } + } + } + + if (newSgroups.size() > 0) { + for (auto &sg : newSgroups) { + addSubstanceGroup(*resMol, *sg.get()); + } + } + newSgroups.clear(); // just tidy cleanup + + // take care of stereo groups in the main mol - for atoms that are + // NOT template refs + + for (auto &sg : mol->getStereoGroups()) { + std::vector newGroupAtoms; + std::vector newGroupBonds; + + for (auto sgAtom : sg.getAtoms()) { + auto originAtom = OriginAtomDef(sgAtom->getIdx(), UINT_MAX); + auto newAtomPtr = originAtomMap.find(originAtom); + if (newAtomPtr != originAtomMap.end()) { + newGroupAtoms.push_back(resMol->getAtomWithIdx(newAtomPtr->second)); + } + } + + for (auto sgBond : sg.getBonds()) { + auto originBeginAtom = + OriginAtomDef(sgBond->getBeginAtomIdx(), UINT_MAX); + auto originEndAtom = OriginAtomDef(sgBond->getEndAtomIdx(), UINT_MAX); + auto newBeginAtomPtr = originAtomMap.find(originBeginAtom); + auto newEndAtomPtr = originAtomMap.find(originEndAtom); + + if (newBeginAtomPtr != originAtomMap.end() && + newEndAtomPtr != originAtomMap.end()) { + auto newBond = resMol->getBondBetweenAtoms(newBeginAtomPtr->second, + newEndAtomPtr->second); + if (newBond != nullptr) { + newGroupBonds.push_back(newBond); + } + } + + if (sg.getGroupType() == StereoGroupType::STEREO_ABSOLUTE) { + absoluteAtoms.insert(absoluteAtoms.end(), newGroupAtoms.begin(), + newGroupAtoms.end()); + absoluteBonds.insert(absoluteBonds.end(), newGroupBonds.begin(), + newGroupBonds.end()); + } else { + // make a new group + + newStereoGroups.emplace_back(sg.getGroupType(), newGroupAtoms, + newGroupBonds); + } + } + } + + // make an absolute group that contains any absolute atoms or bonds + // from either the main mol or the template instantiations + + if (!absoluteAtoms.empty() || !absoluteBonds.empty()) { + newStereoGroups.emplace_back(StereoGroupType::STEREO_ABSOLUTE, + absoluteAtoms, absoluteBonds); + } + + if (newStereoGroups.size() > 0) { + resMol->setStereoGroups(newStereoGroups); + } + + bool chiralityPossible = false; + FileParserUtils::finishMolProcessing(resMol.get(), chiralityPossible, + molFileParserParams); + + return std::move(resMol); + } +}; + +static std::unique_ptr MolFromSCSRMol( + SCSRMol *scsrMol, const MolFileParserParams &molFileParserParams, + const MolFromSCSRParams &molFromSCSRParams) { + MolFromSCSRMolConverter converter(scsrMol, molFileParserParams, + molFromSCSRParams); + return converter.convert(); +} + +std::unique_ptr MolFromSCSRDataStream( + std::istream &inStream, unsigned int &line, + const MolFileParserParams &molFileParserParams, + const MolFromSCSRParams &molFromSCSRParams) { + auto scsr = SCSRMolFromSCSRDataStream(inStream, line, molFileParserParams); + return MolFromSCSRMol(scsr.get(), molFileParserParams, molFromSCSRParams); +} + +std::unique_ptr MolFromSCSRBlock( + const std::string &molBlock, const MolFileParserParams &molFileParserParams, + const MolFromSCSRParams &molFromSCSRParams) { + auto scsr = SCSRMolFromSCSRBlock(molBlock, molFileParserParams); + return MolFromSCSRMol(scsr.get(), molFileParserParams, molFromSCSRParams); +} + +std::unique_ptr MolFromSCSRFile( + const std::string &fName, const MolFileParserParams &molFileParserParams, + const MolFromSCSRParams &molFromSCSRParams) { + auto scsr = SCSRMolFromSCSRFile(fName, molFileParserParams); + return MolFromSCSRMol(scsr.get(), molFileParserParams, molFromSCSRParams); +} + +} // namespace FileParsers +} // namespace v2 +} // namespace RDKit diff --git a/Code/GraphMol/FileParsers/file_parsers_catch.cpp b/Code/GraphMol/FileParsers/file_parsers_catch.cpp index e2c4b12ef..1116290d9 100644 --- a/Code/GraphMol/FileParsers/file_parsers_catch.cpp +++ b/Code/GraphMol/FileParsers/file_parsers_catch.cpp @@ -3431,7 +3431,7 @@ M END auto mb = MolToV3KMolBlock(*m); CHECK(mb.find("V30 8 10 5 8") != std::string::npos); CHECK(MolToSmiles(*m) == - "CC1=O~[H]OC(C)C1"); // the SMILES writer still doesn't know what to + "CC1CC(C)O[H]~O=1"); // the SMILES writer still doesn't know what to // do with it } } diff --git a/Code/GraphMol/FileParsers/macromols_catch.cpp b/Code/GraphMol/FileParsers/macromols_catch.cpp new file mode 100644 index 000000000..9097530e6 --- /dev/null +++ b/Code/GraphMol/FileParsers/macromols_catch.cpp @@ -0,0 +1,313 @@ +// +// Copyright (C) 2025 Tad Hurst and other RDKit contributors +// @@ All Rights Reserved @@ +// This file is part of the RDKit. +// The contents are covered by the terms of the BSD license +// which is included in the file license.txt, found at the root +// of the RDKit source tree. +// + +#include +#include +#include +#include +#include + +#include "RDGeneral/test.h" +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +using namespace RDKit; +using namespace v2::FileParsers; + +using namespace RDKit; + +class ScsiMolTest { + public: + public: + bool generateExpectedFiles = false; + + ScsiMolTest() {} + + class ScsiTest { + public: + std::string fileName; + unsigned int totalAtomCount; + unsigned int totalBondCount; + unsigned int sgroupCount; + unsigned int totalQueryAtomCount; + unsigned int totalQueryBondCount; + unsigned int querySgroupCount; + bool scsrExpandResult; + SCSRBaseHbondOptions scsrBaseHbondOptions; + + ScsiTest(std::string fileNameInit, bool scsrExpandResult, + SCSRBaseHbondOptions scsrBaseHbondOptions, + unsigned int totalAtomCountInit, unsigned int totalBondCountInit, + unsigned int sgroupCountInit, unsigned int totalQueryAtomCountInit, + unsigned int totalQueryBondCountInit, + unsigned int querySgroupCountInit = 0) + : fileName(fileNameInit), + + totalAtomCount(totalAtomCountInit), + totalBondCount(totalBondCountInit), + sgroupCount(sgroupCountInit), + totalQueryAtomCount(totalQueryAtomCountInit), + totalQueryBondCount(totalQueryBondCountInit), + querySgroupCount(querySgroupCountInit), + scsrExpandResult(scsrExpandResult), + scsrBaseHbondOptions(scsrBaseHbondOptions) {}; + }; + + void testScsiFiles(const ScsiTest *scsiTest) { + BOOST_LOG(rdInfoLog) << "testing scsr files" << std::endl; + + INFO(scsiTest->fileName); + + std::string rdbase = getenv("RDBASE"); + std::string fName = rdbase + + "/Code/GraphMol/FileParsers/test_data/macromols/" + + scsiTest->fileName; + + RDKit::v2::FileParsers::MolFileParserParams pp; + pp.sanitize = true; + pp.removeHs = false; + pp.strictParsing = true; + + RDKit::v2::FileParsers::MolFromSCSRParams molFromSCSRParams; + molFromSCSRParams.includeLeavingGroups = true; + molFromSCSRParams.scsrBaseHbondOptions = scsiTest->scsrBaseHbondOptions; + + std::unique_ptr mol; + if (scsiTest->scsrExpandResult) { + REQUIRE_NOTHROW(mol = MolFromSCSRFile(fName, pp, molFromSCSRParams)); + } else { + REQUIRE_THROWS(mol = MolFromSCSRFile(fName, pp, molFromSCSRParams)); + return; + } + + RDKit::Chirality::removeNonExplicit3DChirality(*(mol.get())); + + CHECK(mol != nullptr); + CHECK(mol->getNumAtoms() == scsiTest->totalAtomCount); + CHECK(mol->getNumBonds() == scsiTest->totalBondCount); + CHECK(getSubstanceGroups(*mol).size() == scsiTest->sgroupCount); + + // now make the expanded mol in "query" mode - not including any leaving + // groups + + molFromSCSRParams.includeLeavingGroups = false; + std::unique_ptr molNoLeavingGroups; + if (scsiTest->scsrExpandResult) { + REQUIRE_NOTHROW(molNoLeavingGroups = + MolFromSCSRFile(fName, pp, molFromSCSRParams)); + } else { + REQUIRE_THROWS(molNoLeavingGroups = + MolFromSCSRFile(fName, pp, molFromSCSRParams)); + return; + } + + CHECK(molNoLeavingGroups != nullptr); + CHECK(molNoLeavingGroups->getNumAtoms() == scsiTest->totalQueryAtomCount); + CHECK(molNoLeavingGroups->getNumBonds() == scsiTest->totalQueryBondCount); + CHECK(getSubstanceGroups(*molNoLeavingGroups).size() == + scsiTest->querySgroupCount); + } + + void threeLetterCodeTest(const ScsiTest *scsiTest) { + BOOST_LOG(rdInfoLog) << "testing scsr files with three letter codes" + << std::endl; + + std::string rdbase = getenv("RDBASE"); + std::string fName = rdbase + + "/Code/GraphMol/FileParsers/test_data/macromols/" + + scsiTest->fileName; + + RDKit::v2::FileParsers::MolFileParserParams pp; + pp.sanitize = false; + pp.removeHs = false; + pp.strictParsing = false; + + RDKit::v2::FileParsers::MolFromSCSRParams molFromSCSRParams; + molFromSCSRParams.includeLeavingGroups = true; + molFromSCSRParams.scsrTemplateNames = + RDKit::v2::FileParsers::SCSRTemplateNames::AsEntered; + molFromSCSRParams.scsrBaseHbondOptions = scsiTest->scsrBaseHbondOptions; + + std::unique_ptr mol; + if (scsiTest->scsrExpandResult) { + REQUIRE_NOTHROW(mol = MolFromSCSRFile(fName, pp, molFromSCSRParams)); + } else { + REQUIRE_THROWS(mol = MolFromSCSRFile(fName, pp, molFromSCSRParams)); + return; + } + + RDKit::Chirality::removeNonExplicit3DChirality(*(mol.get())); + + CHECK(mol); + CHECK(mol->getNumAtoms() == scsiTest->totalAtomCount); + CHECK(mol->getNumBonds() == scsiTest->totalBondCount); + CHECK(getSubstanceGroups(*mol).size() == scsiTest->sgroupCount); + + molFromSCSRParams.includeLeavingGroups = true; + molFromSCSRParams.scsrTemplateNames = + RDKit::v2::FileParsers::SCSRTemplateNames::UseFirstName; + std::unique_ptr mol2; + if (scsiTest->scsrExpandResult) { + REQUIRE_NOTHROW(mol2 = MolFromSCSRFile(fName, pp, molFromSCSRParams)); + } else { + REQUIRE_THROWS(mol2 = MolFromSCSRFile(fName, pp, molFromSCSRParams)); + } + + // const std::unique_ptr mol; + CHECK(mol2); + CHECK(mol2->getNumAtoms() == scsiTest->totalQueryAtomCount); + CHECK(mol2->getNumBonds() == scsiTest->totalQueryBondCount); + CHECK(getSubstanceGroups(*mol2).size() == scsiTest->querySgroupCount); + }; +}; + +TEST_CASE("scsiTests", "scsiTests") { + SECTION("basics") { + std::list scsiTests{ + ScsiMolTest::ScsiTest("ModifiedPeptide2.mol", true, + SCSRBaseHbondOptions::Auto, 438, 444, 81, 407, + 413, 50), + ScsiMolTest::ScsiTest("DnaBadPairs_NoCh.mol", true, + SCSRBaseHbondOptions::Auto, 84, 94, 14, 80, 90, + 10), + ScsiMolTest::ScsiTest("DnaBadPairs.mol", true, + SCSRBaseHbondOptions::UseSapAll, 84, 94, 14, 80, + 90, 10), + ScsiMolTest::ScsiTest("DnaTest.mol", false, + SCSRBaseHbondOptions::UseSapAll, 254, 300, 14, + 250, 296, 10), + ScsiMolTest::ScsiTest("wobblePairs2.mol", true, + SCSRBaseHbondOptions::UseSapAll, 169, 196, 26, + 165, 192, 22), + ScsiMolTest::ScsiTest("wobblePairs.mol", true, + SCSRBaseHbondOptions::UseSapAll, 169, 196, 26, + 165, 192, 22), + ScsiMolTest::ScsiTest("KellanRNA.mol", true, + SCSRBaseHbondOptions::UseSapAll, 299, 353, 44, + 295, 349, 40), + ScsiMolTest::ScsiTest("DnaTest2.mol", true, + SCSRBaseHbondOptions::UseSapAll, 83, 97, 14, 79, + 93, 10), + ScsiMolTest::ScsiTest("DnaTest3.mol", true, + SCSRBaseHbondOptions::UseSapAll, 165, 194, 26, + 161, 190, 22), + ScsiMolTest::ScsiTest("KellanError.mol", true, + SCSRBaseHbondOptions::UseSapAll, 244, 263, 39, + 236, 255, 31), + + ScsiMolTest::ScsiTest("TestRNA2_fixed.mol", true, + SCSRBaseHbondOptions::UseSapAll, 106, 117, 17, + 104, 115, 15), + + ScsiMolTest::ScsiTest("DnaTest.mol", true, SCSRBaseHbondOptions::Auto, + 254, 300, 38, 250, 296, 34), + ScsiMolTest::ScsiTest("wobblePairs2.mol", true, + SCSRBaseHbondOptions::Auto, 169, 196, 26, 165, + 192, 22), + ScsiMolTest::ScsiTest("wobblePairs.mol", true, + SCSRBaseHbondOptions::Auto, 169, 196, 26, 165, + 192, 22), + ScsiMolTest::ScsiTest("DnaBadPairs.mol", true, + SCSRBaseHbondOptions::Auto, 84, 94, 14, 80, 90, + 10), + ScsiMolTest::ScsiTest("DnaTest2.mol", true, SCSRBaseHbondOptions::Auto, + 83, 97, 14, 79, 93, 10), + ScsiMolTest::ScsiTest("DnaTest3.mol", true, SCSRBaseHbondOptions::Auto, + 165, 194, 26, 161, 190, 22), + ScsiMolTest::ScsiTest("KellanError.mol", true, + SCSRBaseHbondOptions::Auto, 244, 263, 39, 236, + 255, 31), + ScsiMolTest::ScsiTest("TestRNA2_fixed.mol", true, + SCSRBaseHbondOptions::Auto, 106, 117, 17, 104, + 115, 15), + + ScsiMolTest::ScsiTest("TrastuzumabMaxPlus3Register.mol", true, + SCSRBaseHbondOptions::UseSapAll, 7606, 7793, 1451, + 7080, 7267, 925), + ScsiMolTest::ScsiTest("TrastuzumabMaxRegister.mol", true, + SCSRBaseHbondOptions::UseSapAll, 7576, 7763, 1445, + 7053, 7240, 922), + ScsiMolTest::ScsiTest("Mixed.mol", true, + SCSRBaseHbondOptions::UseSapAll, 51, 54, 8, 51, + 54, 8), + ScsiMolTest::ScsiTest("CrossLink.mol", true, + SCSRBaseHbondOptions::UseSapAll, 47, 48, 10, 45, + 46, 8), + ScsiMolTest::ScsiTest("cyclic.mol", true, + SCSRBaseHbondOptions::UseSapAll, 45, 47, 8, 45, + 47, 8), + + ScsiMolTest::ScsiTest("Triplet.mol", true, + SCSRBaseHbondOptions::UseSapAll, 30, 30, 6, 27, + 27, 3), + ScsiMolTest::ScsiTest("FromBioviaDoc.mol", true, + SCSRBaseHbondOptions::UseSapAll, 27, 26, 7, 25, + 24, 5), + ScsiMolTest::ScsiTest("testSCSR.mol", true, + SCSRBaseHbondOptions::UseSapAll, 64, 66, 15, 57, + 59, 8), + ScsiMolTest::ScsiTest("badAtomName.mol", false, + SCSRBaseHbondOptions::UseSapAll, 0, 0, 0, 0, 0, + 0), + ScsiMolTest::ScsiTest("badClass.mol", false, + SCSRBaseHbondOptions::UseSapAll, 0, 0, 0, 0, 0, + 0), + ScsiMolTest::ScsiTest("badClassTemplate.mol", false, + SCSRBaseHbondOptions::UseSapAll, 0, 0, 0, 0, 0, + 0), + ScsiMolTest::ScsiTest("badMissingTemplate.mol", false, + SCSRBaseHbondOptions::UseSapAll, 0, 0, 0, 0, 0, + 0), + ScsiMolTest::ScsiTest("obj3dTest.mol", true, + SCSRBaseHbondOptions::UseSapAll, 27, 26, 7, 25, + 24, 5), + ScsiMolTest::ScsiTest("obj3dTest2.mol", true, + SCSRBaseHbondOptions::UseSapAll, 27, 26, 7, 25, + 24, 5), + ScsiMolTest::ScsiTest("obj3dFoundTwice.mol", false, + SCSRBaseHbondOptions::UseSapAll, 27, 26, 0, 27, + 26, 0), + ScsiMolTest::ScsiTest("SgroupFoundTwice.mol", false, + SCSRBaseHbondOptions::UseSapAll, 0, 0, 0, 0, 0, + 0), + }; + ScsiMolTest scsiMolTest; + for (auto scsiTest : scsiTests) { + BOOST_LOG(rdInfoLog) << "Test: " << scsiTest.fileName << std::endl; + + scsiMolTest.testScsiFiles(&scsiTest); + } + } +} + +TEST_CASE("threeLetterCodeTest", "threeLetterCodeTest") { + SECTION("basics") { + std::list scsiTests{ + ScsiMolTest::ScsiTest("PepTla.mol", true, + SCSRBaseHbondOptions::UseSapAll, 26, 25, 7, 26, + 25, 7), + + }; + ScsiMolTest scsiMolTest; + + for (auto scsiTest : scsiTests) { + BOOST_LOG(rdInfoLog) << "Test: " << scsiTest.fileName << std::endl; + + scsiMolTest.threeLetterCodeTest(&scsiTest); + } + } +} diff --git a/Code/GraphMol/FileParsers/test_data/Issue3432136_2.v3k.mol b/Code/GraphMol/FileParsers/test_data/Issue3432136_2.v3k.mol index 7afe060ce..8ae34d5d1 100644 --- a/Code/GraphMol/FileParsers/test_data/Issue3432136_2.v3k.mol +++ b/Code/GraphMol/FileParsers/test_data/Issue3432136_2.v3k.mol @@ -32,7 +32,7 @@ M V30 10 1 7 11 M V30 11 1 11 12 M V30 END BOND M V30 BEGIN SGROUP -M V30 DEFAULT CLASS=DEMOCLASS LABEL=overwritten +M V30 DEFAULT CLASS=AA LABEL=overwritten M V30 1 SUP 0 ATOMS=(6 6 7 8 9 11 12) XBONDS=(1 5) LABEL=abbrev ESTATE=E M V30 END SGROUP M V30 END CTAB diff --git a/Code/GraphMol/FileParsers/test_data/macromols/CrossLink.mol b/Code/GraphMol/FileParsers/test_data/macromols/CrossLink.mol new file mode 100644 index 000000000..184c07666 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/CrossLink.mol @@ -0,0 +1,220 @@ + + -INDIGO-12312410022D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 8 0 0 0 +M V30 BEGIN ATOM +M V30 1 A 1.15 -3.75 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(2 8 Al) +M V30 2 G 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 3 Br) +M V30 3 G 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 2 Al 4 Br) +M V30 4 C 4.075 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(6 3 Al 5 Br 7 Cx) +M V30 5 L 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 4 Al 6 Br) +M V30 6 P 6.45 -3.65 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 5 Al 7 Br) +M V30 7 C 4.5 -3.675 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(6 6 Al 8 Br 4 Cx) +M V30 8 A 3.05 -3.625 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 7 Al 1 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 3 +M V30 2 1 3 4 +M V30 3 1 4 5 +M V30 4 1 5 6 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 1 8 1 +M V30 8 1 4 7 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.0018 1.6555 0.0 0 +M V30 2 C -1.4799 1.889 0.0 0 +M V30 3 C -2.1599 0.5519 0.0 0 +M V30 4 N -1.0984 -0.5079 0.0 0 +M V30 5 C 0.2376 0.1741 0.0 0 CFG=2 +M V30 6 C 1.5717 -0.5079 0.0 0 +M V30 7 O 1.6336 -1.7063 0.0 0 +M V30 8 O 2.5787 0.1448 0.0 0 +M V30 9 H -1.2852 -1.6933 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.093400 0.592700 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.503500 -0.326350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.093400 -0.- +M V30 592700 0.000000 0.503500 0.326350 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/DnaBadPairs.mol b/Code/GraphMol/FileParsers/test_data/macromols/DnaBadPairs.mol new file mode 100644 index 000000000..877598e2e --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/DnaBadPairs.mol @@ -0,0 +1,299 @@ + + -INDIGO-01222508162D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 10 10 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 32.9805 -18.1796 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 A 32.9805 -19.6796 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 6 Ch) +M V30 3 R 35.9805 -18.1796 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(4 4 Cx 5 Al) +M V30 4 C 35.9805 -19.6796 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 9 Ch) +M V30 5 P 34.4805 -18.1796 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 - +M V30 Br) +M V30 6 G 32.9805 -21.1796 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 7 Al 2 Ch) +M V30 7 R 32.9805 -22.6796 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 6 Cx 8 Br) +M V30 8 P 34.4805 -22.6796 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 7 Al 10- +M V30 Br) +M V30 9 T 35.9805 -21.1796 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 10 Al 4 Ch) +M V30 10 R 35.9805 -22.6796 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(4 9 Cx 8 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 10 2 6 +M V30 8 1 9 10 +M V30 9 1 8 10 +M V30 10 10 4 9 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Thy/T NATREPLACE=BASE/T +M V30 BEGIN CTAB +M V30 COUNTS 10 10 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 10 C 1.7117 -0.9884 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 10 1 2 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(1 7) BRKXYZ=(9 -0.600050 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=T CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/DnaBadPairs_NoCh.mol b/Code/GraphMol/FileParsers/test_data/macromols/DnaBadPairs_NoCh.mol new file mode 100644 index 000000000..03410d75c --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/DnaBadPairs_NoCh.mol @@ -0,0 +1,299 @@ + + -INDIGO-01222508162D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 10 10 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 32.9805 -18.1796 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 A 32.9805 -19.6796 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 1 Al) +M V30 3 R 35.9805 -18.1796 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(4 4 Cx 5 Al) +M V30 4 C 35.9805 -19.6796 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 3 Al) +M V30 5 P 34.4805 -18.1796 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 - +M V30 Br) +M V30 6 G 32.9805 -21.1796 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 7 Al) +M V30 7 R 32.9805 -22.6796 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 6 Cx 8 Br) +M V30 8 P 34.4805 -22.6796 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 7 Al 10- +M V30 Br) +M V30 9 T 35.9805 -21.1796 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 10 Al) +M V30 10 R 35.9805 -22.6796 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(4 9 Cx 8 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 10 2 6 +M V30 8 1 9 10 +M V30 9 1 8 10 +M V30 10 10 4 9 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Thy/T NATREPLACE=BASE/T +M V30 BEGIN CTAB +M V30 COUNTS 10 10 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 10 C 1.7117 -0.9884 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 10 1 2 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(1 7) BRKXYZ=(9 -0.600050 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=T CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/DnaTest.mol b/Code/GraphMol/FileParsers/test_data/macromols/DnaTest.mol new file mode 100644 index 000000000..687959614 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/DnaTest.mol @@ -0,0 +1,358 @@ + + -INDIGO-01162517422D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 34 38 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 A 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 1 Al) +M V30 3 R 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8 Br) +M V30 4 G 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 3 Al) +M V30 5 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 Br) +M V30 6 R 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 11 Br) +M V30 7 C 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(2 6 Al) +M V30 8 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 3 Al 6 Br) +M V30 9 R 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 10 Cx 11 Al 14 B- +M V30 r) +M V30 10 T 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(2 9 Al) +M V30 11 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 Br) +M V30 12 R 13.25 -1.25 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 13 Cx 14 Al 17 - +M V30 Br) +M V30 13 A 13.25 -2.75 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(2 12 Al) +M V30 14 P 11.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 9 Al 12 Br) +M V30 15 R 16.25 -1.25 0.0 0 CLASS=SUGAR SEQID=6 ATTCHORD=(4 16 Cx 17 Al) +M V30 16 G 16.25 -2.75 0.0 0 CLASS=BASE SEQID=6 ATTCHORD=(2 15 Al) +M V30 17 P 14.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(4 12 Al 15 Br- +M V30 ) +M V30 18 U 1.25 -4.25 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 19 Al) +M V30 19 R 1.25 -5.75 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 18 Cx 20 Br) +M V30 20 P 2.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 19 Al 22 Br) +M V30 21 C 4.25 -4.25 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 22 Al) +M V30 22 R 4.25 -5.75 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 21 Cx 23 Br 20 A- +M V30 l) +M V30 23 P 5.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 22 Al 25 Br) +M V30 24 G 7.25 -4.25 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(2 25 Al) +M V30 25 R 7.25 -5.75 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 24 Cx 26 Br 23 A- +M V30 l) +M V30 26 P 8.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 25 Al 28 Br) +M V30 27 A 10.25 -4.25 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(2 28 Al) +M V30 28 R 10.25 -5.75 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 27 Cx 29 Br 26 - +M V30 Al) +M V30 29 P 11.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 28 Al 31 Br- +M V30 ) +M V30 30 U 13.25 -4.25 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(2 31 Al) +M V30 31 R 13.25 -5.75 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 30 Cx 32 Br 29 - +M V30 Al) +M V30 32 P 14.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(4 31 Al 33 Br- +M V30 ) +M V30 33 R 16.25 -5.75 0.0 0 CLASS=SUGAR SEQID=6 ATTCHORD=(4 34 Cx 32 Al) +M V30 34 C 16.25 -4.25 0.0 0 CLASS=BASE SEQID=6 ATTCHORD=(2 33 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 3 8 +M V30 7 1 8 6 +M V30 8 1 9 10 +M V30 9 1 6 11 +M V30 10 1 11 9 +M V30 11 1 12 13 +M V30 12 1 9 14 +M V30 13 1 14 12 +M V30 14 1 15 16 +M V30 15 1 12 17 +M V30 16 1 17 15 +M V30 17 1 18 19 +M V30 18 1 19 20 +M V30 19 10 2 18 +M V30 20 1 21 22 +M V30 21 1 22 23 +M V30 22 1 20 22 +M V30 23 10 4 21 +M V30 24 1 24 25 +M V30 25 1 25 26 +M V30 26 1 23 25 +M V30 27 10 7 24 +M V30 28 1 27 28 +M V30 29 1 28 29 +M V30 30 1 26 28 +M V30 31 10 10 27 +M V30 32 1 30 31 +M V30 33 1 31 32 +M V30 34 1 29 31 +M V30 35 10 13 30 +M V30 36 1 33 34 +M V30 37 1 32 33 +M V30 38 10 16 34 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Thy/T NATREPLACE=BASE/T +M V30 BEGIN CTAB +M V30 COUNTS 10 10 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 10 C 1.7117 -0.9884 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 10 1 2 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(1 7) BRKXYZ=(9 -0.600050 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=T CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/DnaTest2.mol b/Code/GraphMol/FileParsers/test_data/macromols/DnaTest2.mol new file mode 100644 index 000000000..6e64ed96f --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/DnaTest2.mol @@ -0,0 +1,263 @@ + + -INDIGO-01222508162D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 10 10 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 32.9805 -18.1796 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 A 32.9805 -19.6796 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 6 Ch) +M V30 3 R 35.9805 -18.1796 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(4 4 Cx 5 Al) +M V30 4 G 35.9805 -19.6796 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 9 Ch) +M V30 5 P 34.4805 -18.1796 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 - +M V30 Br) +M V30 6 U 32.9805 -21.1796 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 7 Al 2 Ch) +M V30 7 R 32.9805 -22.6796 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 6 Cx 8 Br) +M V30 8 P 34.4805 -22.6796 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 7 Al 10- +M V30 Br) +M V30 9 C 35.9805 -21.1796 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 10 Al 4 Ch) +M V30 10 R 35.9805 -22.6796 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(4 9 Cx 8 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 10 2 6 +M V30 8 1 9 10 +M V30 9 1 8 10 +M V30 10 10 4 9 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/DnaTest3.mol b/Code/GraphMol/FileParsers/test_data/macromols/DnaTest3.mol new file mode 100644 index 000000000..7032488d6 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/DnaTest3.mol @@ -0,0 +1,374 @@ + + -INDIGO-01232511012D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 22 24 0 0 0 +M V30 BEGIN ATOM +M V30 1 dR 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 A 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 11 Ch) +M V30 3 dR 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8 Br) +M V30 4 C 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 14 Ch) +M V30 5 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 Br) +M V30 6 dR 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 10 Br) +M V30 7 T 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 6 Al 17 Ch) +M V30 8 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 6 Br 3 Al) +M V30 9 dR 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 10 Al 21 Cx) +M V30 10 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 Br) +M V30 11 U 1.25 -4.25 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 12 Al 2 Ch) +M V30 12 R 1.25 -5.75 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 11 Cx 13 Br) +M V30 13 P 2.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 12 Al 15 Br) +M V30 14 G 4.25 -4.25 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 15 Al 4 Ch) +M V30 15 R 4.25 -5.75 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 14 Cx 13 Al 16 B- +M V30 r) +M V30 16 P 5.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 18 Br 15 Al) +M V30 17 A 7.25 -4.25 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 18 Al 7 Ch) +M V30 18 R 7.25 -5.75 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 17 Cx 19 Br 16 A- +M V30 l) +M V30 19 P 8.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 18 Al 20 Br) +M V30 20 R 10.25 -5.75 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 19 Al 22 Cx) +M V30 21 G 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 9 Al 22 Ch) +M V30 22 U 10.25 -4.25 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 20 Al 21 Ch) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 8 6 +M V30 7 1 6 10 +M V30 8 1 10 9 +M V30 9 1 11 12 +M V30 10 1 12 13 +M V30 11 10 2 11 +M V30 12 1 14 15 +M V30 13 1 13 15 +M V30 14 10 4 14 +M V30 15 1 17 18 +M V30 16 1 18 19 +M V30 17 1 16 18 +M V30 18 10 7 17 +M V30 19 1 19 20 +M V30 20 1 22 20 +M V30 21 1 9 21 +M V30 22 10 21 22 +M V30 23 1 3 8 +M V30 24 1 15 16 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/dRib/dR NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 11 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -0.8788 -1.208 0.0 0 +M V30 2 C -0.3668 0.2019 0.0 0 CFG=1 +M V30 3 C 0.3038 -2.1307 0.0 0 CFG=2 +M V30 4 C 1.1323 0.1506 0.0 0 CFG=2 +M V30 5 C 1.5468 -1.291 0.0 0 +M V30 6 O 2.0515 1.3338 0.0 0 +M V30 7 C -1.2081 1.4417 0.0 0 +M V30 8 O 0.2628 -3.3299 0.0 0 +M V30 9 O -2.705 1.3338 0.0 0 +M V30 10 H -3.3788 2.3267 0.0 0 +M V30 11 H 3.2403 1.1709 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 7 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 8 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 6 11 +M V30 10 1 7 9 +M V30 11 1 9 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 2 3 4) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 11) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 9) BRKXYZ=(9 -0.594400 0.081450 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(1 8) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 5 6 7 9) XBONDS=(3 6 9 11) BRKXYZ=(9 -0.02050- +M V30 0 -0.599600 0.000000 0.594400 -0.081450 0.000000 0.000000 0.000000 0.0- +M V30 00000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000) LABEL=dR CLASS=SUGAR SAP=(3 9 10 Al) SAP- +M V30 =(3 6 11 Br) SAP=(3 3 8 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Thy/T NATREPLACE=BASE/T +M V30 BEGIN CTAB +M V30 COUNTS 10 10 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 10 C 1.7117 -0.9884 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 10 1 2 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(1 7) BRKXYZ=(9 -0.600050 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=T CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 8 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/FromBioviaDoc.mol b/Code/GraphMol/FileParsers/test_data/macromols/FromBioviaDoc.mol new file mode 100644 index 000000000..ccc999f4f --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/FromBioviaDoc.mol @@ -0,0 +1,125 @@ +1 A G meS A G +ACCLDraw03281611052D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 5 4 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.5563 -9.2328 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Gly 2.7137 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 meS 3.8712 -9.23 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Ala 5.4539 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 Gly 6.6114 -9.23 0 0 CLASS=AA ATTCHORD=(2 4 Al) SEQID=5 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 +M V30 4 1 5 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.5563 -9.2328 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/meS/meS/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 C 9.9525 -5.6641 0 0 +M V30 2 O 9.9451 -6.8641 0 0 +M V30 3 N 7.3518 -5.6442 0 0 CFG=3 +M V30 4 C 8.6579 -4.9049 0 0 CFG=1 +M V30 5 C 8.6671 -3.4041 0 0 +M V30 6 O 7.6319 -2.7971 0 0 +M V30 7 C 6.3173 -5.0361 0 0 +M V30 8 O 10.8217 -5.1697 0 0 +M V30 9 H 7.3436 -6.6442 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 4 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 5 6 +M V30 6 1 3 7 +M V30 7 1 1 8 +M V30 8 1 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 7 8) CSTATE=(4 7 2.17 0.48 - +M V30 0) CSTATE=(4 8 -1.31 -0.99 0) LABEL=meS CLASS=AA SAP=(3 1 8 Br) - +M V30 SAP=(3 3 9 Al) NATREPLACE=AA/S +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 -2.17 -0.48 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.31 0.99 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/KellanError.mol b/Code/GraphMol/FileParsers/test_data/macromols/KellanError.mol new file mode 100644 index 000000000..7e75f4c58 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/KellanError.mol @@ -0,0 +1,725 @@ + + -INDIGO-01142511432D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 31 30 0 0 0 +M V30 BEGIN ATOM +M V30 1 am6 8.22427 -12.7812 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Br 31 A- +M V30 l) +M V30 2 P 9.72427 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 - +M V30 Br) +M V30 3 R 11.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 2 Al 4 Cx 5- +M V30 Br) +M V30 4 C 11.2243 -14.2812 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 3 Al) +M V30 5 P 12.7243 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 3 Al 6 - +M V30 Br) +M V30 6 R 14.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 5 Al 7 Cx 8- +M V30 Br) +M V30 7 U 14.2243 -14.2812 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(2 6 Al) +M V30 8 P 15.7243 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 - +M V30 Br) +M V30 9 R 17.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 8 Al 10 Cx - +M V30 11 Br) +M V30 10 U 17.2243 -14.2812 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(2 9 Al) +M V30 11 P 18.7243 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 9 Al 1- +M V30 2 Br) +M V30 12 R 20.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 11 Al 13 C- +M V30 x 14 Br) +M V30 13 G 20.2243 -14.2812 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(2 12 Al) +M V30 14 P 21.7243 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(4 12 Al - +M V30 15 Br) +M V30 15 R 23.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=6 ATTCHORD=(6 14 Al 16 C- +M V30 x 17 Br) +M V30 16 A 23.2243 -14.2812 0.0 0 CLASS=BASE SEQID=6 ATTCHORD=(2 15 Al) +M V30 17 P 24.7243 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=6 ATTCHORD=(4 15 Al - +M V30 18 Br) +M V30 18 R 26.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=7 ATTCHORD=(6 17 Al 19 C- +M V30 x 20 Br) +M V30 19 G 26.2243 -14.2812 0.0 0 CLASS=BASE SEQID=7 ATTCHORD=(2 18 Al) +M V30 20 P 27.7243 -12.7812 0.0 0 CLASS=PHOSPHATE SEQID=7 ATTCHORD=(4 18 Al - +M V30 21 Br) +M V30 21 R 29.2243 -12.7812 0.0 0 CLASS=SUGAR SEQID=8 ATTCHORD=(4 20 Al 22 C- +M V30 x) +M V30 22 G 29.2243 -14.2812 0.0 0 CLASS=BASE SEQID=8 ATTCHORD=(2 21 Al) +M V30 23 A 8.22427 -15.7812 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 24 Br) +M V30 24 C 9.72427 -15.7812 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(6 23 Al 25 Br 3- +M V30 1 Cx) +M V30 25 G 11.2243 -15.7812 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 24 Al 26 Br) +M V30 26 K 12.7243 -15.7812 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 25 Al 27 Br) +M V30 27 E 14.2243 -15.7812 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 26 Al 28 Br) +M V30 28 D 15.7243 -15.7812 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 27 Al 29 Br) +M V30 29 K 17.2243 -15.7812 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 28 Al 30 Br) +M V30 30 R 18.7243 -15.7812 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(2 29 Al) +M V30 31 SMCC 8.22427 -17.2812 0.0 0 CLASS=LINKER ATTCHORD=(4 24 Br 1 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 3 4 +M V30 4 1 3 5 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 6 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 9 11 +M V30 11 1 11 12 +M V30 12 1 12 13 +M V30 13 1 12 14 +M V30 14 1 14 15 +M V30 15 1 15 16 +M V30 16 1 15 17 +M V30 17 1 17 18 +M V30 18 1 18 19 +M V30 19 1 18 20 +M V30 20 1 20 21 +M V30 21 1 21 22 +M V30 22 1 23 24 +M V30 23 1 24 25 +M V30 24 1 25 26 +M V30 25 1 26 27 +M V30 26 1 27 28 +M V30 27 1 28 29 +M V30 28 1 29 30 +M V30 29 1 24 31 +M V30 30 1 1 31 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/am6/am6 NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -4.5654 0.0 0.0 0 +M V30 2 C -3.2082 -0.6407 0.0 0 +M V30 3 H -5.552 -0.6831 0.0 0 +M V30 4 C -1.9742 0.2136 0.0 0 +M V30 5 C -0.617 -0.4271 0.0 0 +M V30 6 C 0.617 0.4271 0.0 0 +M V30 7 C 1.9742 -0.2136 0.0 0 +M V30 8 C 3.2082 0.6407 0.0 0 +M V30 9 O 4.5654 0.0 0.0 0 +M V30 10 H 5.552 0.683 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 3 +M V30 2 1 2 4 +M V30 3 1 4 5 +M V30 4 1 5 6 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 1 8 9 +M V30 8 1 9 10 +M V30 9 1 2 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 1) BRKXYZ=(9 0.493300 0.341550 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 8) BRKXYZ=(9 -0.493300 -0.341500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 4 5 6 7 8 9) XBONDS=(2 1 8) BRKXYZ=(9 -0.493300 -- +M V30 0.341550 0.000000 0.493300 0.341500 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=am6 CLASS=SUGAR SAP=(3 1 3 Al) SAP=(3 9 10 Br) NATREPLACE=SUG- +M V30 AR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 8 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 9 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 10 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 11 AA/Lys/K/ NATREPLACE=AA/K +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.1478 -2.4874 0.0 0 +M V30 2 C 0.8474 -1.7382 0.0 0 CFG=2 +M V30 3 C 0.8451 -0.2373 0.0 0 +M V30 4 C -0.4553 0.5119 0.0 0 +M V30 5 C -0.4575 2.0128 0.0 0 +M V30 6 C -1.7579 2.7619 0.0 0 +M V30 7 N -1.7602 4.2628 0.0 0 +M V30 8 N -0.453 -2.4874 0.0 0 +M V30 9 O 2.1495 -3.6875 0.0 0 +M V30 10 O 3.1863 -1.8862 0.0 0 +M V30 11 H -1.4921 -1.8873 0.0 0 +M V30 12 H -2.8 4.8619 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 9 1 +M V30 2 1 1 2 +M V30 3 1 1 10 +M V30 4 1 2 8 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 4 5 +M V30 8 1 5 6 +M V30 9 1 6 7 +M V30 10 1 8 11 +M V30 11 1 7 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.519550 -0.300050 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300600 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.519900 -0.299550 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 11 10) BRKXYZ=(9 0.519- +M V30 250 0.300600 0.000000 -0.519900 0.299550 0.000000 0.000000 0.000000 0.- +M V30 000000) BRKXYZ=(9 -0.519550 0.300050 0.000000 0.000000 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000) LABEL=K CLASS=AA SAP=(3 8 11 Al) SAP=(3- +M V30 1 10 Br) SAP=(3 7 12 Cx) NATREPLACE=AA/K +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 12 AA/Glu/E/ NATREPLACE=AA/E +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3442 -1.4777 0.0 0 CFG=1 +M V30 2 C 1.6244 -2.2154 0.0 0 +M V30 3 O 1.6261 -3.3968 0.0 0 +M V30 4 O 2.6469 -1.6234 0.0 0 +M V30 5 N -0.9361 -2.2154 0.0 0 +M V30 6 H -1.9591 -1.6245 0.0 0 +M V30 7 C 0.3419 -0.0001 0.0 0 +M V30 8 C -0.9383 0.7375 0.0 0 +M V30 9 C -0.9406 2.2151 0.0 0 +M V30 10 O -1.9642 2.8049 0.0 0 +M V30 11 O 0.0819 2.8071 0.0 0 +M V30 12 H 0.0729 3.9885 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 6 1 1 7 CFG=1 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 9 10 +M V30 10 1 9 11 +M V30 11 1 11 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 1) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.511250 -0.296000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.004500 -0.590700 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 5 7 8 9 10 11) XBONDS=(3 3 5 11) BRKXYZ=(9 0.51- +M V30 1250 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.004500 0.590700 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=E CLASS=AA SAP=(3 5 6 Al) SAP=(3- +M V30 2 4 Br) SAP=(3 11 12 Cx) NATREPLACE=AA/E +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 13 AA/Asp/D/ NATREPLACE=AA/D +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.631 -1.5578 0.0 0 +M V30 2 O 1.6327 -2.7392 0.0 0 +M V30 3 C 0.3507 -0.8201 0.0 0 CFG=1 +M V30 4 N -0.9295 -1.5578 0.0 0 +M V30 5 H -1.9525 -0.9669 0.0 0 +M V30 6 C 0.3485 0.6575 0.0 0 +M V30 7 C -0.9317 1.3952 0.0 0 +M V30 8 O -1.9542 0.8032 0.0 0 +M V30 9 O -0.9335 2.5766 0.0 0 +M V30 10 O 2.6534 -0.9658 0.0 0 +M V30 11 H 0.0851 3.1751 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 7 8 +M V30 8 1 7 9 +M V30 9 1 1 10 +M V30 10 1 9 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.509300 -0.299250 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLA- +M V30 SS=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 0.509300 0.299250 0.000000 0.000000 0.000000 0.000000 0- +M V30 .000000 0.000000 0.000000) LABEL=D CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 10- +M V30 Br) SAP=(3 9 11 Cx) NATREPLACE=AA/D +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 14 AA/Arg/R/ NATREPLACE=AA/R +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.7718 -2.5891 0.0 0 +M V30 2 O 1.7732 -3.5337 0.0 0 +M V30 3 C 0.7483 -1.9994 0.0 0 CFG=1 +M V30 4 N -0.2752 -2.5891 0.0 0 +M V30 5 H -1.0932 -2.1168 0.0 0 +M V30 6 C 0.7464 -0.8182 0.0 0 +M V30 7 C -0.2771 -0.2284 0.0 0 +M V30 8 C -0.2789 0.9529 0.0 0 +M V30 9 N -1.3024 1.5426 0.0 0 +M V30 10 C -1.3042 2.7238 0.0 0 +M V30 11 N -0.4868 3.1971 0.0 0 +M V30 12 N -2.1227 3.1955 0.0 0 +M V30 13 O 2.5892 -2.1159 0.0 0 +M V30 14 H -0.4883 4.3786 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 10 11 +M V30 11 2 10 12 +M V30 12 1 1 13 +M V30 13 1 11 14 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409000 -0.236150 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 13) XBONDS=(1 12) BRKXYZ=(9 -0.408700 -0.236600 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 14) XBONDS=(1 13) BRKXYZ=(9 0.000750 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(11 1 2 3 4 6 7 8 9 10 11 12) XBONDS=(3 12 4 13) BRKXYZ=- +M V30 (9 0.408700 0.236600 0.000000 -0.409000 0.236150 0.000000 0.000000 0.0- +M V30 00000 0.000000) BRKXYZ=(9 -0.000750 0.590750 0.000000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000) LABEL=R CLASS=AA SAP=(3 4 5 Al)- +M V30 SAP=(3 1 13 Br) SAP=(3 11 14 Cx) NATREPLACE=AA/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 15 LINKER/SMCC/SMCC +M V30 BEGIN CTAB +M V30 COUNTS 18 19 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.4966 -1.0108 0.0 0 +M V30 2 C -0.8438 -1.686 0.0 0 +M V30 3 N -2.0992 -0.8637 0.0 0 +M V30 4 C -4.4215 -0.2334 0.0 0 +M V30 5 C -3.4845 -1.4048 0.0 0 +M V30 6 C -2.1504 0.6228 0.0 0 +M V30 7 C -3.597 1.0196 0.0 0 +M V30 8 O -1.209 1.3667 0.0 0 +M V30 9 O -3.7953 -2.5638 0.0 0 +M V30 10 H -4.0204 2.1426 0.0 0 +M V30 11 C 1.9171 1.1645 0.0 0 +M V30 12 C 3.173 0.3443 0.0 0 +M V30 13 C 3.0908 -1.1534 0.0 0 +M V30 14 C 1.7526 -1.831 0.0 0 +M V30 15 C 0.5789 0.487 0.0 0 +M V30 16 C 4.5135 1.0196 0.0 0 +M V30 17 O 5.5173 0.3621 0.0 0 +M V30 18 O 4.5813 2.2177 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 5 3 +M V30 4 1 3 6 +M V30 5 1 4 5 +M V30 6 1 6 7 +M V30 7 1 4 7 +M V30 8 2 6 8 +M V30 9 2 5 9 +M V30 10 1 7 10 +M V30 11 1 14 1 +M V30 12 1 1 15 +M V30 13 1 11 12 +M V30 14 1 12 13 +M V30 15 1 13 14 +M V30 16 1 11 15 +M V30 17 1 12 16 +M V30 18 2 16 17 +M V30 19 1 16 18 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 10) BRKXYZ=(9 0.211700 -0.561500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 18) XBONDS=(1 19) BRKXYZ=(9 -0.033900 -0.599050 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(16 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17) XBONDS=(2 10- +M V30 19) BRKXYZ=(9 -0.211700 0.561500 0.000000 0.033900 0.599050 0.000000 - +M V30 0.000000 0.000000 0.000000) LABEL=SMCC CLASS=LINKER SAP=(3 7 10 Al) SA- +M V30 P=(3 16 18 Br) +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/KellanRNA.mol b/Code/GraphMol/FileParsers/test_data/macromols/KellanRNA.mol new file mode 100644 index 000000000..e5b4f70fd --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/KellanRNA.mol @@ -0,0 +1,353 @@ + + -INDIGO-01302515192D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 40 45 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 14.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 T 14.5586 -9.11172 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 21 Ch) +M V30 3 R 17.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8- +M V30 Br) +M V30 4 C 17.5586 -9.11172 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 24 Ch) +M V30 5 P 16.0586 -7.61172 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 - +M V30 Br) +M V30 6 R 20.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 1- +M V30 1 Br) +M V30 7 G 20.5586 -9.11172 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 6 Al 27 Ch) +M V30 8 P 19.0586 -7.61172 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 3 Al 6 - +M V30 Br) +M V30 9 R 23.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 10 Cx 11 Al- +M V30 14 Br) +M V30 10 C 23.5586 -9.11172 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 9 Al 30 Ch) +M V30 11 P 22.0586 -7.61172 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9- +M V30 Br) +M V30 12 R 26.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 13 Cx 14 A- +M V30 l 17 Br) +M V30 13 C 26.5586 -9.11172 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(4 12 Al 33 Ch) +M V30 14 P 25.0586 -7.61172 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 9 Al 1- +M V30 2 Br) +M V30 15 R 29.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=6 ATTCHORD=(6 16 Cx 17 A- +M V30 l 20 Br) +M V30 16 C 29.5586 -9.11172 0.0 0 CLASS=BASE SEQID=6 ATTCHORD=(4 15 Al 36 Ch) +M V30 17 P 28.0586 -7.61172 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(4 12 Al - +M V30 15 Br) +M V30 18 R 32.5586 -7.61172 0.0 0 CLASS=SUGAR SEQID=7 ATTCHORD=(4 19 Cx 20 A- +M V30 l) +M V30 19 T 32.5586 -9.11172 0.0 0 CLASS=BASE SEQID=7 ATTCHORD=(4 18 Al 40 Ch) +M V30 20 P 31.0586 -7.61172 0.0 0 CLASS=PHOSPHATE SEQID=6 ATTCHORD=(4 15 Al - +M V30 18 Br) +M V30 21 A 14.5586 -10.6117 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 22 Al 2 Ch) +M V30 22 R 14.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 21 Cx 23 B- +M V30 r) +M V30 23 P 16.0586 -12.1117 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 22 Al - +M V30 25 Br) +M V30 24 G 17.5586 -10.6117 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 25 Al 4 Ch) +M V30 25 R 17.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 24 Cx 26 B- +M V30 r 23 Al) +M V30 26 P 19.0586 -12.1117 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 25 Al - +M V30 28 Br) +M V30 27 C 20.5586 -10.6117 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 28 Al 7 Ch) +M V30 28 R 20.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 27 Cx 29 B- +M V30 r 26 Al) +M V30 29 P 22.0586 -12.1117 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 28 Al - +M V30 31 Br) +M V30 30 G 23.5586 -10.6117 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 31 Al 10 Ch) +M V30 31 R 23.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 30 Cx 32 B- +M V30 r 29 Al) +M V30 32 P 25.0586 -12.1117 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 31 Al - +M V30 34 Br) +M V30 33 G 26.5586 -10.6117 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(4 34 Al 13 Ch) +M V30 34 R 26.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 33 Cx 35 B- +M V30 r 32 Al) +M V30 35 P 28.0586 -12.1117 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(4 34 Al - +M V30 37 Br) +M V30 36 G 29.5586 -10.6117 0.0 0 CLASS=BASE SEQID=6 ATTCHORD=(4 37 Al 16 Ch) +M V30 37 R 29.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=6 ATTCHORD=(6 36 Cx 38 B- +M V30 r 35 Al) +M V30 38 P 31.0586 -12.1117 0.0 0 CLASS=PHOSPHATE SEQID=6 ATTCHORD=(4 37 Al - +M V30 39 Br) +M V30 39 R 32.5586 -12.1117 0.0 0 CLASS=SUGAR SEQID=7 ATTCHORD=(4 40 Cx 38 A- +M V30 l) +M V30 40 A 32.5586 -10.6117 0.0 0 CLASS=BASE SEQID=7 ATTCHORD=(4 39 Al 19 Ch) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 3 8 +M V30 7 1 8 6 +M V30 8 1 9 10 +M V30 9 1 6 11 +M V30 10 1 11 9 +M V30 11 1 12 13 +M V30 12 1 9 14 +M V30 13 1 14 12 +M V30 14 1 15 16 +M V30 15 1 12 17 +M V30 16 1 17 15 +M V30 17 1 18 19 +M V30 18 1 15 20 +M V30 19 1 20 18 +M V30 20 1 21 22 +M V30 21 1 22 23 +M V30 22 10 2 21 +M V30 23 1 24 25 +M V30 24 1 25 26 +M V30 25 1 23 25 +M V30 26 10 4 24 +M V30 27 1 27 28 +M V30 28 1 28 29 +M V30 29 1 26 28 +M V30 30 10 7 27 +M V30 31 1 30 31 +M V30 32 1 31 32 +M V30 33 1 29 31 +M V30 34 10 10 30 +M V30 35 1 33 34 +M V30 36 1 34 35 +M V30 37 1 32 34 +M V30 38 10 13 33 +M V30 39 1 36 37 +M V30 40 1 37 38 +M V30 41 1 35 37 +M V30 42 10 16 36 +M V30 43 1 39 40 +M V30 44 1 38 39 +M V30 45 10 19 40 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Thy/T NATREPLACE=BASE/T +M V30 BEGIN CTAB +M V30 COUNTS 10 10 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 10 C 1.7117 -0.9884 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 10 1 2 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(1 7) BRKXYZ=(9 -0.600050 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=T CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/Mixed.mol b/Code/GraphMol/FileParsers/test_data/macromols/Mixed.mol new file mode 100644 index 000000000..3a11bbf0b --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/Mixed.mol @@ -0,0 +1,234 @@ + + -INDIGO-12312410102D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 14 16 0 0 0 +M V30 BEGIN ATOM +M V30 1 C 4.45064 -7.65797 0.0 0 +M V30 2 C 6.18094 -7.65748 0.0 0 +M V30 3 C 5.31743 -7.15786 0.0 0 +M V30 4 C 6.18094 -8.65843 0.0 0 +M V30 5 C 4.45064 -8.66292 0.0 0 +M V30 6 C 5.31961 -9.15793 0.0 0 +M V30 7 A 11.75 -1.25 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 14 Al 3 Br) +M V30 8 G 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(4 9 Br 1 Al) +M V30 9 G 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 8 Al 10 Br) +M V30 10 C 4.25 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(6 9 Al 11 Br 13 Cx) +M V30 11 L 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 10 Al 12 Br) +M V30 12 P 7.25 -1.25 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 11 Al 13 Br) +M V30 13 C 8.75 -1.25 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(6 12 Al 14 Br 10 Cx) +M V30 14 A 10.25 -1.25 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 13 Al 7 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 2 1 5 +M V30 3 1 5 6 +M V30 4 2 6 4 +M V30 5 1 4 2 +M V30 6 2 2 3 +M V30 7 1 8 9 +M V30 8 1 9 10 +M V30 9 1 10 11 +M V30 10 1 11 12 +M V30 11 1 12 13 +M V30 12 1 13 14 +M V30 13 1 14 7 +M V30 14 1 10 13 +M V30 15 1 7 3 +M V30 16 1 8 1 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.0018 1.6555 0.0 0 +M V30 2 C -1.4799 1.889 0.0 0 +M V30 3 C -2.1599 0.5519 0.0 0 +M V30 4 N -1.0984 -0.5079 0.0 0 +M V30 5 C 0.2376 0.1741 0.0 0 CFG=2 +M V30 6 C 1.5717 -0.5079 0.0 0 +M V30 7 O 1.6336 -1.7063 0.0 0 +M V30 8 O 2.5787 0.1448 0.0 0 +M V30 9 H -1.2852 -1.6933 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.093400 0.592700 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.503500 -0.326350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.093400 -0.- +M V30 592700 0.000000 0.503500 0.326350 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/ModifiedPeptide2.mol b/Code/GraphMol/FileParsers/test_data/macromols/ModifiedPeptide2.mol new file mode 100644 index 000000000..757210131 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/ModifiedPeptide2.mol @@ -0,0 +1,1031 @@ + + -INDIGO-03122509342D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 50 48 0 0 0 +M V30 BEGIN ATOM +M V30 1 C 9.85311 -2.06489 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(6 50 Al 45 Cx 2 - +M V30 Br) +M V30 2 L 10.6531 -2.06489 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 3 Br 1 Al) +M V30 3 D 11.4531 -2.06489 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 2 Al 4 Br) +M V30 4 Y 8.32644 -2.87156 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 3 Al 5 Br) +M V30 5 D 9.12644 -2.87156 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 4 Al 6 Br) +M V30 6 E 9.92644 -2.87156 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 5 Al 7 Br) +M V30 7 E 10.7264 -2.87156 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 6 Al 8 Br) +M V30 8 I 11.5264 -2.87156 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 7 Al 9 Br) +M V30 9 L 8.32644 -3.67822 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 8 Al 10 Br) +M V30 10 D 9.12644 -3.67822 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 9 Al 11 Br) +M V30 11 T 9.92644 -3.67822 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 10 Al 12 Br) +M V30 12 A 10.7264 -3.67822 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 11 Al 13 Br) +M V30 13 L 11.5264 -3.67822 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 12 Al 14 Br) +M V30 14 K 8.32644 -4.48489 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 13 Al 15 Br) +M V30 15 R 9.12644 -4.48489 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 14 Al 16 Br) +M V30 16 E 9.92644 -4.48489 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 15 Al 17 Br) +M V30 17 Q 10.7264 -4.48489 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 16 Al 18 Br) +M V30 18 F 11.5264 -4.48489 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 17 Al 19 Br) +M V30 19 F 8.32644 -5.29156 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 18 Al 20 Br) +M V30 20 Q 9.12644 -5.29156 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 19 Al 21 Br) +M V30 21 Y 9.92644 -5.29156 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 20 Al 22 Br) +M V30 22 L 10.7264 -5.29156 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 21 Al 23 Br) +M V30 23 P 11.5264 -5.29156 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(4 22 Al 24 Br) +M V30 24 G 8.32644 -6.09822 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 23 Al 25 Br) +M V30 25 E 9.12644 -6.09822 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 24 Al 26 Br) +M V30 26 C 9.92644 -6.09822 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 25 Al 27 Br) +M V30 27 I 10.7264 -6.09822 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 26 Al 28 Br) +M V30 28 G 11.5264 -6.09822 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 27 Al 29 Br) +M V30 29 A 8.32644 -6.90489 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 28 Al 30 Br) +M V30 30 D 9.12644 -6.90489 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 29 Al 31 Br) +M V30 31 I 9.92644 -6.90489 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 30 Al 32 Br) +M V30 32 C 10.7264 -6.90489 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 31 Al 33 Br) +M V30 33 E 11.5264 -6.90489 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 32 Al 34 Br) +M V30 34 Y 8.32644 -7.71156 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 33 Al 35 Br) +M V30 35 I 9.12644 -7.71156 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 34 Al 36 Br) +M V30 36 Q 9.92644 -7.71156 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 35 Al 37 Br) +M V30 37 A 10.7264 -7.71156 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 36 Al 38 Br) +M V30 38 S 11.5264 -7.71156 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 37 Al 39 Br) +M V30 39 F 8.32644 -8.51822 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 38 Al 40 Br) +M V30 40 N 9.12644 -8.51822 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 39 Al 41 Br) +M V30 41 L 9.92644 -8.51822 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 40 Al 42 Br) +M V30 42 G 10.7264 -8.51822 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 41 Al 43 Br) +M V30 43 C 11.5264 -8.51822 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 42 Al 44 Br) +M V30 44 S 8.32644 -9.32489 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(2 43 Al) +M V30 45 Test-6-Ch 8.32644 -1.27156 0.0 0 CLASS=LINKER ATTCHORD=(4 46 Ex 1 F- +M V30 x) +M V30 46 PEG2 8.32644 -10.1316 0.0 0 CLASS=LINKER ATTCHORD=(4 45 Al 47 Br) +M V30 47 DALys 8.32644 -10.9249 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 46 Br) +M V30 48 PEG2 8.32644 -10.1316 0.0 0 CLASS=LINKER +M V30 49 DAPhe 8.32644 -2.06489 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 50 Br) +M V30 50 PEG2 9.12644 -2.06489 0.0 0 CLASS=LINKER ATTCHORD=(4 49 Al 1 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 3 +M V30 2 1 3 4 +M V30 3 1 4 5 +M V30 4 1 5 6 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 1 8 9 +M V30 8 1 9 10 +M V30 9 1 10 11 +M V30 10 1 11 12 +M V30 11 1 12 13 +M V30 12 1 13 14 +M V30 13 1 14 15 +M V30 14 1 15 16 +M V30 15 1 16 17 +M V30 16 1 17 18 +M V30 17 1 18 19 +M V30 18 1 19 20 +M V30 19 1 20 21 +M V30 20 1 21 22 +M V30 21 1 22 23 +M V30 22 1 23 24 +M V30 23 1 24 25 +M V30 24 1 25 26 +M V30 25 1 26 27 +M V30 26 1 27 28 +M V30 27 1 28 29 +M V30 28 1 29 30 +M V30 29 1 30 31 +M V30 30 1 31 32 +M V30 31 1 32 33 +M V30 32 1 33 34 +M V30 33 1 34 35 +M V30 34 1 35 36 +M V30 35 1 36 37 +M V30 36 1 37 38 +M V30 37 1 38 39 +M V30 38 1 39 40 +M V30 39 1 40 41 +M V30 40 1 41 42 +M V30 41 1 42 43 +M V30 42 1 43 44 +M V30 43 1 45 46 +M V30 44 1 46 47 +M V30 45 1 49 50 +M V30 46 1 50 1 +M V30 47 1 45 1 +M V30 48 1 1 2 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.07057 -0.839232 0.0 0 +M V30 2 C 0.107598 -0.28436 0.0 0 CFG=2 +M V30 3 C 0.105894 0.827013 0.0 0 +M V30 4 S -0.857004 1.38189 0.0 0 +M V30 5 N -0.855375 -0.839232 0.0 0 +M V30 6 O 1.0719 -1.72786 0.0 0 +M V30 7 O 1.8396 -0.393957 0.0 0 +M V30 8 H -1.62485 -0.394771 0.0 0 +M V30 9 H -0.858337 2.27051 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.384737 -0.222230 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.384515 -0.222637 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000666 -0.444312 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.384515 0.22- +M V30 2637 0.000000 -0.000666 0.444312 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.384737 0.222230 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.271875 0.74252 0.0 0 +M V30 2 C -0.70443 2.20409 0.0 0 +M V30 3 C -0.703081 1.30434 0.0 0 +M V30 4 C -1.48182 0.853489 0.0 0 +M V30 5 C 0.273599 -0.382769 0.0 0 CFG=1 +M V30 6 C 1.24863 -0.944589 0.0 0 +M V30 7 O 1.24998 -1.84434 0.0 0 +M V30 8 N -0.701431 -0.944589 0.0 0 +M V30 9 O 2.02729 -0.493738 0.0 0 +M V30 10 H -1.48054 -0.494563 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.389555 -0.225013 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.389330 -0.225425 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.389330 0.- +M V30 225425 0.000000 -0.389555 0.225013 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Asp/D/ NATREPLACE=AA/D +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.631 -1.5578 0.0 0 +M V30 2 O 1.6327 -2.7392 0.0 0 +M V30 3 C 0.3507 -0.8201 0.0 0 CFG=1 +M V30 4 N -0.9295 -1.5578 0.0 0 +M V30 5 H -1.9525 -0.9669 0.0 0 +M V30 6 C 0.3485 0.6575 0.0 0 +M V30 7 C -0.9317 1.3952 0.0 0 +M V30 8 O -1.9542 0.8032 0.0 0 +M V30 9 O -0.9335 2.5766 0.0 0 +M V30 10 O 2.6534 -0.9658 0.0 0 +M V30 11 H 0.0851 3.1751 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 7 8 +M V30 8 1 7 9 +M V30 9 1 1 10 +M V30 10 1 9 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.509300 -0.299250 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLA- +M V30 SS=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 0.509300 0.299250 0.000000 0.000000 0.000000 0.000000 0- +M V30 .000000 0.000000 0.000000) LABEL=D CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 10- +M V30 Br) SAP=(3 9 11 Cx) NATREPLACE=AA/D +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Tyr/Y/ NATREPLACE=AA/Y +M V30 BEGIN CTAB +M V30 COUNTS 15 15 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.2957 -1.9502 0.0 0 +M V30 2 O 2.2972 -2.8951 0.0 0 +M V30 3 C 1.2718 -1.3602 0.0 0 CFG=1 +M V30 4 N 0.2479 -1.9502 0.0 0 +M V30 5 H -0.5703 -1.4776 0.0 0 +M V30 6 C 1.2701 -0.1785 0.0 0 +M V30 7 C 0.2461 0.4114 0.0 0 +M V30 8 C 0.2426 1.5925 0.0 0 +M V30 9 C -0.782 2.1801 0.0 0 +M V30 10 C -1.8031 1.5866 0.0 0 +M V30 11 C -1.7996 0.4055 0.0 0 +M V30 12 C -0.7751 -0.182 0.0 0 +M V30 13 O -2.6228 2.0566 0.0 0 +M V30 14 O 3.1134 -1.4768 0.0 0 +M V30 15 H -2.6319 3.2381 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 8 7 +M V30 8 2 9 8 +M V30 9 1 10 9 +M V30 10 2 11 10 +M V30 11 2 12 7 +M V30 12 1 12 11 +M V30 13 1 10 13 +M V30 14 1 1 14 +M V30 15 1 13 15 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409100 -0.236300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 14) XBONDS=(1 14) BRKXYZ=(9 -0.408850 -0.236700 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 15) XBONDS=(1 15) BRKXYZ=(9 0.004550 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(12 1 2 3 4 6 7 8 9 10 11 12 13) XBONDS=(3 14 4 15) BRKX- +M V30 YZ=(9 0.408850 0.236700 0.000000 -0.409100 0.236300 0.000000 0.000000 - +M V30 0.000000 0.000000) BRKXYZ=(9 -0.004550 0.590750 0.000000 0.000000 0.00- +M V30 0000 0.000000 0.000000 0.000000 0.000000) LABEL=Y CLASS=AA SAP=(3 4 5 - +M V30 Al) SAP=(3 1 14 Br) SAP=(3 13 15 Cx) NATREPLACE=AA/Y +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Glu/E/ NATREPLACE=AA/E +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.261542 -1.12284 0.0 0 CFG=1 +M V30 2 C 1.23431 -1.68338 0.0 0 +M V30 3 O 1.2356 -2.58107 0.0 0 +M V30 4 O 2.01126 -1.23355 0.0 0 +M V30 5 N -0.711299 -1.68338 0.0 0 +M V30 6 H -1.48863 -1.23438 0.0 0 +M V30 7 C 0.259794 0.0 0.0 0 +M V30 8 C -0.712971 0.560392 0.0 0 +M V30 9 C -0.714719 1.68315 0.0 0 +M V30 10 O -1.49251 2.13131 0.0 0 +M V30 11 O 0.062232 2.13299 0.0 0 +M V30 12 H 0.0553933 3.03068 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 6 1 1 7 CFG=1 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 9 10 +M V30 10 1 9 11 +M V30 11 1 11 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 1) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.388665 -0.224499 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.388475 -0.224917 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.003419 -0.448846 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 5 7 8 9 10 11) XBONDS=(3 3 5 11) BRKXYZ=(9 0.38- +M V30 8475 0.224917 0.000000 -0.388665 0.224499 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.003419 0.448846 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=E CLASS=AA SAP=(3 5 6 Al) SAP=(3- +M V30 2 4 Br) SAP=(3 11 12 Cx) NATREPLACE=AA/E +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 AA/Ile/I/ NATREPLACE=AA/I +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.956318 1.27039 0.0 0 +M V30 2 C 0.0186587 0.708575 0.0 0 CFG=1 +M V30 3 C 0.0204104 -0.416737 0.0 0 CFG=2 +M V30 4 N -0.954718 -0.978556 0.0 0 +M V30 5 H -1.73382 -0.528537 0.0 0 +M V30 6 C 0.995311 -0.978556 0.0 0 +M V30 7 O 0.996605 -1.87836 0.0 0 +M V30 8 O 1.77403 -0.527776 0.0 0 +M V30 9 C 0.797376 1.15936 0.0 0 +M V30 10 C -0.957612 2.17013 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 2 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 +M V30 6 2 6 7 +M V30 7 1 6 8 +M V30 8 1 2 9 CFG=3 +M V30 9 1 1 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.389549 -0.225009 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.389358 -0.225390 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 6 7 9 10) XBONDS=(2 4 7) BRKXYZ=(9 -0.389549 - +M V30 0.225009 0.000000 0.389358 0.225390 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=I CLASS=AA SAP=(3 4 5 Al) SAP=(3 6 8 Br) NATREPLACE=AA/I +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 AA/Thr/T/ NATREPLACE=AA/T +M V30 BEGIN CTAB +M V30 COUNTS 10 9 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.819548 -0.981301 0.0 0 +M V30 2 O 0.819001 -1.90423 0.0 0 +M V30 3 C -0.179491 -0.402898 0.0 0 CFG=1 +M V30 4 N -1.17845 -0.981301 0.0 0 +M V30 5 H -1.97862 -0.52136 0.0 0 +M V30 6 C -0.178866 0.751252 0.0 0 CFG=2 +M V30 7 O 0.620756 1.21197 0.0 0 +M V30 8 C -0.97755 1.21362 0.0 0 +M V30 9 O 1.61909 -0.5205 0.0 0 +M V30 10 H 0.614661 2.13467 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 3 1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 CFG=1 +M V30 7 1 6 8 +M V30 8 1 1 9 +M V30 9 1 7 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 3 6) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.400084 -0.229970 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.399772 -0.230400 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.003048 -0.461347 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 4 SUP 4 ATOMS=(7 1 2 3 4 6 7 8) XBONDS=(3 8 4 9) BRKXYZ=(9 0.399772 0.- +M V30 230400 0.000000 -0.400084 0.229970 0.000000 0.000000 0.000000 0.000000- +M V30 ) BRKXYZ=(9 -0.003048 0.461347 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000) LABEL=T CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 9 Br- +M V30 ) SAP=(3 7 10 Cx) NATREPLACE=AA/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 8 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -0.980533 -0.306295 0.0 0 +M V30 2 C -0.212531 0.205733 0.0 0 CFG=1 +M V30 3 C -0.242457 1.35903 0.0 0 +M V30 4 C 0.822229 -0.306295 0.0 0 +M V30 5 O 0.846139 -1.22846 0.0 0 +M V30 6 O 1.59031 0.205733 0.0 0 +M V30 7 H -1.82323 0.0707134 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.421350 -0.188504 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.384040 -0.256014 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.421350 0.18850- +M V30 4 0.000000 0.384040 0.256014 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 9 AA/Lys/K/ NATREPLACE=AA/K +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.1478 -2.4874 0.0 0 +M V30 2 C 0.8474 -1.7382 0.0 0 CFG=2 +M V30 3 C 0.8451 -0.2373 0.0 0 +M V30 4 C -0.4553 0.5119 0.0 0 +M V30 5 C -0.4575 2.0128 0.0 0 +M V30 6 C -1.7579 2.7619 0.0 0 +M V30 7 N -1.7602 4.2628 0.0 0 +M V30 8 N -0.453 -2.4874 0.0 0 +M V30 9 O 2.1495 -3.6875 0.0 0 +M V30 10 O 3.1863 -1.8862 0.0 0 +M V30 11 H -1.4921 -1.8873 0.0 0 +M V30 12 H -2.8 4.8619 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 9 1 +M V30 2 1 1 2 +M V30 3 1 1 10 +M V30 4 1 2 8 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 4 5 +M V30 8 1 5 6 +M V30 9 1 6 7 +M V30 10 1 8 11 +M V30 11 1 7 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.519550 -0.300050 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300600 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.519900 -0.299550 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 11 10) BRKXYZ=(9 0.519- +M V30 250 0.300600 0.000000 -0.519900 0.299550 0.000000 0.000000 0.000000 0.- +M V30 000000) BRKXYZ=(9 -0.519550 0.300050 0.000000 0.000000 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000) LABEL=K CLASS=AA SAP=(3 8 11 Al) SAP=(3- +M V30 1 10 Br) SAP=(3 7 12 Cx) NATREPLACE=AA/K +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 10 AA/Arg/R/ NATREPLACE=AA/R +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.7718 -2.5891 0.0 0 +M V30 2 O 1.7732 -3.5337 0.0 0 +M V30 3 C 0.7483 -1.9994 0.0 0 CFG=1 +M V30 4 N -0.2752 -2.5891 0.0 0 +M V30 5 H -1.0932 -2.1168 0.0 0 +M V30 6 C 0.7464 -0.8182 0.0 0 +M V30 7 C -0.2771 -0.2284 0.0 0 +M V30 8 C -0.2789 0.9529 0.0 0 +M V30 9 N -1.3024 1.5426 0.0 0 +M V30 10 C -1.3042 2.7238 0.0 0 +M V30 11 N -0.4868 3.1971 0.0 0 +M V30 12 N -2.1227 3.1955 0.0 0 +M V30 13 O 2.5892 -2.1159 0.0 0 +M V30 14 H -0.4883 4.3786 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 10 11 +M V30 11 2 10 12 +M V30 12 1 1 13 +M V30 13 1 11 14 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409000 -0.236150 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 13) XBONDS=(1 12) BRKXYZ=(9 -0.408700 -0.236600 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 14) XBONDS=(1 13) BRKXYZ=(9 0.000750 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(11 1 2 3 4 6 7 8 9 10 11 12) XBONDS=(3 12 4 13) BRKXYZ=- +M V30 (9 0.408700 0.236600 0.000000 -0.409000 0.236150 0.000000 0.000000 0.0- +M V30 00000 0.000000) BRKXYZ=(9 -0.000750 0.590750 0.000000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000) LABEL=R CLASS=AA SAP=(3 4 5 Al)- +M V30 SAP=(3 1 13 Br) SAP=(3 11 14 Cx) NATREPLACE=AA/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 11 AA/Gln/Q/ NATREPLACE=AA/Q +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.23377 -1.68338 0.0 0 +M V30 2 O 1.23507 -2.58115 0.0 0 +M V30 3 C 0.26101 -1.12283 0.0 0 CFG=1 +M V30 4 N -0.71183 -1.68338 0.0 0 +M V30 5 H -1.48916 -1.23438 0.0 0 +M V30 6 C 0.259338 0.0 0.0 0 +M V30 7 C -0.713426 0.560468 0.0 0 +M V30 8 C -0.715098 1.68323 0.0 0 +M V30 9 N 0.0617761 2.13298 0.0 0 +M V30 10 O -1.49296 2.13139 0.0 0 +M V30 11 O 2.01072 -1.23362 0.0 0 +M V30 12 H 0.0607123 3.03067 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 8 10 +M V30 10 1 1 11 +M V30 11 1 9 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.388665 -0.224499 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.388475 -0.224879 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.000532 -0.448845 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 6 7 8 9 10) XBONDS=(3 10 4 11) BRKXYZ=(9 0.38- +M V30 8475 0.224879 0.000000 -0.388665 0.224499 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.000532 0.448845 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=Q CLASS=AA SAP=(3 4 5 Al) SAP=(3- +M V30 1 11 Br) SAP=(3 9 12 Cx) NATREPLACE=AA/Q +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 12 AA/Phe/F/ NATREPLACE=AA/F +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.2052 2.5398 0.0 0 +M V30 2 C -1.5064 3.286 0.0 0 +M V30 3 C -2.8032 2.5322 0.0 0 +M V30 4 C -2.7988 1.0322 0.0 0 +M V30 5 C -1.4976 0.2861 0.0 0 +M V30 6 C -0.2008 1.0398 0.0 0 +M V30 7 C 1.0995 0.2905 0.0 0 +M V30 8 C 1.1018 -1.2103 0.0 0 CFG=2 +M V30 9 N -0.1986 -1.9596 0.0 0 +M V30 10 C 2.4022 -1.9596 0.0 0 +M V30 11 O 2.404 -3.1596 0.0 0 +M V30 12 O 3.4407 -1.3583 0.0 0 +M V30 13 H -1.2376 -1.3593 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 2 2 3 +M V30 4 1 3 4 +M V30 5 2 4 5 +M V30 6 1 5 6 +M V30 7 1 6 7 +M V30 8 1 8 7 CFG=1 +M V30 9 1 8 9 +M V30 10 1 8 10 +M V30 11 2 10 11 +M V30 12 1 10 12 +M V30 13 1 9 13 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 8) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 13) XBONDS=(1 13) BRKXYZ=(9 0.519500 -0.300150 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 -0.519250 -0.300650 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 13 12) BRKXYZ=(9 - +M V30 -0.519500 0.300150 0.000000 0.519250 0.300650 0.000000 0.000000 0.0000- +M V30 00 0.000000) LABEL=F CLASS=AA SAP=(3 9 13 Al) SAP=(3 10 12 Br) NATREPL- +M V30 ACE=AA/F +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 13 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.00128587 1.18264 0.0 0 +M V30 2 C -1.0572 1.34945 0.0 0 +M V30 3 C -1.54297 0.394262 0.0 0 +M V30 4 N -0.784666 -0.36283 0.0 0 +M V30 5 C 0.169735 0.124372 0.0 0 CFG=2 +M V30 6 C 1.12278 -0.36283 0.0 0 +M V30 7 O 1.167 -1.21893 0.0 0 +M V30 8 O 1.84215 0.103441 0.0 0 +M V30 9 H -0.918111 -1.20965 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.066722 0.423408 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.359686 -0.233135 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.066722 -0.- +M V30 423408 0.000000 0.359686 0.233135 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 14 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 15 AA/Ser/S/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.3671 -1.0829 0.0 0 +M V30 2 O 1.3689 -2.2643 0.0 0 +M V30 3 C 0.0869 -0.3452 0.0 0 CFG=1 +M V30 4 N -1.1934 -1.0829 0.0 0 +M V30 5 H -2.2165 -0.492 0.0 0 +M V30 6 C 0.0847 1.1324 0.0 0 +M V30 7 O -0.9391 1.7222 0.0 0 +M V30 8 O 2.3896 -0.4909 0.0 0 +M V30 9 H -0.9481 2.9036 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 1 8 +M V30 8 1 7 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511550 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.511250 -0.296000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.004500 -0.590700 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 6 7) XBONDS=(3 7 4 8) BRKXYZ=(9 0.511250 0.29- +M V30 6000 0.000000 -0.511550 0.295450 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.004500 0.590700 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=S CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 8 Br) - +M V30 SAP=(3 7 9 Cx) NATREPLACE=AA/S +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 16 AA/Asn/N/ NATREPLACE=AA/N +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8929 -1.4175 0.0 0 +M V30 2 O 1.8947 -2.5989 0.0 0 +M V30 3 C 0.6127 -0.6799 0.0 0 CFG=1 +M V30 4 N -0.6676 -1.4175 0.0 0 +M V30 5 H -1.6907 -0.8266 0.0 0 +M V30 6 C 0.6104 0.7978 0.0 0 +M V30 7 C -0.6698 1.5354 0.0 0 +M V30 8 N -1.6922 0.9434 0.0 0 +M V30 9 O -0.6716 2.7168 0.0 0 +M V30 10 O 2.9153 -0.8255 0.0 0 +M V30 11 H -2.5341 1.7724 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 2 7 9 +M V30 9 1 1 10 +M V30 10 1 8 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511550 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.420950 -0.414500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511550 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 -0.420950 0.414500 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000) LABEL=N CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 1- +M V30 0 Br) SAP=(3 8 11 Cx) NATREPLACE=AA/N +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 17 LINKER/Test-6-Ch/Test-6-Ch +M V30 BEGIN CTAB +M V30 COUNTS 22 21 7 0 0 +M V30 BEGIN ATOM +M V30 1 N 12.0838 -6.55002 0.0 0 +M V30 2 C 11.1373 -6.10322 0.0 0 +M V30 3 C 10.2767 -6.69892 0.0 0 +M V30 4 C 9.33033 -6.25222 0.0 0 +M V30 5 C 8.46973 -6.84782 0.0 0 +M V30 6 C 7.52333 -6.40112 0.0 0 +M V30 7 C 6.66272 -6.99682 0.0 0 +M V30 8 O 5.71622 -6.55002 0.0 0 +M V30 9 I 12.7718 -6.07362 0.0 0 +M V30 10 H 5.02822 -7.02642 0.0 0 +M V30 11 C 7.02332 -5.53512 0.0 0 +M V30 12 C 7.02332 -4.53512 0.0 0 +M V30 13 C 6.31622 -3.82801 0.0 0 +M V30 14 C 6.57502 -2.86211 0.0 0 +M V30 15 C 5.60912 -2.60321 0.0 0 +M V30 16 C 5.86792 -1.63731 0.0 0 +M V30 17 Br 4.86792 -1.63731 0.0 0 +M V30 18 O 10.2767 -7.69893 0.0 0 +M V30 19 Cl 7.57503 -2.86211 0.0 0 +M V30 20 C 8.46973 -7.84783 0.0 0 +M V30 21 C 7.96973 -8.71393 0.0 0 +M V30 22 H 7.96973 -9.71393 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 1 9 +M V30 9 1 8 10 +M V30 10 1 6 11 +M V30 11 1 11 12 +M V30 12 1 12 13 +M V30 13 1 13 14 +M V30 14 1 14 15 +M V30 15 1 15 16 +M V30 16 1 16 17 +M V30 17 1 3 18 +M V30 18 1 14 19 +M V30 19 1 5 20 +M V30 20 1 20 21 +M V30 21 1 21 22 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.344001 0.238201 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.344001 -0.238201 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=I CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(1 17) XBONDS=(1 16) BRKXYZ=(9 0.500002 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=Br CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(1 19) XBONDS=(1 18) BRKXYZ=(9 -0.500002 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=Cl CLA- +M V30 SS=LGRP +M V30 5 SUP 5 ATOMS=(1 18) XBONDS=(1 17) BRKXYZ=(9 0.000000 0.500002 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 6 SUP 6 ATOMS=(1 22) XBONDS=(1 21) BRKXYZ=(9 0.000000 0.500001 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 7 SUP 7 ATOMS=(16 1 2 3 4 5 6 7 8 11 12 13 14 15 16 20 21) XBONDS=(6 8- +M V30 17 9 18 16 21) BRKXYZ=(9 0.344001 0.238201 0.000000 0.000000 -0.50000- +M V30 2 0.000000 0.000000 0.000000 0.000000) BRKXYZ=(9 -0.344001 -0.238201 0- +M V30 .000000 0.500002 0.000000 0.000000 0.000000 0.000000 0.000000) BRKXYZ=- +M V30 (9 -0.500002 0.000000 0.000000 0.000000 -0.500001 0.000000 0.000000 0.- +M V30 000000 0.000000) LABEL=Test-6-Ch CLASS=LINKER SAP=(3 8 10 Al) SAP=(3 1- +M V30 9 Br) SAP=(3 16 17 Cx) SAP=(3 14 19 Dx) SAP=(3 3 18 Ex) SAP=(3 21 22 - +M V30 Fx) +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 18 LINKER/PEG2/PEG2 +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 0 +M V30 BEGIN ATOM +M V30 1 O -2.73557 -0.268865 0.0 0 +M V30 2 C -1.82369 0.257221 0.0 0 +M V30 3 C -0.911881 -0.268865 0.0 0 +M V30 4 O 0.0 0.257221 0.0 0 +M V30 5 C 0.911881 -0.268865 0.0 0 +M V30 6 C 1.82376 0.257221 0.0 0 +M V30 7 O 2.73564 -0.268865 0.0 0 +M V30 8 H 3.46473 0.151793 0.0 0 +M V30 9 H -3.46473 0.151793 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 1 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.364577 -0.210329 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.364542 -0.210329 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 8 7) BRKXYZ=(9 -0.364577 0.2- +M V30 10329 0.000000 0.364542 0.210329 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=PEG2 CLASS=LINKER SAP=(3 1 9 Al) SAP=(3 7 8 Br) +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 19 AA/DALys/DALys/ NATREPLACE=AA/K +M V30 BEGIN CTAB +M V30 COUNTS 10 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 N 0.000466524 0.000266585 0.0 0 +M V30 2 C 0.866401 0.499847 0.0 0 +M V30 3 C 1.7328 0.0 0.0 0 +M V30 4 C 2.5992 0.499847 0.0 0 +M V30 5 C 3.46561 0.0 0.0 0 +M V30 6 C 4.33201 0.499847 0.0 0 +M V30 7 O 4.33201 1.49954 0.0 0 +M V30 8 C 5.19834 0.0 0.0 0 +M V30 9 O 5.19834 -0.999694 0.0 0 +M V30 10 O 6.06428 0.49958 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 6 8 +M V30 8 1 8 9 +M V30 9 2 8 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.000000 -0.499847 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 8 9 10) XBONDS=(1 6) BRKXYZ=(9 0.000000 0- +M V30 .499847 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=DALys CLASS=AA SAP=(3 6 7 Br) NATREPLACE=AA/K +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 20 AA/DAPhe/DAPhe/ NATREPLACE=AA/F +M V30 BEGIN CTAB +M V30 COUNTS 12 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 O 0.230034 -1.13577 0.0 0 +M V30 2 C 1.22989 -1.13577 0.0 0 +M V30 3 O 1.72955 -0.269695 0.0 0 +M V30 4 C 1.72982 -2.00231 0.0 0 +M V30 5 O 2.72968 -2.00231 0.0 0 +M V30 6 C 1.22989 -2.86886 0.0 0 +M V30 7 C 1.72982 -3.7354 0.0 0 +M V30 8 C 1.23142 -4.60214 0.0 0 +M V30 9 C 1.73288 -5.46722 0.0 0 +M V30 10 C 2.73274 -5.46548 0.0 0 +M V30 11 C 3.23114 -4.59867 0.0 0 +M V30 12 C 2.72968 -3.73366 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 4 5 +M V30 5 1 4 6 +M V30 6 1 6 7 +M V30 7 2 7 8 +M V30 8 1 8 9 +M V30 9 2 9 10 +M V30 10 1 10 11 +M V30 11 2 11 12 +M V30 12 1 7 12 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 -0.499928 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 6 7 8 9 10 11 12) XBONDS=(1 4) BRKXYZ=(9 0.4- +M V30 99928 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0- +M V30 .000000) LABEL=DAPhe CLASS=AA SAP=(3 4 5 Br) NATREPLACE=AA/F +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/PepTla.mol b/Code/GraphMol/FileParsers/test_data/macromols/PepTla.mol new file mode 100644 index 000000000..b8b004883 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/PepTla.mol @@ -0,0 +1,171 @@ + + -INDIGO-01202515452D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 4 3 0 0 0 +M V30 BEGIN ATOM +M V30 1 Ala 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(2 4 Al) +M V30 2 Cys 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 3 Br) +M V30 3 Gly 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 2 Al 4 Br) +M V30 4 Leu 4.25 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 3 Al 1 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 3 +M V30 2 1 3 4 +M V30 3 1 4 1 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/SgroupFoundTwice.mol b/Code/GraphMol/FileParsers/test_data/macromols/SgroupFoundTwice.mol new file mode 100644 index 000000000..db6bf8b49 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/SgroupFoundTwice.mol @@ -0,0 +1,134 @@ +1 A G meS A G +ACCLDraw03281611052D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 5 4 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.5563 -9.2328 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Gly 2.7137 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 meS 3.8712 -9.23 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Ala 5.4539 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 Gly 6.6114 -9.23 0 0 CLASS=AA ATTCHORD=(2 4 Al) SEQID=5 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 +M V30 4 1 5 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.5563 -9.2328 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/meS/meS/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 C 9.9525 -5.6641 0 0 +M V30 2 O 9.9451 -6.8641 0 0 +M V30 3 N 7.3518 -5.6442 0 0 CFG=3 +M V30 4 C 8.6579 -4.9049 0 0 CFG=1 +M V30 5 C 8.6671 -3.4041 0 0 +M V30 6 O 7.6319 -2.7971 0 0 +M V30 7 C 6.3173 -5.0361 0 0 +M V30 8 O 10.8217 -5.1697 0 0 +M V30 9 H 7.3436 -6.6442 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 4 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 5 6 +M V30 6 1 3 7 +M V30 7 1 1 8 +M V30 8 1 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 7 8) CSTATE=(4 7 2.17 0.48 - +M V30 0) CSTATE=(4 8 -1.31 -0.99 0) LABEL=meS CLASS=AA SAP=(3 1 8 Br) - +M V30 SAP=(3 3 9 Al) NATREPLACE=AA/S +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 -2.17 -0.48 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.31 0.99 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2.mol b/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2.mol new file mode 100644 index 000000000..26f0b0a6c --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2.mol @@ -0,0 +1,232 @@ + + -INDIGO-01112511292D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 15 14 0 0 0 +M V30 BEGIN ATOM +M V30 1 A 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 2 Al) +M V30 2 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 1 Cx 5 Br) +M V30 3 P 14.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(2 15 Al) +M V30 4 U 2.75 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 5 Al) +M V30 5 R 2.75 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(6 4 Cx 6 Br 2 Al) +M V30 6 P 4.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 5 Al 8 Br) +M V30 7 C 5.75 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 8 Al) +M V30 8 R 5.75 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 7 Cx 9 Br 6 Al) +M V30 9 P 7.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 8 Al 11 Br) +M V30 10 A 8.75 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(2 11 Al) +M V30 11 R 8.75 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 10 Cx 12 Br 9 Al- +M V30 ) +M V30 12 P 10.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 11 Al 14 Br- +M V30 ) +M V30 13 U 11.75 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(2 14 Al) +M V30 14 R 11.75 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 13 Cx 15 Br 12 - +M V30 Al) +M V30 15 P 13.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 14 Al 3 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 4 5 +M V30 3 1 5 6 +M V30 4 1 2 5 +M V30 5 1 7 8 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 10 11 +M V30 9 1 11 12 +M V30 10 1 9 11 +M V30 11 1 13 14 +M V30 12 1 14 15 +M V30 13 1 12 14 +M V30 14 1 15 3 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2_fixed.mol b/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2_fixed.mol new file mode 100644 index 000000000..a70c1b193 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2_fixed.mol @@ -0,0 +1,232 @@ + + -INDIGO-01112511292D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 15 14 0 0 0 +M V30 BEGIN ATOM +M V30 1 A 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 2 Al) +M V30 2 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 1 Cx 5 Br) +M V30 3 P 14.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(2 15 Al) +M V30 4 U 2.75 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 5 Al) +M V30 5 R 2.75 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 6 Br 2 Al) +M V30 6 P 4.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 5 Al 8 Br) +M V30 7 C 5.75 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(2 8 Al) +M V30 8 R 5.75 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 9 Br 6 Al) +M V30 9 P 7.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 8 Al 11 Br) +M V30 10 A 8.75 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(2 11 Al) +M V30 11 R 8.75 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 10 Cx 12 Br 9 Al- +M V30 ) +M V30 12 P 10.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 11 Al 14 Br- +M V30 ) +M V30 13 U 11.75 -2.75 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(2 14 Al) +M V30 14 R 11.75 -1.25 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 13 Cx 15 Br 12 - +M V30 Al) +M V30 15 P 13.25 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(4 14 Al 3 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 4 5 +M V30 3 1 5 6 +M V30 4 1 2 5 +M V30 5 1 7 8 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 10 11 +M V30 9 1 11 12 +M V30 10 1 9 11 +M V30 11 1 13 14 +M V30 12 1 14 15 +M V30 13 1 12 14 +M V30 14 1 15 3 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2_fixed2.mol b/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2_fixed2.mol new file mode 100644 index 000000000..4bb64b062 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/TestRNA2_fixed2.mol @@ -0,0 +1,232 @@ + + -INDIGO-01132508492D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 15 14 0 0 0 +M V30 BEGIN ATOM +M V30 1 A 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(2 2 Al) +M V30 2 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 1 Cx 15 Br) +M V30 3 U 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(2 4 Al) +M V30 4 R 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 3 Cx 5 Br 15 Al) +M V30 5 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 4 Al 7 Br) +M V30 6 C 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(2 7 Al) +M V30 7 R 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 6 Cx 8 Br 5 Al) +M V30 8 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 7 Al 10 Br) +M V30 9 A 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(2 10 Al) +M V30 10 R 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(6 9 Cx 11 Br 8 Al- +M V30 ) +M V30 11 P 11.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=4 ATTCHORD=(4 10 Al 13 Br- +M V30 ) +M V30 12 U 13.25 -2.75 0.0 0 CLASS=BASE SEQID=5 ATTCHORD=(2 13 Al) +M V30 13 R 13.25 -1.25 0.0 0 CLASS=SUGAR SEQID=5 ATTCHORD=(6 12 Cx 14 Br 11 - +M V30 Al) +M V30 14 P 14.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=5 ATTCHORD=(2 13 Al) +M V30 15 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 2 Al 4 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 4 5 +M V30 4 1 6 7 +M V30 5 1 7 8 +M V30 6 1 5 7 +M V30 7 1 9 10 +M V30 8 1 10 11 +M V30 9 1 8 10 +M V30 10 1 12 13 +M V30 11 1 13 14 +M V30 12 1 11 13 +M V30 13 1 2 15 +M V30 14 1 15 4 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/TrastuzumabMaxPlus3Register.mol b/Code/GraphMol/FileParsers/test_data/macromols/TrastuzumabMaxPlus3Register.mol new file mode 100644 index 000000000..2b6dbf123 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/TrastuzumabMaxPlus3Register.mol @@ -0,0 +1,2851 @@ + + -INDIGO-01212517052D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 925 933 0 0 0 +M V30 BEGIN ATOM +M V30 1 E 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 2 Br) +M V30 2 V 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 1 Al 3 Br) +M V30 3 Q 4.25 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 2 Al 4 Br) +M V30 4 L 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 3 Al 5 Br) +M V30 5 V 7.25 -1.25 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 4 Al 6 Br) +M V30 6 E 8.75 -1.25 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 5 Al 7 Br) +M V30 7 S 10.25 -1.25 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 6 Al 8 Br) +M V30 8 G 11.75 -1.25 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 7 Al 9 Br) +M V30 9 G 13.25 -1.25 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 8 Al 10 Br) +M V30 10 G 14.75 -1.25 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 9 Al 11 Br) +M V30 11 L 16.25 -1.25 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 10 Al 12 Br) +M V30 12 V 17.75 -1.25 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 11 Al 13 Br) +M V30 13 Q 19.25 -1.25 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 12 Al 14 Br) +M V30 14 P 20.75 -1.25 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 13 Al 15 Br) +M V30 15 G 22.25 -1.25 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 14 Al 16 Br) +M V30 16 G 23.75 -1.25 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 15 Al 17 Br) +M V30 17 S 25.25 -1.25 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 16 Al 18 Br) +M V30 18 L 26.75 -1.25 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 17 Al 19 Br) +M V30 19 R 28.25 -1.25 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 18 Al 20 Br) +M V30 20 L 29.75 -1.25 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 19 Al 21 Br) +M V30 21 S 31.25 -1.25 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 20 Al 22 Br) +M V30 22 C 32.75 -1.25 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(6 21 Al 23 Br 96 Cx- +M V30 ) +M V30 23 A 34.25 -1.25 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(4 22 Al 24 Br) +M V30 24 A 35.75 -1.25 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 23 Al 25 Br) +M V30 25 S 37.25 -1.25 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 24 Al 26 Br) +M V30 26 G 1.25 -2.75 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 25 Al 27 Br) +M V30 27 F 2.75 -2.75 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 26 Al 28 Br) +M V30 28 N 4.25 -2.75 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 27 Al 29 Br) +M V30 29 I 5.75 -2.75 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 28 Al 30 Br) +M V30 30 K 7.25 -2.75 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 29 Al 31 Br) +M V30 31 D 8.75 -2.75 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 30 Al 32 Br) +M V30 32 T 10.25 -2.75 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 31 Al 33 Br) +M V30 33 Y 11.75 -2.75 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 32 Al 34 Br) +M V30 34 I 13.25 -2.75 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 33 Al 35 Br) +M V30 35 H 14.75 -2.75 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 34 Al 36 Br) +M V30 36 W 16.25 -2.75 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 35 Al 37 Br) +M V30 37 V 17.75 -2.75 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 36 Al 38 Br) +M V30 38 R 19.25 -2.75 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 37 Al 39 Br) +M V30 39 Q 20.75 -2.75 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 38 Al 40 Br) +M V30 40 A 22.25 -2.75 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 39 Al 41 Br) +M V30 41 P 23.75 -2.75 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 40 Al 42 Br) +M V30 42 G 25.25 -2.75 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 41 Al 43 Br) +M V30 43 K 26.75 -2.75 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 42 Al 44 Br) +M V30 44 G 28.25 -2.75 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 43 Al 45 Br) +M V30 45 L 29.75 -2.75 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 44 Al 46 Br) +M V30 46 E 31.25 -2.75 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 45 Al 47 Br) +M V30 47 W 32.75 -2.75 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 46 Al 48 Br) +M V30 48 V 34.25 -2.75 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 47 Al 49 Br) +M V30 49 A 35.75 -2.75 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 48 Al 50 Br) +M V30 50 R 37.25 -2.75 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 49 Al 51 Br) +M V30 51 I 1.25 -4.25 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 50 Al 52 Br) +M V30 52 Y 2.75 -4.25 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 51 Al 53 Br) +M V30 53 P 4.25 -4.25 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 52 Al 54 Br) +M V30 54 T 5.75 -4.25 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 53 Al 55 Br) +M V30 55 N 7.25 -4.25 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 54 Al 56 Br) +M V30 56 G 8.75 -4.25 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 55 Al 57 Br) +M V30 57 Y 10.25 -4.25 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 56 Al 58 Br) +M V30 58 T 11.75 -4.25 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 57 Al 59 Br) +M V30 59 R 13.25 -4.25 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 58 Al 60 Br) +M V30 60 Y 14.75 -4.25 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 59 Al 61 Br) +M V30 61 A 16.25 -4.25 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 60 Al 62 Br) +M V30 62 D 17.75 -4.25 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 61 Al 63 Br) +M V30 63 S 19.25 -4.25 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(4 62 Al 64 Br) +M V30 64 V 20.75 -4.25 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 63 Al 65 Br) +M V30 65 K 22.25 -4.25 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 64 Al 66 Br) +M V30 66 G 23.75 -4.25 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 65 Al 67 Br) +M V30 67 R 25.25 -4.25 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 66 Al 68 Br) +M V30 68 F 26.75 -4.25 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 67 Al 69 Br) +M V30 69 T 28.25 -4.25 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 68 Al 70 Br) +M V30 70 I 29.75 -4.25 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 69 Al 71 Br) +M V30 71 S 31.25 -4.25 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 70 Al 72 Br) +M V30 72 A 32.75 -4.25 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 71 Al 73 Br) +M V30 73 D 34.25 -4.25 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 72 Al 74 Br) +M V30 74 T 35.75 -4.25 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 73 Al 75 Br) +M V30 75 S 37.25 -4.25 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 74 Al 76 Br) +M V30 76 K 1.25 -5.75 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 75 Al 77 Br) +M V30 77 N 2.75 -5.75 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 76 Al 78 Br) +M V30 78 T 4.25 -5.75 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 77 Al 79 Br) +M V30 79 A 5.75 -5.75 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 78 Al 80 Br) +M V30 80 Y 7.25 -5.75 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 79 Al 81 Br) +M V30 81 L 8.75 -5.75 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 80 Al 82 Br) +M V30 82 Q 10.25 -5.75 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 81 Al 83 Br) +M V30 83 M 11.75 -5.75 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(4 82 Al 84 Br) +M V30 84 N 13.25 -5.75 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 83 Al 85 Br) +M V30 85 S 14.75 -5.75 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 84 Al 86 Br) +M V30 86 L 16.25 -5.75 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 85 Al 87 Br) +M V30 87 R 17.75 -5.75 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 86 Al 88 Br) +M V30 88 A 19.25 -5.75 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(4 87 Al 89 Br) +M V30 89 E 20.75 -5.75 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(4 88 Al 90 Br) +M V30 90 D 22.25 -5.75 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 89 Al 91 Br) +M V30 91 T 23.75 -5.75 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 90 Al 92 Br) +M V30 92 A 25.25 -5.75 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(4 91 Al 93 Br) +M V30 93 V 26.75 -5.75 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 92 Al 94 Br) +M V30 94 Y 28.25 -5.75 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 93 Al 95 Br) +M V30 95 Y 29.75 -5.75 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 94 Al 96 Br) +M V30 96 C 31.25 -5.75 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(6 95 Al 97 Br 22 Cx- +M V30 ) +M V30 97 S 32.75 -5.75 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 96 Al 98 Br) +M V30 98 R 34.25 -5.75 0.0 0 CLASS=AA SEQID=98 ATTCHORD=(4 97 Al 99 Br) +M V30 99 W 35.75 -5.75 0.0 0 CLASS=AA SEQID=99 ATTCHORD=(4 98 Al 100 Br) +M V30 100 G 37.25 -5.75 0.0 0 CLASS=AA SEQID=100 ATTCHORD=(4 99 Al 101 Br) +M V30 101 G 1.25 -7.25 0.0 0 CLASS=AA SEQID=101 ATTCHORD=(4 100 Al 102 Br) +M V30 102 D 2.75 -7.25 0.0 0 CLASS=AA SEQID=102 ATTCHORD=(4 101 Al 103 Br) +M V30 103 G 4.25 -7.25 0.0 0 CLASS=AA SEQID=103 ATTCHORD=(4 102 Al 104 Br) +M V30 104 F 5.75 -7.25 0.0 0 CLASS=AA SEQID=104 ATTCHORD=(4 103 Al 105 Br) +M V30 105 Y 7.25 -7.25 0.0 0 CLASS=AA SEQID=105 ATTCHORD=(4 104 Al 106 Br) +M V30 106 A 8.75 -7.25 0.0 0 CLASS=AA SEQID=106 ATTCHORD=(4 105 Al 107 Br) +M V30 107 M 10.25 -7.25 0.0 0 CLASS=AA SEQID=107 ATTCHORD=(4 106 Al 108 Br) +M V30 108 D 11.75 -7.25 0.0 0 CLASS=AA SEQID=108 ATTCHORD=(4 107 Al 109 Br) +M V30 109 Y 13.25 -7.25 0.0 0 CLASS=AA SEQID=109 ATTCHORD=(4 108 Al 110 Br) +M V30 110 W 14.75 -7.25 0.0 0 CLASS=AA SEQID=110 ATTCHORD=(4 109 Al 111 Br) +M V30 111 G 16.25 -7.25 0.0 0 CLASS=AA SEQID=111 ATTCHORD=(4 110 Al 112 Br) +M V30 112 Q 17.75 -7.25 0.0 0 CLASS=AA SEQID=112 ATTCHORD=(4 111 Al 113 Br) +M V30 113 G 19.25 -7.25 0.0 0 CLASS=AA SEQID=113 ATTCHORD=(4 112 Al 114 Br) +M V30 114 T 20.75 -7.25 0.0 0 CLASS=AA SEQID=114 ATTCHORD=(4 113 Al 115 Br) +M V30 115 L 22.25 -7.25 0.0 0 CLASS=AA SEQID=115 ATTCHORD=(4 114 Al 116 Br) +M V30 116 V 23.75 -7.25 0.0 0 CLASS=AA SEQID=116 ATTCHORD=(4 115 Al 117 Br) +M V30 117 T 25.25 -7.25 0.0 0 CLASS=AA SEQID=117 ATTCHORD=(4 116 Al 118 Br) +M V30 118 V 26.75 -7.25 0.0 0 CLASS=AA SEQID=118 ATTCHORD=(4 117 Al 119 Br) +M V30 119 S 28.25 -7.25 0.0 0 CLASS=AA SEQID=119 ATTCHORD=(4 118 Al 120 Br) +M V30 120 S 29.75 -7.25 0.0 0 CLASS=AA SEQID=120 ATTCHORD=(4 119 Al 121 Br) +M V30 121 A 31.25 -7.25 0.0 0 CLASS=AA SEQID=121 ATTCHORD=(4 120 Al 122 Br) +M V30 122 S 32.75 -7.25 0.0 0 CLASS=AA SEQID=122 ATTCHORD=(4 121 Al 123 Br) +M V30 123 T 34.25 -7.25 0.0 0 CLASS=AA SEQID=123 ATTCHORD=(4 122 Al 124 Br) +M V30 124 K 35.75 -7.25 0.0 0 CLASS=AA SEQID=124 ATTCHORD=(4 123 Al 125 Br) +M V30 125 G 37.25 -7.25 0.0 0 CLASS=AA SEQID=125 ATTCHORD=(4 124 Al 126 Br) +M V30 126 P 1.25 -8.75 0.0 0 CLASS=AA SEQID=126 ATTCHORD=(4 125 Al 127 Br) +M V30 127 S 2.75 -8.75 0.0 0 CLASS=AA SEQID=127 ATTCHORD=(4 126 Al 128 Br) +M V30 128 V 4.25 -8.75 0.0 0 CLASS=AA SEQID=128 ATTCHORD=(4 127 Al 129 Br) +M V30 129 F 5.75 -8.75 0.0 0 CLASS=AA SEQID=129 ATTCHORD=(4 128 Al 130 Br) +M V30 130 P 7.25 -8.75 0.0 0 CLASS=AA SEQID=130 ATTCHORD=(4 129 Al 131 Br) +M V30 131 L 8.75 -8.75 0.0 0 CLASS=AA SEQID=131 ATTCHORD=(4 130 Al 132 Br) +M V30 132 A 10.25 -8.75 0.0 0 CLASS=AA SEQID=132 ATTCHORD=(4 131 Al 133 Br) +M V30 133 P 11.75 -8.75 0.0 0 CLASS=AA SEQID=133 ATTCHORD=(4 132 Al 134 Br) +M V30 134 S 13.25 -8.75 0.0 0 CLASS=AA SEQID=134 ATTCHORD=(4 133 Al 135 Br) +M V30 135 S 14.75 -8.75 0.0 0 CLASS=AA SEQID=135 ATTCHORD=(4 134 Al 136 Br) +M V30 136 K 16.25 -8.75 0.0 0 CLASS=AA SEQID=136 ATTCHORD=(4 135 Al 137 Br) +M V30 137 S 17.75 -8.75 0.0 0 CLASS=AA SEQID=137 ATTCHORD=(4 136 Al 138 Br) +M V30 138 T 19.25 -8.75 0.0 0 CLASS=AA SEQID=138 ATTCHORD=(4 137 Al 139 Br) +M V30 139 S 20.75 -8.75 0.0 0 CLASS=AA SEQID=139 ATTCHORD=(4 138 Al 140 Br) +M V30 140 G 22.25 -8.75 0.0 0 CLASS=AA SEQID=140 ATTCHORD=(4 139 Al 141 Br) +M V30 141 G 23.75 -8.75 0.0 0 CLASS=AA SEQID=141 ATTCHORD=(4 140 Al 142 Br) +M V30 142 T 25.25 -8.75 0.0 0 CLASS=AA SEQID=142 ATTCHORD=(4 141 Al 143 Br) +M V30 143 A 26.75 -8.75 0.0 0 CLASS=AA SEQID=143 ATTCHORD=(4 142 Al 144 Br) +M V30 144 A 28.25 -8.75 0.0 0 CLASS=AA SEQID=144 ATTCHORD=(4 143 Al 145 Br) +M V30 145 L 29.75 -8.75 0.0 0 CLASS=AA SEQID=145 ATTCHORD=(4 144 Al 146 Br) +M V30 146 G 31.25 -8.75 0.0 0 CLASS=AA SEQID=146 ATTCHORD=(4 145 Al 147 Br) +M V30 147 C 32.75 -8.75 0.0 0 CLASS=AA SEQID=147 ATTCHORD=(6 146 Al 148 Br 2- +M V30 03 Cx) +M V30 148 L 34.25 -8.75 0.0 0 CLASS=AA SEQID=148 ATTCHORD=(4 147 Al 149 Br) +M V30 149 V 35.75 -8.75 0.0 0 CLASS=AA SEQID=149 ATTCHORD=(4 148 Al 150 Br) +M V30 150 K 37.25 -8.75 0.0 0 CLASS=AA SEQID=150 ATTCHORD=(4 149 Al 151 Br) +M V30 151 D 1.25 -10.25 0.0 0 CLASS=AA SEQID=151 ATTCHORD=(4 150 Al 152 Br) +M V30 152 Y 2.75 -10.25 0.0 0 CLASS=AA SEQID=152 ATTCHORD=(4 151 Al 153 Br) +M V30 153 F 4.25 -10.25 0.0 0 CLASS=AA SEQID=153 ATTCHORD=(4 152 Al 154 Br) +M V30 154 P 5.75 -10.25 0.0 0 CLASS=AA SEQID=154 ATTCHORD=(4 153 Al 155 Br) +M V30 155 E 7.25 -10.25 0.0 0 CLASS=AA SEQID=155 ATTCHORD=(4 154 Al 156 Br) +M V30 156 P 8.75 -10.25 0.0 0 CLASS=AA SEQID=156 ATTCHORD=(4 155 Al 157 Br) +M V30 157 V 10.25 -10.25 0.0 0 CLASS=AA SEQID=157 ATTCHORD=(4 156 Al 158 Br) +M V30 158 T 11.75 -10.25 0.0 0 CLASS=AA SEQID=158 ATTCHORD=(4 157 Al 159 Br) +M V30 159 V 13.25 -10.25 0.0 0 CLASS=AA SEQID=159 ATTCHORD=(4 158 Al 160 Br) +M V30 160 S 14.75 -10.25 0.0 0 CLASS=AA SEQID=160 ATTCHORD=(4 159 Al 161 Br) +M V30 161 W 16.25 -10.25 0.0 0 CLASS=AA SEQID=161 ATTCHORD=(4 160 Al 162 Br) +M V30 162 N 17.75 -10.25 0.0 0 CLASS=AA SEQID=162 ATTCHORD=(4 161 Al 163 Br) +M V30 163 S 19.25 -10.25 0.0 0 CLASS=AA SEQID=163 ATTCHORD=(4 162 Al 164 Br) +M V30 164 G 20.75 -10.25 0.0 0 CLASS=AA SEQID=164 ATTCHORD=(4 163 Al 165 Br) +M V30 165 A 22.25 -10.25 0.0 0 CLASS=AA SEQID=165 ATTCHORD=(4 164 Al 166 Br) +M V30 166 L 23.75 -10.25 0.0 0 CLASS=AA SEQID=166 ATTCHORD=(4 165 Al 167 Br) +M V30 167 T 25.25 -10.25 0.0 0 CLASS=AA SEQID=167 ATTCHORD=(4 166 Al 168 Br) +M V30 168 S 26.75 -10.25 0.0 0 CLASS=AA SEQID=168 ATTCHORD=(4 167 Al 169 Br) +M V30 169 G 28.25 -10.25 0.0 0 CLASS=AA SEQID=169 ATTCHORD=(4 168 Al 170 Br) +M V30 170 V 29.75 -10.25 0.0 0 CLASS=AA SEQID=170 ATTCHORD=(4 169 Al 171 Br) +M V30 171 H 31.25 -10.25 0.0 0 CLASS=AA SEQID=171 ATTCHORD=(4 170 Al 172 Br) +M V30 172 T 32.75 -10.25 0.0 0 CLASS=AA SEQID=172 ATTCHORD=(4 171 Al 173 Br) +M V30 173 F 34.25 -10.25 0.0 0 CLASS=AA SEQID=173 ATTCHORD=(4 172 Al 174 Br) +M V30 174 P 35.75 -10.25 0.0 0 CLASS=AA SEQID=174 ATTCHORD=(4 173 Al 175 Br) +M V30 175 A 37.25 -10.25 0.0 0 CLASS=AA SEQID=175 ATTCHORD=(4 174 Al 176 Br) +M V30 176 V 1.25 -11.75 0.0 0 CLASS=AA SEQID=176 ATTCHORD=(4 175 Al 177 Br) +M V30 177 L 2.75 -11.75 0.0 0 CLASS=AA SEQID=177 ATTCHORD=(4 176 Al 178 Br) +M V30 178 Q 4.25 -11.75 0.0 0 CLASS=AA SEQID=178 ATTCHORD=(4 177 Al 179 Br) +M V30 179 S 5.75 -11.75 0.0 0 CLASS=AA SEQID=179 ATTCHORD=(4 178 Al 180 Br) +M V30 180 S 7.25 -11.75 0.0 0 CLASS=AA SEQID=180 ATTCHORD=(4 179 Al 181 Br) +M V30 181 G 8.75 -11.75 0.0 0 CLASS=AA SEQID=181 ATTCHORD=(4 180 Al 182 Br) +M V30 182 L 10.25 -11.75 0.0 0 CLASS=AA SEQID=182 ATTCHORD=(4 181 Al 183 Br) +M V30 183 Y 11.75 -11.75 0.0 0 CLASS=AA SEQID=183 ATTCHORD=(4 182 Al 184 Br) +M V30 184 S 13.25 -11.75 0.0 0 CLASS=AA SEQID=184 ATTCHORD=(4 183 Al 185 Br) +M V30 185 L 14.75 -11.75 0.0 0 CLASS=AA SEQID=185 ATTCHORD=(4 184 Al 186 Br) +M V30 186 S 16.25 -11.75 0.0 0 CLASS=AA SEQID=186 ATTCHORD=(4 185 Al 187 Br) +M V30 187 S 17.75 -11.75 0.0 0 CLASS=AA SEQID=187 ATTCHORD=(4 186 Al 188 Br) +M V30 188 V 19.25 -11.75 0.0 0 CLASS=AA SEQID=188 ATTCHORD=(4 187 Al 189 Br) +M V30 189 V 20.75 -11.75 0.0 0 CLASS=AA SEQID=189 ATTCHORD=(4 188 Al 190 Br) +M V30 190 T 22.25 -11.75 0.0 0 CLASS=AA SEQID=190 ATTCHORD=(4 189 Al 191 Br) +M V30 191 V 23.75 -11.75 0.0 0 CLASS=AA SEQID=191 ATTCHORD=(4 190 Al 192 Br) +M V30 192 P 25.25 -11.75 0.0 0 CLASS=AA SEQID=192 ATTCHORD=(4 191 Al 193 Br) +M V30 193 S 26.75 -11.75 0.0 0 CLASS=AA SEQID=193 ATTCHORD=(4 192 Al 194 Br) +M V30 194 S 28.25 -11.75 0.0 0 CLASS=AA SEQID=194 ATTCHORD=(4 193 Al 195 Br) +M V30 195 S 29.75 -11.75 0.0 0 CLASS=AA SEQID=195 ATTCHORD=(4 194 Al 196 Br) +M V30 196 L 31.25 -11.75 0.0 0 CLASS=AA SEQID=196 ATTCHORD=(4 195 Al 197 Br) +M V30 197 G 32.75 -11.75 0.0 0 CLASS=AA SEQID=197 ATTCHORD=(4 196 Al 198 Br) +M V30 198 T 34.25 -11.75 0.0 0 CLASS=AA SEQID=198 ATTCHORD=(4 197 Al 199 Br) +M V30 199 Q 35.75 -11.75 0.0 0 CLASS=AA SEQID=199 ATTCHORD=(4 198 Al 200 Br) +M V30 200 T 37.25 -11.75 0.0 0 CLASS=AA SEQID=200 ATTCHORD=(4 199 Al 201 Br) +M V30 201 Y 1.25 -13.25 0.0 0 CLASS=AA SEQID=201 ATTCHORD=(4 200 Al 202 Br) +M V30 202 I 2.75 -13.25 0.0 0 CLASS=AA SEQID=202 ATTCHORD=(4 201 Al 203 Br) +M V30 203 C 4.25 -13.25 0.0 0 CLASS=AA SEQID=203 ATTCHORD=(6 202 Al 204 Br 1- +M V30 47 Cx) +M V30 204 N 5.75 -13.25 0.0 0 CLASS=AA SEQID=204 ATTCHORD=(4 203 Al 205 Br) +M V30 205 V 7.25 -13.25 0.0 0 CLASS=AA SEQID=205 ATTCHORD=(4 204 Al 206 Br) +M V30 206 N 8.75 -13.25 0.0 0 CLASS=AA SEQID=206 ATTCHORD=(4 205 Al 207 Br) +M V30 207 H 10.25 -13.25 0.0 0 CLASS=AA SEQID=207 ATTCHORD=(4 206 Al 208 Br) +M V30 208 K 11.75 -13.25 0.0 0 CLASS=AA SEQID=208 ATTCHORD=(4 207 Al 209 Br) +M V30 209 P 13.25 -13.25 0.0 0 CLASS=AA SEQID=209 ATTCHORD=(4 208 Al 210 Br) +M V30 210 S 14.75 -13.25 0.0 0 CLASS=AA SEQID=210 ATTCHORD=(4 209 Al 211 Br) +M V30 211 N 16.25 -13.25 0.0 0 CLASS=AA SEQID=211 ATTCHORD=(4 210 Al 212 Br) +M V30 212 T 17.75 -13.25 0.0 0 CLASS=AA SEQID=212 ATTCHORD=(4 211 Al 213 Br) +M V30 213 K 19.25 -13.25 0.0 0 CLASS=AA SEQID=213 ATTCHORD=(4 212 Al 214 Br) +M V30 214 V 20.75 -13.25 0.0 0 CLASS=AA SEQID=214 ATTCHORD=(4 213 Al 215 Br) +M V30 215 D 22.25 -13.25 0.0 0 CLASS=AA SEQID=215 ATTCHORD=(4 214 Al 216 Br) +M V30 216 K 23.75 -13.25 0.0 0 CLASS=AA SEQID=216 ATTCHORD=(4 215 Al 217 Br) +M V30 217 K 25.25 -13.25 0.0 0 CLASS=AA SEQID=217 ATTCHORD=(4 216 Al 218 Br) +M V30 218 V 26.75 -13.25 0.0 0 CLASS=AA SEQID=218 ATTCHORD=(4 217 Al 219 Br) +M V30 219 E 28.25 -13.25 0.0 0 CLASS=AA SEQID=219 ATTCHORD=(4 218 Al 220 Br) +M V30 220 P 29.75 -13.25 0.0 0 CLASS=AA SEQID=220 ATTCHORD=(4 219 Al 221 Br) +M V30 221 K 31.25 -13.25 0.0 0 CLASS=AA SEQID=221 ATTCHORD=(4 220 Al 222 Br) +M V30 222 S 32.75 -13.25 0.0 0 CLASS=AA SEQID=222 ATTCHORD=(4 221 Al 223 Br) +M V30 223 C 34.25 -13.25 0.0 0 CLASS=AA SEQID=223 ATTCHORD=(6 222 Al 224 Br - +M V30 611 Cx) +M V30 224 D 35.75 -13.25 0.0 0 CLASS=AA SEQID=224 ATTCHORD=(4 223 Al 225 Br) +M V30 225 K 37.25 -13.25 0.0 0 CLASS=AA SEQID=225 ATTCHORD=(4 224 Al 226 Br) +M V30 226 T 1.25 -14.75 0.0 0 CLASS=AA SEQID=226 ATTCHORD=(4 225 Al 227 Br) +M V30 227 H 2.75 -14.75 0.0 0 CLASS=AA SEQID=227 ATTCHORD=(4 226 Al 228 Br) +M V30 228 T 4.25 -14.75 0.0 0 CLASS=AA SEQID=228 ATTCHORD=(4 227 Al 229 Br) +M V30 229 C 5.75 -14.75 0.0 0 CLASS=AA SEQID=229 ATTCHORD=(6 228 Al 230 Br 6- +M V30 80 Cx) +M V30 230 P 7.25 -14.75 0.0 0 CLASS=AA SEQID=230 ATTCHORD=(4 229 Al 231 Br) +M V30 231 P 8.75 -14.75 0.0 0 CLASS=AA SEQID=231 ATTCHORD=(4 230 Al 232 Br) +M V30 232 C 10.25 -14.75 0.0 0 CLASS=AA SEQID=232 ATTCHORD=(6 231 Al 233 Br - +M V30 683 Cx) +M V30 233 P 11.75 -14.75 0.0 0 CLASS=AA SEQID=233 ATTCHORD=(4 232 Al 234 Br) +M V30 234 A 13.25 -14.75 0.0 0 CLASS=AA SEQID=234 ATTCHORD=(4 233 Al 235 Br) +M V30 235 P 14.75 -14.75 0.0 0 CLASS=AA SEQID=235 ATTCHORD=(4 234 Al 236 Br) +M V30 236 E 16.25 -14.75 0.0 0 CLASS=AA SEQID=236 ATTCHORD=(4 235 Al 237 Br) +M V30 237 L 17.75 -14.75 0.0 0 CLASS=AA SEQID=237 ATTCHORD=(4 236 Al 238 Br) +M V30 238 L 19.25 -14.75 0.0 0 CLASS=AA SEQID=238 ATTCHORD=(4 237 Al 239 Br) +M V30 239 G 20.75 -14.75 0.0 0 CLASS=AA SEQID=239 ATTCHORD=(4 238 Al 240 Br) +M V30 240 G 22.25 -14.75 0.0 0 CLASS=AA SEQID=240 ATTCHORD=(4 239 Al 241 Br) +M V30 241 P 23.75 -14.75 0.0 0 CLASS=AA SEQID=241 ATTCHORD=(4 240 Al 242 Br) +M V30 242 S 25.25 -14.75 0.0 0 CLASS=AA SEQID=242 ATTCHORD=(4 241 Al 243 Br) +M V30 243 V 26.75 -14.75 0.0 0 CLASS=AA SEQID=243 ATTCHORD=(4 242 Al 244 Br) +M V30 244 F 28.25 -14.75 0.0 0 CLASS=AA SEQID=244 ATTCHORD=(4 243 Al 245 Br) +M V30 245 L 29.75 -14.75 0.0 0 CLASS=AA SEQID=245 ATTCHORD=(4 244 Al 246 Br) +M V30 246 F 31.25 -14.75 0.0 0 CLASS=AA SEQID=246 ATTCHORD=(4 245 Al 247 Br) +M V30 247 P 32.75 -14.75 0.0 0 CLASS=AA SEQID=247 ATTCHORD=(4 246 Al 248 Br) +M V30 248 P 34.25 -14.75 0.0 0 CLASS=AA SEQID=248 ATTCHORD=(4 247 Al 249 Br) +M V30 249 K 35.75 -14.75 0.0 0 CLASS=AA SEQID=249 ATTCHORD=(4 248 Al 250 Br) +M V30 250 P 37.25 -14.75 0.0 0 CLASS=AA SEQID=250 ATTCHORD=(4 249 Al 251 Br) +M V30 251 K 1.25 -16.25 0.0 0 CLASS=AA SEQID=251 ATTCHORD=(4 250 Al 252 Br) +M V30 252 D 2.75 -16.25 0.0 0 CLASS=AA SEQID=252 ATTCHORD=(4 251 Al 253 Br) +M V30 253 T 4.25 -16.25 0.0 0 CLASS=AA SEQID=253 ATTCHORD=(4 252 Al 254 Br) +M V30 254 L 5.75 -16.25 0.0 0 CLASS=AA SEQID=254 ATTCHORD=(4 253 Al 255 Br) +M V30 255 M 7.25 -16.25 0.0 0 CLASS=AA SEQID=255 ATTCHORD=(4 254 Al 256 Br) +M V30 256 I 8.75 -16.25 0.0 0 CLASS=AA SEQID=256 ATTCHORD=(4 255 Al 257 Br) +M V30 257 S 10.25 -16.25 0.0 0 CLASS=AA SEQID=257 ATTCHORD=(4 256 Al 258 Br) +M V30 258 R 11.75 -16.25 0.0 0 CLASS=AA SEQID=258 ATTCHORD=(4 257 Al 259 Br) +M V30 259 T 13.25 -16.25 0.0 0 CLASS=AA SEQID=259 ATTCHORD=(4 258 Al 260 Br) +M V30 260 P 14.75 -16.25 0.0 0 CLASS=AA SEQID=260 ATTCHORD=(4 259 Al 261 Br) +M V30 261 E 16.25 -16.25 0.0 0 CLASS=AA SEQID=261 ATTCHORD=(4 260 Al 262 Br) +M V30 262 V 17.75 -16.25 0.0 0 CLASS=AA SEQID=262 ATTCHORD=(4 261 Al 263 Br) +M V30 263 T 19.25 -16.25 0.0 0 CLASS=AA SEQID=263 ATTCHORD=(4 262 Al 264 Br) +M V30 264 C 20.75 -16.25 0.0 0 CLASS=AA SEQID=264 ATTCHORD=(6 263 Al 265 Br - +M V30 324 Cx) +M V30 265 V 22.25 -16.25 0.0 0 CLASS=AA SEQID=265 ATTCHORD=(4 264 Al 266 Br) +M V30 266 V 23.75 -16.25 0.0 0 CLASS=AA SEQID=266 ATTCHORD=(4 265 Al 267 Br) +M V30 267 V 25.25 -16.25 0.0 0 CLASS=AA SEQID=267 ATTCHORD=(4 266 Al 268 Br) +M V30 268 D 26.75 -16.25 0.0 0 CLASS=AA SEQID=268 ATTCHORD=(4 267 Al 269 Br) +M V30 269 V 28.25 -16.25 0.0 0 CLASS=AA SEQID=269 ATTCHORD=(4 268 Al 270 Br) +M V30 270 S 29.75 -16.25 0.0 0 CLASS=AA SEQID=270 ATTCHORD=(4 269 Al 271 Br) +M V30 271 H 31.25 -16.25 0.0 0 CLASS=AA SEQID=271 ATTCHORD=(4 270 Al 272 Br) +M V30 272 E 32.75 -16.25 0.0 0 CLASS=AA SEQID=272 ATTCHORD=(4 271 Al 273 Br) +M V30 273 D 34.25 -16.25 0.0 0 CLASS=AA SEQID=273 ATTCHORD=(4 272 Al 274 Br) +M V30 274 P 35.75 -16.25 0.0 0 CLASS=AA SEQID=274 ATTCHORD=(4 273 Al 275 Br) +M V30 275 E 37.25 -16.25 0.0 0 CLASS=AA SEQID=275 ATTCHORD=(4 274 Al 276 Br) +M V30 276 V 1.25 -17.75 0.0 0 CLASS=AA SEQID=276 ATTCHORD=(4 275 Al 277 Br) +M V30 277 K 2.75 -17.75 0.0 0 CLASS=AA SEQID=277 ATTCHORD=(4 276 Al 278 Br) +M V30 278 F 4.25 -17.75 0.0 0 CLASS=AA SEQID=278 ATTCHORD=(4 277 Al 279 Br) +M V30 279 N 5.75 -17.75 0.0 0 CLASS=AA SEQID=279 ATTCHORD=(4 278 Al 280 Br) +M V30 280 W 7.25 -17.75 0.0 0 CLASS=AA SEQID=280 ATTCHORD=(4 279 Al 281 Br) +M V30 281 Y 8.75 -17.75 0.0 0 CLASS=AA SEQID=281 ATTCHORD=(4 280 Al 282 Br) +M V30 282 V 10.25 -17.75 0.0 0 CLASS=AA SEQID=282 ATTCHORD=(4 281 Al 283 Br) +M V30 283 D 11.75 -17.75 0.0 0 CLASS=AA SEQID=283 ATTCHORD=(4 282 Al 284 Br) +M V30 284 G 13.25 -17.75 0.0 0 CLASS=AA SEQID=284 ATTCHORD=(4 283 Al 285 Br) +M V30 285 V 14.75 -17.75 0.0 0 CLASS=AA SEQID=285 ATTCHORD=(4 284 Al 286 Br) +M V30 286 E 16.25 -17.75 0.0 0 CLASS=AA SEQID=286 ATTCHORD=(4 285 Al 287 Br) +M V30 287 V 17.75 -17.75 0.0 0 CLASS=AA SEQID=287 ATTCHORD=(4 286 Al 288 Br) +M V30 288 H 19.25 -17.75 0.0 0 CLASS=AA SEQID=288 ATTCHORD=(4 287 Al 289 Br) +M V30 289 N 20.75 -17.75 0.0 0 CLASS=AA SEQID=289 ATTCHORD=(4 288 Al 290 Br) +M V30 290 A 22.25 -17.75 0.0 0 CLASS=AA SEQID=290 ATTCHORD=(4 289 Al 291 Br) +M V30 291 K 23.75 -17.75 0.0 0 CLASS=AA SEQID=291 ATTCHORD=(4 290 Al 292 Br) +M V30 292 T 25.25 -17.75 0.0 0 CLASS=AA SEQID=292 ATTCHORD=(4 291 Al 293 Br) +M V30 293 K 26.75 -17.75 0.0 0 CLASS=AA SEQID=293 ATTCHORD=(4 292 Al 294 Br) +M V30 294 P 28.25 -17.75 0.0 0 CLASS=AA SEQID=294 ATTCHORD=(4 293 Al 295 Br) +M V30 295 R 29.75 -17.75 0.0 0 CLASS=AA SEQID=295 ATTCHORD=(4 294 Al 296 Br) +M V30 296 E 31.25 -17.75 0.0 0 CLASS=AA SEQID=296 ATTCHORD=(4 295 Al 297 Br) +M V30 297 E 32.75 -17.75 0.0 0 CLASS=AA SEQID=297 ATTCHORD=(4 296 Al 298 Br) +M V30 298 Q 34.25 -17.75 0.0 0 CLASS=AA SEQID=298 ATTCHORD=(4 297 Al 299 Br) +M V30 299 Y 35.75 -17.75 0.0 0 CLASS=AA SEQID=299 ATTCHORD=(4 298 Al 300 Br) +M V30 300 N 37.25 -17.75 0.0 0 CLASS=AA SEQID=300 ATTCHORD=(4 299 Al 301 Br) +M V30 301 S 1.25 -19.25 0.0 0 CLASS=AA SEQID=301 ATTCHORD=(4 300 Al 302 Br) +M V30 302 T 2.75 -19.25 0.0 0 CLASS=AA SEQID=302 ATTCHORD=(4 301 Al 303 Br) +M V30 303 Y 4.25 -19.25 0.0 0 CLASS=AA SEQID=303 ATTCHORD=(4 302 Al 304 Br) +M V30 304 R 5.75 -19.25 0.0 0 CLASS=AA SEQID=304 ATTCHORD=(4 303 Al 305 Br) +M V30 305 V 7.25 -19.25 0.0 0 CLASS=AA SEQID=305 ATTCHORD=(4 304 Al 306 Br) +M V30 306 V 8.75 -19.25 0.0 0 CLASS=AA SEQID=306 ATTCHORD=(4 305 Al 307 Br) +M V30 307 S 10.25 -19.25 0.0 0 CLASS=AA SEQID=307 ATTCHORD=(4 306 Al 308 Br) +M V30 308 V 11.75 -19.25 0.0 0 CLASS=AA SEQID=308 ATTCHORD=(4 307 Al 309 Br) +M V30 309 L 13.25 -19.25 0.0 0 CLASS=AA SEQID=309 ATTCHORD=(4 308 Al 310 Br) +M V30 310 T 14.75 -19.25 0.0 0 CLASS=AA SEQID=310 ATTCHORD=(4 309 Al 311 Br) +M V30 311 V 16.25 -19.25 0.0 0 CLASS=AA SEQID=311 ATTCHORD=(4 310 Al 312 Br) +M V30 312 L 17.75 -19.25 0.0 0 CLASS=AA SEQID=312 ATTCHORD=(4 311 Al 313 Br) +M V30 313 H 19.25 -19.25 0.0 0 CLASS=AA SEQID=313 ATTCHORD=(4 312 Al 314 Br) +M V30 314 Q 20.75 -19.25 0.0 0 CLASS=AA SEQID=314 ATTCHORD=(4 313 Al 315 Br) +M V30 315 D 22.25 -19.25 0.0 0 CLASS=AA SEQID=315 ATTCHORD=(4 314 Al 316 Br) +M V30 316 W 23.75 -19.25 0.0 0 CLASS=AA SEQID=316 ATTCHORD=(4 315 Al 317 Br) +M V30 317 L 25.25 -19.25 0.0 0 CLASS=AA SEQID=317 ATTCHORD=(4 316 Al 318 Br) +M V30 318 N 26.75 -19.25 0.0 0 CLASS=AA SEQID=318 ATTCHORD=(4 317 Al 319 Br) +M V30 319 G 28.25 -19.25 0.0 0 CLASS=AA SEQID=319 ATTCHORD=(4 318 Al 320 Br) +M V30 320 K 29.75 -19.25 0.0 0 CLASS=AA SEQID=320 ATTCHORD=(4 319 Al 321 Br) +M V30 321 E 31.25 -19.25 0.0 0 CLASS=AA SEQID=321 ATTCHORD=(4 320 Al 322 Br) +M V30 322 Y 32.75 -19.25 0.0 0 CLASS=AA SEQID=322 ATTCHORD=(4 321 Al 323 Br) +M V30 323 K 34.25 -19.25 0.0 0 CLASS=AA SEQID=323 ATTCHORD=(4 322 Al 324 Br) +M V30 324 C 35.75 -19.25 0.0 0 CLASS=AA SEQID=324 ATTCHORD=(6 323 Al 325 Br - +M V30 264 Cx) +M V30 325 K 37.25 -19.25 0.0 0 CLASS=AA SEQID=325 ATTCHORD=(4 324 Al 326 Br) +M V30 326 V 1.25 -20.75 0.0 0 CLASS=AA SEQID=326 ATTCHORD=(4 325 Al 327 Br) +M V30 327 S 2.75 -20.75 0.0 0 CLASS=AA SEQID=327 ATTCHORD=(4 326 Al 328 Br) +M V30 328 N 4.25 -20.75 0.0 0 CLASS=AA SEQID=328 ATTCHORD=(4 327 Al 329 Br) +M V30 329 K 5.75 -20.75 0.0 0 CLASS=AA SEQID=329 ATTCHORD=(4 328 Al 330 Br) +M V30 330 A 7.25 -20.75 0.0 0 CLASS=AA SEQID=330 ATTCHORD=(4 329 Al 331 Br) +M V30 331 L 8.75 -20.75 0.0 0 CLASS=AA SEQID=331 ATTCHORD=(4 330 Al 332 Br) +M V30 332 P 10.25 -20.75 0.0 0 CLASS=AA SEQID=332 ATTCHORD=(4 331 Al 333 Br) +M V30 333 A 11.75 -20.75 0.0 0 CLASS=AA SEQID=333 ATTCHORD=(4 332 Al 334 Br) +M V30 334 P 13.25 -20.75 0.0 0 CLASS=AA SEQID=334 ATTCHORD=(4 333 Al 335 Br) +M V30 335 I 14.75 -20.75 0.0 0 CLASS=AA SEQID=335 ATTCHORD=(4 334 Al 336 Br) +M V30 336 E 16.25 -20.75 0.0 0 CLASS=AA SEQID=336 ATTCHORD=(4 335 Al 337 Br) +M V30 337 K 17.75 -20.75 0.0 0 CLASS=AA SEQID=337 ATTCHORD=(4 336 Al 338 Br) +M V30 338 T 19.25 -20.75 0.0 0 CLASS=AA SEQID=338 ATTCHORD=(4 337 Al 339 Br) +M V30 339 I 20.75 -20.75 0.0 0 CLASS=AA SEQID=339 ATTCHORD=(4 338 Al 340 Br) +M V30 340 S 22.25 -20.75 0.0 0 CLASS=AA SEQID=340 ATTCHORD=(4 339 Al 341 Br) +M V30 341 K 23.75 -20.75 0.0 0 CLASS=AA SEQID=341 ATTCHORD=(4 340 Al 342 Br) +M V30 342 A 25.25 -20.75 0.0 0 CLASS=AA SEQID=342 ATTCHORD=(4 341 Al 343 Br) +M V30 343 K 26.75 -20.75 0.0 0 CLASS=AA SEQID=343 ATTCHORD=(4 342 Al 344 Br) +M V30 344 G 28.25 -20.75 0.0 0 CLASS=AA SEQID=344 ATTCHORD=(4 343 Al 345 Br) +M V30 345 Q 29.75 -20.75 0.0 0 CLASS=AA SEQID=345 ATTCHORD=(4 344 Al 346 Br) +M V30 346 P 31.25 -20.75 0.0 0 CLASS=AA SEQID=346 ATTCHORD=(4 345 Al 347 Br) +M V30 347 R 32.75 -20.75 0.0 0 CLASS=AA SEQID=347 ATTCHORD=(4 346 Al 348 Br) +M V30 348 E 34.25 -20.75 0.0 0 CLASS=AA SEQID=348 ATTCHORD=(4 347 Al 349 Br) +M V30 349 P 35.75 -20.75 0.0 0 CLASS=AA SEQID=349 ATTCHORD=(4 348 Al 350 Br) +M V30 350 Q 37.25 -20.75 0.0 0 CLASS=AA SEQID=350 ATTCHORD=(4 349 Al 351 Br) +M V30 351 V 1.25 -22.25 0.0 0 CLASS=AA SEQID=351 ATTCHORD=(4 350 Al 352 Br) +M V30 352 Y 2.75 -22.25 0.0 0 CLASS=AA SEQID=352 ATTCHORD=(4 351 Al 353 Br) +M V30 353 T 4.25 -22.25 0.0 0 CLASS=AA SEQID=353 ATTCHORD=(4 352 Al 354 Br) +M V30 354 L 5.75 -22.25 0.0 0 CLASS=AA SEQID=354 ATTCHORD=(4 353 Al 355 Br) +M V30 355 P 7.25 -22.25 0.0 0 CLASS=AA SEQID=355 ATTCHORD=(4 354 Al 356 Br) +M V30 356 P 8.75 -22.25 0.0 0 CLASS=AA SEQID=356 ATTCHORD=(4 355 Al 357 Br) +M V30 357 S 10.25 -22.25 0.0 0 CLASS=AA SEQID=357 ATTCHORD=(4 356 Al 358 Br) +M V30 358 R 11.75 -22.25 0.0 0 CLASS=AA SEQID=358 ATTCHORD=(4 357 Al 359 Br) +M V30 359 E 13.25 -22.25 0.0 0 CLASS=AA SEQID=359 ATTCHORD=(4 358 Al 360 Br) +M V30 360 E 14.75 -22.25 0.0 0 CLASS=AA SEQID=360 ATTCHORD=(4 359 Al 361 Br) +M V30 361 M 16.25 -22.25 0.0 0 CLASS=AA SEQID=361 ATTCHORD=(4 360 Al 362 Br) +M V30 362 T 17.75 -22.25 0.0 0 CLASS=AA SEQID=362 ATTCHORD=(4 361 Al 363 Br) +M V30 363 K 19.25 -22.25 0.0 0 CLASS=AA SEQID=363 ATTCHORD=(4 362 Al 364 Br) +M V30 364 N 20.75 -22.25 0.0 0 CLASS=AA SEQID=364 ATTCHORD=(4 363 Al 365 Br) +M V30 365 Q 22.25 -22.25 0.0 0 CLASS=AA SEQID=365 ATTCHORD=(4 364 Al 366 Br) +M V30 366 V 23.75 -22.25 0.0 0 CLASS=AA SEQID=366 ATTCHORD=(4 365 Al 367 Br) +M V30 367 S 25.25 -22.25 0.0 0 CLASS=AA SEQID=367 ATTCHORD=(4 366 Al 368 Br) +M V30 368 L 26.75 -22.25 0.0 0 CLASS=AA SEQID=368 ATTCHORD=(4 367 Al 369 Br) +M V30 369 T 28.25 -22.25 0.0 0 CLASS=AA SEQID=369 ATTCHORD=(4 368 Al 370 Br) +M V30 370 C 29.75 -22.25 0.0 0 CLASS=AA SEQID=370 ATTCHORD=(4 369 Al 371 Br) +M V30 371 L 31.25 -22.25 0.0 0 CLASS=AA SEQID=371 ATTCHORD=(4 370 Al 372 Br) +M V30 372 V 32.75 -22.25 0.0 0 CLASS=AA SEQID=372 ATTCHORD=(4 371 Al 373 Br) +M V30 373 K 34.25 -22.25 0.0 0 CLASS=AA SEQID=373 ATTCHORD=(4 372 Al 374 Br) +M V30 374 G 35.75 -22.25 0.0 0 CLASS=AA SEQID=374 ATTCHORD=(4 373 Al 375 Br) +M V30 375 F 37.25 -22.25 0.0 0 CLASS=AA SEQID=375 ATTCHORD=(4 374 Al 376 Br) +M V30 376 Y 1.25 -23.75 0.0 0 CLASS=AA SEQID=376 ATTCHORD=(4 375 Al 377 Br) +M V30 377 P 2.75 -23.75 0.0 0 CLASS=AA SEQID=377 ATTCHORD=(4 376 Al 378 Br) +M V30 378 S 4.25 -23.75 0.0 0 CLASS=AA SEQID=378 ATTCHORD=(4 377 Al 379 Br) +M V30 379 D 5.75 -23.75 0.0 0 CLASS=AA SEQID=379 ATTCHORD=(4 378 Al 380 Br) +M V30 380 I 7.25 -23.75 0.0 0 CLASS=AA SEQID=380 ATTCHORD=(4 379 Al 381 Br) +M V30 381 A 8.75 -23.75 0.0 0 CLASS=AA SEQID=381 ATTCHORD=(4 380 Al 382 Br) +M V30 382 V 10.25 -23.75 0.0 0 CLASS=AA SEQID=382 ATTCHORD=(4 381 Al 383 Br) +M V30 383 E 11.75 -23.75 0.0 0 CLASS=AA SEQID=383 ATTCHORD=(4 382 Al 384 Br) +M V30 384 W 13.25 -23.75 0.0 0 CLASS=AA SEQID=384 ATTCHORD=(4 383 Al 385 Br) +M V30 385 E 14.75 -23.75 0.0 0 CLASS=AA SEQID=385 ATTCHORD=(4 384 Al 386 Br) +M V30 386 S 16.25 -23.75 0.0 0 CLASS=AA SEQID=386 ATTCHORD=(4 385 Al 387 Br) +M V30 387 N 17.75 -23.75 0.0 0 CLASS=AA SEQID=387 ATTCHORD=(4 386 Al 388 Br) +M V30 388 G 19.25 -23.75 0.0 0 CLASS=AA SEQID=388 ATTCHORD=(4 387 Al 389 Br) +M V30 389 Q 20.75 -23.75 0.0 0 CLASS=AA SEQID=389 ATTCHORD=(4 388 Al 390 Br) +M V30 390 P 22.25 -23.75 0.0 0 CLASS=AA SEQID=390 ATTCHORD=(4 389 Al 391 Br) +M V30 391 E 23.75 -23.75 0.0 0 CLASS=AA SEQID=391 ATTCHORD=(4 390 Al 392 Br) +M V30 392 N 25.25 -23.75 0.0 0 CLASS=AA SEQID=392 ATTCHORD=(4 391 Al 393 Br) +M V30 393 N 26.75 -23.75 0.0 0 CLASS=AA SEQID=393 ATTCHORD=(4 392 Al 394 Br) +M V30 394 Y 28.25 -23.75 0.0 0 CLASS=AA SEQID=394 ATTCHORD=(4 393 Al 395 Br) +M V30 395 K 29.75 -23.75 0.0 0 CLASS=AA SEQID=395 ATTCHORD=(4 394 Al 396 Br) +M V30 396 T 31.25 -23.75 0.0 0 CLASS=AA SEQID=396 ATTCHORD=(4 395 Al 397 Br) +M V30 397 T 32.75 -23.75 0.0 0 CLASS=AA SEQID=397 ATTCHORD=(2 396 Al) +M V30 398 D 1.25 -25.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 399 Br) +M V30 399 I 2.75 -25.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 398 Al 400 Br) +M V30 400 Q 4.25 -25.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 399 Al 401 Br) +M V30 401 M 5.75 -25.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 400 Al 402 Br) +M V30 402 T 7.25 -25.25 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 401 Al 403 Br) +M V30 403 Q 8.75 -25.25 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 402 Al 404 Br) +M V30 404 S 10.25 -25.25 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 403 Al 405 Br) +M V30 405 P 11.75 -25.25 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 404 Al 406 Br) +M V30 406 S 13.25 -25.25 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 405 Al 407 Br) +M V30 407 S 14.75 -25.25 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 406 Al 408 Br) +M V30 408 L 16.25 -25.25 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 407 Al 409 Br) +M V30 409 S 17.75 -25.25 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 408 Al 410 Br) +M V30 410 A 19.25 -25.25 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 409 Al 411 Br) +M V30 411 S 20.75 -25.25 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 410 Al 412 Br) +M V30 412 V 22.25 -25.25 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 411 Al 413 Br) +M V30 413 G 23.75 -25.25 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 412 Al 414 Br) +M V30 414 D 25.25 -25.25 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 413 Al 415 Br) +M V30 415 R 26.75 -25.25 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 414 Al 416 Br) +M V30 416 V 28.25 -25.25 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 415 Al 417 Br) +M V30 417 T 29.75 -25.25 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 416 Al 418 Br) +M V30 418 I 31.25 -25.25 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 417 Al 419 Br) +M V30 419 T 32.75 -25.25 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 418 Al 420 Br) +M V30 420 C 34.25 -25.25 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(6 419 Al 421 Br 4- +M V30 85 Cx) +M V30 421 R 35.75 -25.25 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 420 Al 422 Br) +M V30 422 A 37.25 -25.25 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 421 Al 423 Br) +M V30 423 S 1.25 -26.75 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 422 Al 424 Br) +M V30 424 Q 2.75 -26.75 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 423 Al 425 Br) +M V30 425 D 4.25 -26.75 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 424 Al 426 Br) +M V30 426 V 5.75 -26.75 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 425 Al 427 Br) +M V30 427 N 7.25 -26.75 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 426 Al 428 Br) +M V30 428 T 8.75 -26.75 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 427 Al 429 Br) +M V30 429 A 10.25 -26.75 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 428 Al 430 Br) +M V30 430 V 11.75 -26.75 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 429 Al 431 Br) +M V30 431 A 13.25 -26.75 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 430 Al 432 Br) +M V30 432 W 14.75 -26.75 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 431 Al 433 Br) +M V30 433 Y 16.25 -26.75 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 432 Al 434 Br) +M V30 434 Q 17.75 -26.75 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 433 Al 435 Br) +M V30 435 Q 19.25 -26.75 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 434 Al 436 Br) +M V30 436 K 20.75 -26.75 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 435 Al 437 Br) +M V30 437 P 22.25 -26.75 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 436 Al 438 Br) +M V30 438 G 23.75 -26.75 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 437 Al 439 Br) +M V30 439 K 25.25 -26.75 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 438 Al 440 Br) +M V30 440 A 26.75 -26.75 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 439 Al 441 Br) +M V30 441 P 28.25 -26.75 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 440 Al 442 Br) +M V30 442 K 29.75 -26.75 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 441 Al 443 Br) +M V30 443 L 31.25 -26.75 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 442 Al 444 Br) +M V30 444 L 32.75 -26.75 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 443 Al 445 Br) +M V30 445 I 34.25 -26.75 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 444 Al 446 Br) +M V30 446 Y 35.75 -26.75 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 445 Al 447 Br) +M V30 447 S 37.25 -26.75 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 446 Al 448 Br) +M V30 448 A 1.25 -28.25 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 447 Al 449 Br) +M V30 449 S 2.75 -28.25 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 448 Al 450 Br) +M V30 450 F 4.25 -28.25 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 449 Al 451 Br) +M V30 451 L 5.75 -28.25 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 450 Al 452 Br) +M V30 452 Y 7.25 -28.25 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 451 Al 453 Br) +M V30 453 S 8.75 -28.25 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 452 Al 454 Br) +M V30 454 G 10.25 -28.25 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 453 Al 455 Br) +M V30 455 V 11.75 -28.25 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 454 Al 456 Br) +M V30 456 P 13.25 -28.25 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 455 Al 457 Br) +M V30 457 S 14.75 -28.25 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 456 Al 458 Br) +M V30 458 R 16.25 -28.25 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 457 Al 459 Br) +M V30 459 F 17.75 -28.25 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 458 Al 460 Br) +M V30 460 S 19.25 -28.25 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(4 459 Al 461 Br) +M V30 461 G 20.75 -28.25 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 460 Al 462 Br) +M V30 462 S 22.25 -28.25 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 461 Al 463 Br) +M V30 463 R 23.75 -28.25 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 462 Al 464 Br) +M V30 464 S 25.25 -28.25 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 463 Al 465 Br) +M V30 465 G 26.75 -28.25 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 464 Al 466 Br) +M V30 466 T 28.25 -28.25 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 465 Al 467 Br) +M V30 467 D 29.75 -28.25 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 466 Al 468 Br) +M V30 468 F 31.25 -28.25 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 467 Al 469 Br) +M V30 469 T 32.75 -28.25 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 468 Al 470 Br) +M V30 470 L 34.25 -28.25 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 469 Al 471 Br) +M V30 471 T 35.75 -28.25 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 470 Al 472 Br) +M V30 472 I 37.25 -28.25 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 471 Al 473 Br) +M V30 473 S 1.25 -29.75 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 472 Al 474 Br) +M V30 474 S 2.75 -29.75 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 473 Al 475 Br) +M V30 475 L 4.25 -29.75 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 474 Al 476 Br) +M V30 476 Q 5.75 -29.75 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 475 Al 477 Br) +M V30 477 P 7.25 -29.75 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 476 Al 478 Br) +M V30 478 E 8.75 -29.75 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 477 Al 479 Br) +M V30 479 D 10.25 -29.75 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 478 Al 480 Br) +M V30 480 F 11.75 -29.75 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(4 479 Al 481 Br) +M V30 481 A 13.25 -29.75 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 480 Al 482 Br) +M V30 482 T 14.75 -29.75 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 481 Al 483 Br) +M V30 483 Y 16.25 -29.75 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 482 Al 484 Br) +M V30 484 Y 17.75 -29.75 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 483 Al 485 Br) +M V30 485 C 19.25 -29.75 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(6 484 Al 486 Br 4- +M V30 20 Cx) +M V30 486 Q 20.75 -29.75 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(4 485 Al 487 Br) +M V30 487 Q 22.25 -29.75 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 486 Al 488 Br) +M V30 488 H 23.75 -29.75 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 487 Al 489 Br) +M V30 489 Y 25.25 -29.75 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(4 488 Al 490 Br) +M V30 490 T 26.75 -29.75 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 489 Al 491 Br) +M V30 491 T 28.25 -29.75 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 490 Al 492 Br) +M V30 492 P 29.75 -29.75 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 491 Al 493 Br) +M V30 493 P 31.25 -29.75 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(4 492 Al 494 Br) +M V30 494 T 32.75 -29.75 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 493 Al 495 Br) +M V30 495 F 34.25 -29.75 0.0 0 CLASS=AA SEQID=98 ATTCHORD=(4 494 Al 496 Br) +M V30 496 G 35.75 -29.75 0.0 0 CLASS=AA SEQID=99 ATTCHORD=(4 495 Al 497 Br) +M V30 497 Q 37.25 -29.75 0.0 0 CLASS=AA SEQID=100 ATTCHORD=(4 496 Al 498 Br) +M V30 498 G 1.25 -31.25 0.0 0 CLASS=AA SEQID=101 ATTCHORD=(4 497 Al 499 Br) +M V30 499 T 2.75 -31.25 0.0 0 CLASS=AA SEQID=102 ATTCHORD=(4 498 Al 500 Br) +M V30 500 K 4.25 -31.25 0.0 0 CLASS=AA SEQID=103 ATTCHORD=(4 499 Al 501 Br) +M V30 501 V 5.75 -31.25 0.0 0 CLASS=AA SEQID=104 ATTCHORD=(4 500 Al 502 Br) +M V30 502 E 7.25 -31.25 0.0 0 CLASS=AA SEQID=105 ATTCHORD=(4 501 Al 503 Br) +M V30 503 I 8.75 -31.25 0.0 0 CLASS=AA SEQID=106 ATTCHORD=(4 502 Al 504 Br) +M V30 504 K 10.25 -31.25 0.0 0 CLASS=AA SEQID=107 ATTCHORD=(4 503 Al 505 Br) +M V30 505 R 11.75 -31.25 0.0 0 CLASS=AA SEQID=108 ATTCHORD=(4 504 Al 506 Br) +M V30 506 T 13.25 -31.25 0.0 0 CLASS=AA SEQID=109 ATTCHORD=(4 505 Al 507 Br) +M V30 507 V 14.75 -31.25 0.0 0 CLASS=AA SEQID=110 ATTCHORD=(4 506 Al 508 Br) +M V30 508 A 16.25 -31.25 0.0 0 CLASS=AA SEQID=111 ATTCHORD=(4 507 Al 509 Br) +M V30 509 A 17.75 -31.25 0.0 0 CLASS=AA SEQID=112 ATTCHORD=(4 508 Al 510 Br) +M V30 510 P 19.25 -31.25 0.0 0 CLASS=AA SEQID=113 ATTCHORD=(4 509 Al 511 Br) +M V30 511 S 20.75 -31.25 0.0 0 CLASS=AA SEQID=114 ATTCHORD=(4 510 Al 512 Br) +M V30 512 V 22.25 -31.25 0.0 0 CLASS=AA SEQID=115 ATTCHORD=(4 511 Al 513 Br) +M V30 513 F 23.75 -31.25 0.0 0 CLASS=AA SEQID=116 ATTCHORD=(4 512 Al 514 Br) +M V30 514 I 25.25 -31.25 0.0 0 CLASS=AA SEQID=117 ATTCHORD=(4 513 Al 515 Br) +M V30 515 F 26.75 -31.25 0.0 0 CLASS=AA SEQID=118 ATTCHORD=(4 514 Al 516 Br) +M V30 516 P 28.25 -31.25 0.0 0 CLASS=AA SEQID=119 ATTCHORD=(4 515 Al 517 Br) +M V30 517 P 29.75 -31.25 0.0 0 CLASS=AA SEQID=120 ATTCHORD=(4 516 Al 518 Br) +M V30 518 S 31.25 -31.25 0.0 0 CLASS=AA SEQID=121 ATTCHORD=(4 517 Al 519 Br) +M V30 519 D 32.75 -31.25 0.0 0 CLASS=AA SEQID=122 ATTCHORD=(4 518 Al 520 Br) +M V30 520 E 34.25 -31.25 0.0 0 CLASS=AA SEQID=123 ATTCHORD=(4 519 Al 521 Br) +M V30 521 Q 35.75 -31.25 0.0 0 CLASS=AA SEQID=124 ATTCHORD=(4 520 Al 522 Br) +M V30 522 L 37.25 -31.25 0.0 0 CLASS=AA SEQID=125 ATTCHORD=(4 521 Al 523 Br) +M V30 523 K 1.25 -32.75 0.0 0 CLASS=AA SEQID=126 ATTCHORD=(4 522 Al 524 Br) +M V30 524 S 2.75 -32.75 0.0 0 CLASS=AA SEQID=127 ATTCHORD=(4 523 Al 525 Br) +M V30 525 G 4.25 -32.75 0.0 0 CLASS=AA SEQID=128 ATTCHORD=(4 524 Al 526 Br) +M V30 526 T 5.75 -32.75 0.0 0 CLASS=AA SEQID=129 ATTCHORD=(4 525 Al 527 Br) +M V30 527 A 7.25 -32.75 0.0 0 CLASS=AA SEQID=130 ATTCHORD=(4 526 Al 528 Br) +M V30 528 S 8.75 -32.75 0.0 0 CLASS=AA SEQID=131 ATTCHORD=(4 527 Al 529 Br) +M V30 529 V 10.25 -32.75 0.0 0 CLASS=AA SEQID=132 ATTCHORD=(4 528 Al 530 Br) +M V30 530 V 11.75 -32.75 0.0 0 CLASS=AA SEQID=133 ATTCHORD=(4 529 Al 531 Br) +M V30 531 C 13.25 -32.75 0.0 0 CLASS=AA SEQID=134 ATTCHORD=(6 530 Al 532 Br - +M V30 591 Cx) +M V30 532 L 14.75 -32.75 0.0 0 CLASS=AA SEQID=135 ATTCHORD=(4 531 Al 533 Br) +M V30 533 L 16.25 -32.75 0.0 0 CLASS=AA SEQID=136 ATTCHORD=(4 532 Al 534 Br) +M V30 534 N 17.75 -32.75 0.0 0 CLASS=AA SEQID=137 ATTCHORD=(4 533 Al 535 Br) +M V30 535 N 19.25 -32.75 0.0 0 CLASS=AA SEQID=138 ATTCHORD=(4 534 Al 536 Br) +M V30 536 F 20.75 -32.75 0.0 0 CLASS=AA SEQID=139 ATTCHORD=(4 535 Al 537 Br) +M V30 537 Y 22.25 -32.75 0.0 0 CLASS=AA SEQID=140 ATTCHORD=(4 536 Al 538 Br) +M V30 538 P 23.75 -32.75 0.0 0 CLASS=AA SEQID=141 ATTCHORD=(4 537 Al 539 Br) +M V30 539 R 25.25 -32.75 0.0 0 CLASS=AA SEQID=142 ATTCHORD=(4 538 Al 540 Br) +M V30 540 E 26.75 -32.75 0.0 0 CLASS=AA SEQID=143 ATTCHORD=(4 539 Al 541 Br) +M V30 541 A 28.25 -32.75 0.0 0 CLASS=AA SEQID=144 ATTCHORD=(4 540 Al 542 Br) +M V30 542 K 29.75 -32.75 0.0 0 CLASS=AA SEQID=145 ATTCHORD=(4 541 Al 543 Br) +M V30 543 V 31.25 -32.75 0.0 0 CLASS=AA SEQID=146 ATTCHORD=(4 542 Al 544 Br) +M V30 544 Q 32.75 -32.75 0.0 0 CLASS=AA SEQID=147 ATTCHORD=(4 543 Al 545 Br) +M V30 545 W 34.25 -32.75 0.0 0 CLASS=AA SEQID=148 ATTCHORD=(4 544 Al 546 Br) +M V30 546 K 35.75 -32.75 0.0 0 CLASS=AA SEQID=149 ATTCHORD=(4 545 Al 547 Br) +M V30 547 V 37.25 -32.75 0.0 0 CLASS=AA SEQID=150 ATTCHORD=(4 546 Al 548 Br) +M V30 548 D 1.25 -34.25 0.0 0 CLASS=AA SEQID=151 ATTCHORD=(4 547 Al 549 Br) +M V30 549 N 2.75 -34.25 0.0 0 CLASS=AA SEQID=152 ATTCHORD=(4 548 Al 550 Br) +M V30 550 A 4.25 -34.25 0.0 0 CLASS=AA SEQID=153 ATTCHORD=(4 549 Al 551 Br) +M V30 551 L 5.75 -34.25 0.0 0 CLASS=AA SEQID=154 ATTCHORD=(4 550 Al 552 Br) +M V30 552 Q 7.25 -34.25 0.0 0 CLASS=AA SEQID=155 ATTCHORD=(4 551 Al 553 Br) +M V30 553 S 8.75 -34.25 0.0 0 CLASS=AA SEQID=156 ATTCHORD=(4 552 Al 554 Br) +M V30 554 G 10.25 -34.25 0.0 0 CLASS=AA SEQID=157 ATTCHORD=(4 553 Al 555 Br) +M V30 555 N 11.75 -34.25 0.0 0 CLASS=AA SEQID=158 ATTCHORD=(4 554 Al 556 Br) +M V30 556 S 13.25 -34.25 0.0 0 CLASS=AA SEQID=159 ATTCHORD=(4 555 Al 557 Br) +M V30 557 Q 14.75 -34.25 0.0 0 CLASS=AA SEQID=160 ATTCHORD=(4 556 Al 558 Br) +M V30 558 E 16.25 -34.25 0.0 0 CLASS=AA SEQID=161 ATTCHORD=(4 557 Al 559 Br) +M V30 559 S 17.75 -34.25 0.0 0 CLASS=AA SEQID=162 ATTCHORD=(4 558 Al 560 Br) +M V30 560 V 19.25 -34.25 0.0 0 CLASS=AA SEQID=163 ATTCHORD=(4 559 Al 561 Br) +M V30 561 T 20.75 -34.25 0.0 0 CLASS=AA SEQID=164 ATTCHORD=(4 560 Al 562 Br) +M V30 562 E 22.25 -34.25 0.0 0 CLASS=AA SEQID=165 ATTCHORD=(4 561 Al 563 Br) +M V30 563 Q 23.75 -34.25 0.0 0 CLASS=AA SEQID=166 ATTCHORD=(4 562 Al 564 Br) +M V30 564 D 25.25 -34.25 0.0 0 CLASS=AA SEQID=167 ATTCHORD=(4 563 Al 565 Br) +M V30 565 S 26.75 -34.25 0.0 0 CLASS=AA SEQID=168 ATTCHORD=(4 564 Al 566 Br) +M V30 566 K 28.25 -34.25 0.0 0 CLASS=AA SEQID=169 ATTCHORD=(4 565 Al 567 Br) +M V30 567 D 29.75 -34.25 0.0 0 CLASS=AA SEQID=170 ATTCHORD=(4 566 Al 568 Br) +M V30 568 S 31.25 -34.25 0.0 0 CLASS=AA SEQID=171 ATTCHORD=(4 567 Al 569 Br) +M V30 569 T 32.75 -34.25 0.0 0 CLASS=AA SEQID=172 ATTCHORD=(4 568 Al 570 Br) +M V30 570 Y 34.25 -34.25 0.0 0 CLASS=AA SEQID=173 ATTCHORD=(4 569 Al 571 Br) +M V30 571 S 35.75 -34.25 0.0 0 CLASS=AA SEQID=174 ATTCHORD=(4 570 Al 572 Br) +M V30 572 L 37.25 -34.25 0.0 0 CLASS=AA SEQID=175 ATTCHORD=(4 571 Al 573 Br) +M V30 573 S 1.25 -35.75 0.0 0 CLASS=AA SEQID=176 ATTCHORD=(4 572 Al 574 Br) +M V30 574 S 2.75 -35.75 0.0 0 CLASS=AA SEQID=177 ATTCHORD=(4 573 Al 575 Br) +M V30 575 T 4.25 -35.75 0.0 0 CLASS=AA SEQID=178 ATTCHORD=(4 574 Al 576 Br) +M V30 576 L 5.75 -35.75 0.0 0 CLASS=AA SEQID=179 ATTCHORD=(4 575 Al 577 Br) +M V30 577 T 7.25 -35.75 0.0 0 CLASS=AA SEQID=180 ATTCHORD=(4 576 Al 578 Br) +M V30 578 L 8.75 -35.75 0.0 0 CLASS=AA SEQID=181 ATTCHORD=(4 577 Al 579 Br) +M V30 579 S 10.25 -35.75 0.0 0 CLASS=AA SEQID=182 ATTCHORD=(4 578 Al 580 Br) +M V30 580 K 11.75 -35.75 0.0 0 CLASS=AA SEQID=183 ATTCHORD=(4 579 Al 581 Br) +M V30 581 A 13.25 -35.75 0.0 0 CLASS=AA SEQID=184 ATTCHORD=(4 580 Al 582 Br) +M V30 582 D 14.75 -35.75 0.0 0 CLASS=AA SEQID=185 ATTCHORD=(4 581 Al 583 Br) +M V30 583 Y 16.25 -35.75 0.0 0 CLASS=AA SEQID=186 ATTCHORD=(4 582 Al 584 Br) +M V30 584 E 17.75 -35.75 0.0 0 CLASS=AA SEQID=187 ATTCHORD=(4 583 Al 585 Br) +M V30 585 K 19.25 -35.75 0.0 0 CLASS=AA SEQID=188 ATTCHORD=(4 584 Al 586 Br) +M V30 586 H 20.75 -35.75 0.0 0 CLASS=AA SEQID=189 ATTCHORD=(4 585 Al 587 Br) +M V30 587 K 22.25 -35.75 0.0 0 CLASS=AA SEQID=190 ATTCHORD=(4 586 Al 588 Br) +M V30 588 V 23.75 -35.75 0.0 0 CLASS=AA SEQID=191 ATTCHORD=(4 587 Al 589 Br) +M V30 589 Y 25.25 -35.75 0.0 0 CLASS=AA SEQID=192 ATTCHORD=(4 588 Al 590 Br) +M V30 590 A 26.75 -35.75 0.0 0 CLASS=AA SEQID=193 ATTCHORD=(4 589 Al 591 Br) +M V30 591 C 28.25 -35.75 0.0 0 CLASS=AA SEQID=194 ATTCHORD=(6 590 Al 592 Br - +M V30 531 Cx) +M V30 592 E 29.75 -35.75 0.0 0 CLASS=AA SEQID=195 ATTCHORD=(4 591 Al 593 Br) +M V30 593 V 31.25 -35.75 0.0 0 CLASS=AA SEQID=196 ATTCHORD=(4 592 Al 594 Br) +M V30 594 T 32.75 -35.75 0.0 0 CLASS=AA SEQID=197 ATTCHORD=(4 593 Al 595 Br) +M V30 595 H 34.25 -35.75 0.0 0 CLASS=AA SEQID=198 ATTCHORD=(4 594 Al 596 Br) +M V30 596 Q 35.75 -35.75 0.0 0 CLASS=AA SEQID=199 ATTCHORD=(4 595 Al 597 Br) +M V30 597 G 37.25 -35.75 0.0 0 CLASS=AA SEQID=200 ATTCHORD=(4 596 Al 598 Br) +M V30 598 L 1.25 -37.25 0.0 0 CLASS=AA SEQID=201 ATTCHORD=(4 597 Al 599 Br) +M V30 599 S 2.75 -37.25 0.0 0 CLASS=AA SEQID=202 ATTCHORD=(4 598 Al 600 Br) +M V30 600 S 4.25 -37.25 0.0 0 CLASS=AA SEQID=203 ATTCHORD=(4 599 Al 601 Br) +M V30 601 P 5.75 -37.25 0.0 0 CLASS=AA SEQID=204 ATTCHORD=(4 600 Al 602 Br) +M V30 602 V 7.25 -37.25 0.0 0 CLASS=AA SEQID=205 ATTCHORD=(4 601 Al 603 Br) +M V30 603 T 8.75 -37.25 0.0 0 CLASS=AA SEQID=206 ATTCHORD=(4 602 Al 604 Br) +M V30 604 K 10.25 -37.25 0.0 0 CLASS=AA SEQID=207 ATTCHORD=(4 603 Al 605 Br) +M V30 605 S 11.75 -37.25 0.0 0 CLASS=AA SEQID=208 ATTCHORD=(4 604 Al 606 Br) +M V30 606 F 13.25 -37.25 0.0 0 CLASS=AA SEQID=209 ATTCHORD=(4 605 Al 607 Br) +M V30 607 N 14.75 -37.25 0.0 0 CLASS=AA SEQID=210 ATTCHORD=(4 606 Al 608 Br) +M V30 608 R 16.25 -37.25 0.0 0 CLASS=AA SEQID=211 ATTCHORD=(4 607 Al 609 Br) +M V30 609 G 17.75 -37.25 0.0 0 CLASS=AA SEQID=212 ATTCHORD=(4 608 Al 610 Br) +M V30 610 E 19.25 -37.25 0.0 0 CLASS=AA SEQID=213 ATTCHORD=(4 609 Al 611 Br) +M V30 611 C 20.75 -37.25 0.0 0 CLASS=AA SEQID=214 ATTCHORD=(4 610 Al 223 Cx) +M V30 612 W 31.25 -38.75 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 613 Br 910 Al) +M V30 613 N 32.75 -38.75 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 612 Al 614 Br) +M V30 614 S 34.25 -38.75 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(4 613 Al 615 Br) +M V30 615 G 35.75 -38.75 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 614 Al 616 Br) +M V30 616 A 37.25 -38.75 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 615 Al 617 Br) +M V30 617 L 1.25 -40.25 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 616 Al 618 Br) +M V30 618 T 2.75 -40.25 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 617 Al 619 Br) +M V30 619 S 4.25 -40.25 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 618 Al 620 Br) +M V30 620 G 5.75 -40.25 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 619 Al 621 Br) +M V30 621 V 7.25 -40.25 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 620 Al 622 Br) +M V30 622 H 8.75 -40.25 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 621 Al 623 Br) +M V30 623 T 10.25 -40.25 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 622 Al 624 Br) +M V30 624 F 11.75 -40.25 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 623 Al 625 Br) +M V30 625 P 13.25 -40.25 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 624 Al 626 Br) +M V30 626 A 14.75 -40.25 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 625 Al 627 Br) +M V30 627 V 16.25 -40.25 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 626 Al 628 Br) +M V30 628 L 17.75 -40.25 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 627 Al 629 Br) +M V30 629 Q 19.25 -40.25 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 628 Al 630 Br) +M V30 630 S 20.75 -40.25 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 629 Al 631 Br) +M V30 631 S 22.25 -40.25 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 630 Al 632 Br) +M V30 632 G 23.75 -40.25 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 631 Al 633 Br) +M V30 633 L 25.25 -40.25 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 632 Al 634 Br) +M V30 634 Y 26.75 -40.25 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 633 Al 635 Br) +M V30 635 S 28.25 -40.25 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 634 Al 636 Br) +M V30 636 L 29.75 -40.25 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 635 Al 637 Br) +M V30 637 S 31.25 -40.25 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 636 Al 638 Br) +M V30 638 S 32.75 -40.25 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 637 Al 639 Br) +M V30 639 V 34.25 -40.25 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 638 Al 640 Br) +M V30 640 V 35.75 -40.25 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 639 Al 641 Br) +M V30 641 T 37.25 -40.25 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 640 Al 642 Br) +M V30 642 V 1.25 -41.75 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 641 Al 643 Br) +M V30 643 P 2.75 -41.75 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 642 Al 644 Br) +M V30 644 S 4.25 -41.75 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 643 Al 645 Br) +M V30 645 S 5.75 -41.75 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 644 Al 646 Br) +M V30 646 S 7.25 -41.75 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 645 Al 647 Br) +M V30 647 L 8.75 -41.75 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 646 Al 648 Br) +M V30 648 G 10.25 -41.75 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 647 Al 649 Br) +M V30 649 T 11.75 -41.75 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 648 Al 650 Br) +M V30 650 Q 13.25 -41.75 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 649 Al 651 Br) +M V30 651 T 14.75 -41.75 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 650 Al 652 Br) +M V30 652 Y 16.25 -41.75 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 651 Al 653 Br) +M V30 653 I 17.75 -41.75 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 652 Al 654 Br) +M V30 654 C 19.25 -41.75 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(6 653 Al 655 Br 9- +M V30 17 Cx) +M V30 655 N 20.75 -41.75 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 654 Al 656 Br) +M V30 656 V 22.25 -41.75 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 655 Al 657 Br) +M V30 657 N 23.75 -41.75 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 656 Al 658 Br) +M V30 658 H 25.25 -41.75 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 657 Al 659 Br) +M V30 659 K 26.75 -41.75 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 658 Al 660 Br) +M V30 660 P 28.25 -41.75 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 659 Al 661 Br) +M V30 661 S 29.75 -41.75 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 660 Al 662 Br) +M V30 662 N 31.25 -41.75 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 661 Al 663 Br) +M V30 663 T 32.75 -41.75 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 662 Al 664 Br) +M V30 664 K 34.25 -41.75 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 663 Al 665 Br) +M V30 665 V 35.75 -41.75 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 664 Al 666 Br) +M V30 666 D 37.25 -41.75 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 665 Al 667 Br) +M V30 667 K 1.25 -43.25 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 666 Al 668 Br) +M V30 668 K 2.75 -43.25 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 667 Al 669 Br) +M V30 669 V 4.25 -43.25 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 668 Al 670 Br) +M V30 670 E 5.75 -43.25 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 669 Al 671 Br) +M V30 671 P 7.25 -43.25 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 670 Al 672 Br) +M V30 672 K 8.75 -43.25 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 671 Al 673 Br) +M V30 673 S 10.25 -43.25 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 672 Al 674 Br) +M V30 674 C 11.75 -43.25 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(6 673 Al 675 Br 9- +M V30 00 Cx) +M V30 675 D 13.25 -43.25 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 674 Al 676 Br) +M V30 676 K 14.75 -43.25 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 675 Al 677 Br) +M V30 677 T 16.25 -43.25 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 676 Al 678 Br) +M V30 678 H 17.75 -43.25 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 677 Al 679 Br) +M V30 679 T 19.25 -43.25 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(4 678 Al 680 Br) +M V30 680 C 20.75 -43.25 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(6 679 Al 681 Br 2- +M V30 29 Cx) +M V30 681 P 22.25 -43.25 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 680 Al 682 Br) +M V30 682 P 23.75 -43.25 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 681 Al 683 Br) +M V30 683 C 25.25 -43.25 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(6 682 Al 684 Br 2- +M V30 32 Cx) +M V30 684 P 26.75 -43.25 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 683 Al 685 Br) +M V30 685 A 28.25 -43.25 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 684 Al 686 Br) +M V30 686 P 29.75 -43.25 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 685 Al 921 Br) +M V30 687 D 1.25 -44.75 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 688 Br) +M V30 688 I 2.75 -44.75 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 687 Al 689 Br) +M V30 689 Q 4.25 -44.75 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 688 Al 690 Br) +M V30 690 M 5.75 -44.75 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 689 Al 691 Br) +M V30 691 T 7.25 -44.75 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 690 Al 692 Br) +M V30 692 Q 8.75 -44.75 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 691 Al 693 Br) +M V30 693 S 10.25 -44.75 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 692 Al 694 Br) +M V30 694 P 11.75 -44.75 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 693 Al 695 Br) +M V30 695 S 13.25 -44.75 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 694 Al 696 Br) +M V30 696 S 14.75 -44.75 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 695 Al 697 Br) +M V30 697 L 16.25 -44.75 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 696 Al 698 Br) +M V30 698 S 17.75 -44.75 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 697 Al 699 Br) +M V30 699 A 19.25 -44.75 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 698 Al 700 Br) +M V30 700 S 20.75 -44.75 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 699 Al 701 Br) +M V30 701 V 22.25 -44.75 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 700 Al 702 Br) +M V30 702 G 23.75 -44.75 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 701 Al 703 Br) +M V30 703 D 25.25 -44.75 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 702 Al 704 Br) +M V30 704 R 26.75 -44.75 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 703 Al 705 Br) +M V30 705 V 28.25 -44.75 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 704 Al 706 Br) +M V30 706 T 29.75 -44.75 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 705 Al 707 Br) +M V30 707 I 31.25 -44.75 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 706 Al 708 Br) +M V30 708 T 32.75 -44.75 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 707 Al 709 Br) +M V30 709 C 34.25 -44.75 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(6 708 Al 710 Br 7- +M V30 74 Cx) +M V30 710 R 35.75 -44.75 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 709 Al 711 Br) +M V30 711 A 37.25 -44.75 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 710 Al 712 Br) +M V30 712 S 1.25 -46.25 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 711 Al 713 Br) +M V30 713 Q 2.75 -46.25 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 712 Al 714 Br) +M V30 714 D 4.25 -46.25 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 713 Al 715 Br) +M V30 715 V 5.75 -46.25 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 714 Al 716 Br) +M V30 716 N 7.25 -46.25 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 715 Al 717 Br) +M V30 717 T 8.75 -46.25 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 716 Al 718 Br) +M V30 718 A 10.25 -46.25 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 717 Al 719 Br) +M V30 719 V 11.75 -46.25 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 718 Al 720 Br) +M V30 720 A 13.25 -46.25 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 719 Al 721 Br) +M V30 721 W 14.75 -46.25 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 720 Al 722 Br) +M V30 722 Y 16.25 -46.25 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 721 Al 723 Br) +M V30 723 Q 17.75 -46.25 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 722 Al 724 Br) +M V30 724 Q 19.25 -46.25 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 723 Al 725 Br) +M V30 725 K 20.75 -46.25 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 724 Al 726 Br) +M V30 726 P 22.25 -46.25 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 725 Al 727 Br) +M V30 727 G 23.75 -46.25 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 726 Al 728 Br) +M V30 728 K 25.25 -46.25 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 727 Al 729 Br) +M V30 729 A 26.75 -46.25 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 728 Al 730 Br) +M V30 730 P 28.25 -46.25 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 729 Al 731 Br) +M V30 731 K 29.75 -46.25 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 730 Al 732 Br) +M V30 732 L 31.25 -46.25 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 731 Al 733 Br) +M V30 733 L 32.75 -46.25 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 732 Al 734 Br) +M V30 734 I 34.25 -46.25 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 733 Al 735 Br) +M V30 735 Y 35.75 -46.25 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 734 Al 736 Br) +M V30 736 S 37.25 -46.25 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 735 Al 737 Br) +M V30 737 A 1.25 -47.75 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 736 Al 738 Br) +M V30 738 S 2.75 -47.75 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 737 Al 739 Br) +M V30 739 F 4.25 -47.75 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 738 Al 740 Br) +M V30 740 L 5.75 -47.75 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 739 Al 741 Br) +M V30 741 Y 7.25 -47.75 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 740 Al 742 Br) +M V30 742 S 8.75 -47.75 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 741 Al 743 Br) +M V30 743 G 10.25 -47.75 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 742 Al 744 Br) +M V30 744 V 11.75 -47.75 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 743 Al 745 Br) +M V30 745 P 13.25 -47.75 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 744 Al 746 Br) +M V30 746 S 14.75 -47.75 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 745 Al 747 Br) +M V30 747 R 16.25 -47.75 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 746 Al 748 Br) +M V30 748 F 17.75 -47.75 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 747 Al 749 Br) +M V30 749 S 19.25 -47.75 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(4 748 Al 750 Br) +M V30 750 G 20.75 -47.75 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 749 Al 751 Br) +M V30 751 S 22.25 -47.75 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 750 Al 752 Br) +M V30 752 R 23.75 -47.75 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 751 Al 753 Br) +M V30 753 S 25.25 -47.75 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 752 Al 754 Br) +M V30 754 G 26.75 -47.75 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 753 Al 755 Br) +M V30 755 T 28.25 -47.75 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 754 Al 756 Br) +M V30 756 D 29.75 -47.75 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 755 Al 757 Br) +M V30 757 F 31.25 -47.75 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 756 Al 758 Br) +M V30 758 T 32.75 -47.75 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 757 Al 759 Br) +M V30 759 L 34.25 -47.75 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 758 Al 760 Br) +M V30 760 T 35.75 -47.75 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 759 Al 761 Br) +M V30 761 I 37.25 -47.75 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 760 Al 762 Br) +M V30 762 S 1.25 -49.25 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 761 Al 763 Br) +M V30 763 S 2.75 -49.25 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 762 Al 764 Br) +M V30 764 L 4.25 -49.25 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 763 Al 765 Br) +M V30 765 Q 5.75 -49.25 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 764 Al 766 Br) +M V30 766 P 7.25 -49.25 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 765 Al 767 Br) +M V30 767 E 8.75 -49.25 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 766 Al 768 Br) +M V30 768 D 10.25 -49.25 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 767 Al 769 Br) +M V30 769 F 11.75 -49.25 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(4 768 Al 770 Br) +M V30 770 A 13.25 -49.25 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 769 Al 771 Br) +M V30 771 T 14.75 -49.25 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 770 Al 772 Br) +M V30 772 Y 16.25 -49.25 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 771 Al 773 Br) +M V30 773 Y 17.75 -49.25 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 772 Al 774 Br) +M V30 774 C 19.25 -49.25 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(6 773 Al 775 Br 7- +M V30 09 Cx) +M V30 775 Q 20.75 -49.25 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(4 774 Al 776 Br) +M V30 776 Q 22.25 -49.25 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 775 Al 777 Br) +M V30 777 H 23.75 -49.25 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 776 Al 778 Br) +M V30 778 Y 25.25 -49.25 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(4 777 Al 779 Br) +M V30 779 T 26.75 -49.25 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 778 Al 780 Br) +M V30 780 T 28.25 -49.25 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 779 Al 781 Br) +M V30 781 P 29.75 -49.25 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 780 Al 782 Br) +M V30 782 P 31.25 -49.25 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(4 781 Al 783 Br) +M V30 783 T 32.75 -49.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 782 Al 784 Br) +M V30 784 F 34.25 -49.25 0.0 0 CLASS=AA SEQID=98 ATTCHORD=(4 783 Al 785 Br) +M V30 785 G 35.75 -49.25 0.0 0 CLASS=AA SEQID=99 ATTCHORD=(4 784 Al 786 Br) +M V30 786 Q 37.25 -49.25 0.0 0 CLASS=AA SEQID=100 ATTCHORD=(4 785 Al 787 Br) +M V30 787 G 1.25 -50.75 0.0 0 CLASS=AA SEQID=101 ATTCHORD=(4 786 Al 788 Br) +M V30 788 T 2.75 -50.75 0.0 0 CLASS=AA SEQID=102 ATTCHORD=(4 787 Al 789 Br) +M V30 789 K 4.25 -50.75 0.0 0 CLASS=AA SEQID=103 ATTCHORD=(4 788 Al 790 Br) +M V30 790 V 5.75 -50.75 0.0 0 CLASS=AA SEQID=104 ATTCHORD=(4 789 Al 791 Br) +M V30 791 E 7.25 -50.75 0.0 0 CLASS=AA SEQID=105 ATTCHORD=(4 790 Al 792 Br) +M V30 792 I 8.75 -50.75 0.0 0 CLASS=AA SEQID=106 ATTCHORD=(4 791 Al 793 Br) +M V30 793 K 10.25 -50.75 0.0 0 CLASS=AA SEQID=107 ATTCHORD=(4 792 Al 794 Br) +M V30 794 R 11.75 -50.75 0.0 0 CLASS=AA SEQID=108 ATTCHORD=(4 793 Al 795 Br) +M V30 795 T 13.25 -50.75 0.0 0 CLASS=AA SEQID=109 ATTCHORD=(4 794 Al 796 Br) +M V30 796 V 14.75 -50.75 0.0 0 CLASS=AA SEQID=110 ATTCHORD=(4 795 Al 797 Br) +M V30 797 A 16.25 -50.75 0.0 0 CLASS=AA SEQID=111 ATTCHORD=(4 796 Al 798 Br) +M V30 798 A 17.75 -50.75 0.0 0 CLASS=AA SEQID=112 ATTCHORD=(4 797 Al 799 Br) +M V30 799 P 19.25 -50.75 0.0 0 CLASS=AA SEQID=113 ATTCHORD=(4 798 Al 800 Br) +M V30 800 S 20.75 -50.75 0.0 0 CLASS=AA SEQID=114 ATTCHORD=(4 799 Al 801 Br) +M V30 801 V 22.25 -50.75 0.0 0 CLASS=AA SEQID=115 ATTCHORD=(4 800 Al 802 Br) +M V30 802 F 23.75 -50.75 0.0 0 CLASS=AA SEQID=116 ATTCHORD=(4 801 Al 803 Br) +M V30 803 I 25.25 -50.75 0.0 0 CLASS=AA SEQID=117 ATTCHORD=(4 802 Al 804 Br) +M V30 804 F 26.75 -50.75 0.0 0 CLASS=AA SEQID=118 ATTCHORD=(4 803 Al 805 Br) +M V30 805 P 28.25 -50.75 0.0 0 CLASS=AA SEQID=119 ATTCHORD=(4 804 Al 806 Br) +M V30 806 P 29.75 -50.75 0.0 0 CLASS=AA SEQID=120 ATTCHORD=(4 805 Al 807 Br) +M V30 807 S 31.25 -50.75 0.0 0 CLASS=AA SEQID=121 ATTCHORD=(4 806 Al 808 Br) +M V30 808 D 32.75 -50.75 0.0 0 CLASS=AA SEQID=122 ATTCHORD=(4 807 Al 809 Br) +M V30 809 E 34.25 -50.75 0.0 0 CLASS=AA SEQID=123 ATTCHORD=(4 808 Al 810 Br) +M V30 810 Q 35.75 -50.75 0.0 0 CLASS=AA SEQID=124 ATTCHORD=(4 809 Al 811 Br) +M V30 811 L 37.25 -50.75 0.0 0 CLASS=AA SEQID=125 ATTCHORD=(4 810 Al 812 Br) +M V30 812 K 1.25 -52.25 0.0 0 CLASS=AA SEQID=126 ATTCHORD=(4 811 Al 813 Br) +M V30 813 S 2.75 -52.25 0.0 0 CLASS=AA SEQID=127 ATTCHORD=(4 812 Al 814 Br) +M V30 814 G 4.25 -52.25 0.0 0 CLASS=AA SEQID=128 ATTCHORD=(4 813 Al 815 Br) +M V30 815 T 5.75 -52.25 0.0 0 CLASS=AA SEQID=129 ATTCHORD=(4 814 Al 816 Br) +M V30 816 A 7.25 -52.25 0.0 0 CLASS=AA SEQID=130 ATTCHORD=(4 815 Al 817 Br) +M V30 817 S 8.75 -52.25 0.0 0 CLASS=AA SEQID=131 ATTCHORD=(4 816 Al 818 Br) +M V30 818 V 10.25 -52.25 0.0 0 CLASS=AA SEQID=132 ATTCHORD=(4 817 Al 819 Br) +M V30 819 V 11.75 -52.25 0.0 0 CLASS=AA SEQID=133 ATTCHORD=(4 818 Al 820 Br) +M V30 820 C 13.25 -52.25 0.0 0 CLASS=AA SEQID=134 ATTCHORD=(6 819 Al 821 Br - +M V30 880 Cx) +M V30 821 L 14.75 -52.25 0.0 0 CLASS=AA SEQID=135 ATTCHORD=(4 820 Al 822 Br) +M V30 822 L 16.25 -52.25 0.0 0 CLASS=AA SEQID=136 ATTCHORD=(4 821 Al 823 Br) +M V30 823 N 17.75 -52.25 0.0 0 CLASS=AA SEQID=137 ATTCHORD=(4 822 Al 824 Br) +M V30 824 N 19.25 -52.25 0.0 0 CLASS=AA SEQID=138 ATTCHORD=(4 823 Al 825 Br) +M V30 825 F 20.75 -52.25 0.0 0 CLASS=AA SEQID=139 ATTCHORD=(4 824 Al 826 Br) +M V30 826 Y 22.25 -52.25 0.0 0 CLASS=AA SEQID=140 ATTCHORD=(4 825 Al 827 Br) +M V30 827 P 23.75 -52.25 0.0 0 CLASS=AA SEQID=141 ATTCHORD=(4 826 Al 828 Br) +M V30 828 R 25.25 -52.25 0.0 0 CLASS=AA SEQID=142 ATTCHORD=(4 827 Al 829 Br) +M V30 829 E 26.75 -52.25 0.0 0 CLASS=AA SEQID=143 ATTCHORD=(4 828 Al 830 Br) +M V30 830 A 28.25 -52.25 0.0 0 CLASS=AA SEQID=144 ATTCHORD=(4 829 Al 831 Br) +M V30 831 K 29.75 -52.25 0.0 0 CLASS=AA SEQID=145 ATTCHORD=(4 830 Al 832 Br) +M V30 832 V 31.25 -52.25 0.0 0 CLASS=AA SEQID=146 ATTCHORD=(4 831 Al 833 Br) +M V30 833 Q 32.75 -52.25 0.0 0 CLASS=AA SEQID=147 ATTCHORD=(4 832 Al 834 Br) +M V30 834 W 34.25 -52.25 0.0 0 CLASS=AA SEQID=148 ATTCHORD=(4 833 Al 835 Br) +M V30 835 K 35.75 -52.25 0.0 0 CLASS=AA SEQID=149 ATTCHORD=(4 834 Al 836 Br) +M V30 836 V 37.25 -52.25 0.0 0 CLASS=AA SEQID=150 ATTCHORD=(4 835 Al 837 Br) +M V30 837 D 1.25 -53.75 0.0 0 CLASS=AA SEQID=151 ATTCHORD=(4 836 Al 838 Br) +M V30 838 N 2.75 -53.75 0.0 0 CLASS=AA SEQID=152 ATTCHORD=(4 837 Al 839 Br) +M V30 839 A 4.25 -53.75 0.0 0 CLASS=AA SEQID=153 ATTCHORD=(4 838 Al 840 Br) +M V30 840 L 5.75 -53.75 0.0 0 CLASS=AA SEQID=154 ATTCHORD=(4 839 Al 841 Br) +M V30 841 Q 7.25 -53.75 0.0 0 CLASS=AA SEQID=155 ATTCHORD=(4 840 Al 842 Br) +M V30 842 S 8.75 -53.75 0.0 0 CLASS=AA SEQID=156 ATTCHORD=(4 841 Al 843 Br) +M V30 843 G 10.25 -53.75 0.0 0 CLASS=AA SEQID=157 ATTCHORD=(4 842 Al 844 Br) +M V30 844 N 11.75 -53.75 0.0 0 CLASS=AA SEQID=158 ATTCHORD=(4 843 Al 845 Br) +M V30 845 S 13.25 -53.75 0.0 0 CLASS=AA SEQID=159 ATTCHORD=(4 844 Al 846 Br) +M V30 846 Q 14.75 -53.75 0.0 0 CLASS=AA SEQID=160 ATTCHORD=(4 845 Al 847 Br) +M V30 847 E 16.25 -53.75 0.0 0 CLASS=AA SEQID=161 ATTCHORD=(4 846 Al 848 Br) +M V30 848 S 17.75 -53.75 0.0 0 CLASS=AA SEQID=162 ATTCHORD=(4 847 Al 849 Br) +M V30 849 V 19.25 -53.75 0.0 0 CLASS=AA SEQID=163 ATTCHORD=(4 848 Al 850 Br) +M V30 850 T 20.75 -53.75 0.0 0 CLASS=AA SEQID=164 ATTCHORD=(4 849 Al 851 Br) +M V30 851 E 22.25 -53.75 0.0 0 CLASS=AA SEQID=165 ATTCHORD=(4 850 Al 852 Br) +M V30 852 Q 23.75 -53.75 0.0 0 CLASS=AA SEQID=166 ATTCHORD=(4 851 Al 853 Br) +M V30 853 D 25.25 -53.75 0.0 0 CLASS=AA SEQID=167 ATTCHORD=(4 852 Al 854 Br) +M V30 854 S 26.75 -53.75 0.0 0 CLASS=AA SEQID=168 ATTCHORD=(4 853 Al 855 Br) +M V30 855 K 28.25 -53.75 0.0 0 CLASS=AA SEQID=169 ATTCHORD=(4 854 Al 856 Br) +M V30 856 D 29.75 -53.75 0.0 0 CLASS=AA SEQID=170 ATTCHORD=(4 855 Al 857 Br) +M V30 857 S 31.25 -53.75 0.0 0 CLASS=AA SEQID=171 ATTCHORD=(4 856 Al 858 Br) +M V30 858 T 32.75 -53.75 0.0 0 CLASS=AA SEQID=172 ATTCHORD=(4 857 Al 859 Br) +M V30 859 Y 34.25 -53.75 0.0 0 CLASS=AA SEQID=173 ATTCHORD=(4 858 Al 860 Br) +M V30 860 S 35.75 -53.75 0.0 0 CLASS=AA SEQID=174 ATTCHORD=(4 859 Al 861 Br) +M V30 861 L 37.25 -53.75 0.0 0 CLASS=AA SEQID=175 ATTCHORD=(4 860 Al 862 Br) +M V30 862 S 1.25 -55.25 0.0 0 CLASS=AA SEQID=176 ATTCHORD=(4 861 Al 863 Br) +M V30 863 S 2.75 -55.25 0.0 0 CLASS=AA SEQID=177 ATTCHORD=(4 862 Al 864 Br) +M V30 864 T 4.25 -55.25 0.0 0 CLASS=AA SEQID=178 ATTCHORD=(4 863 Al 865 Br) +M V30 865 L 5.75 -55.25 0.0 0 CLASS=AA SEQID=179 ATTCHORD=(4 864 Al 866 Br) +M V30 866 T 7.25 -55.25 0.0 0 CLASS=AA SEQID=180 ATTCHORD=(4 865 Al 867 Br) +M V30 867 L 8.75 -55.25 0.0 0 CLASS=AA SEQID=181 ATTCHORD=(4 866 Al 868 Br) +M V30 868 S 10.25 -55.25 0.0 0 CLASS=AA SEQID=182 ATTCHORD=(4 867 Al 869 Br) +M V30 869 K 11.75 -55.25 0.0 0 CLASS=AA SEQID=183 ATTCHORD=(4 868 Al 870 Br) +M V30 870 A 13.25 -55.25 0.0 0 CLASS=AA SEQID=184 ATTCHORD=(4 869 Al 871 Br) +M V30 871 D 14.75 -55.25 0.0 0 CLASS=AA SEQID=185 ATTCHORD=(4 870 Al 872 Br) +M V30 872 Y 16.25 -55.25 0.0 0 CLASS=AA SEQID=186 ATTCHORD=(4 871 Al 873 Br) +M V30 873 E 17.75 -55.25 0.0 0 CLASS=AA SEQID=187 ATTCHORD=(4 872 Al 874 Br) +M V30 874 K 19.25 -55.25 0.0 0 CLASS=AA SEQID=188 ATTCHORD=(4 873 Al 875 Br) +M V30 875 H 20.75 -55.25 0.0 0 CLASS=AA SEQID=189 ATTCHORD=(4 874 Al 876 Br) +M V30 876 K 22.25 -55.25 0.0 0 CLASS=AA SEQID=190 ATTCHORD=(4 875 Al 877 Br) +M V30 877 V 23.75 -55.25 0.0 0 CLASS=AA SEQID=191 ATTCHORD=(4 876 Al 878 Br) +M V30 878 Y 25.25 -55.25 0.0 0 CLASS=AA SEQID=192 ATTCHORD=(4 877 Al 879 Br) +M V30 879 A 26.75 -55.25 0.0 0 CLASS=AA SEQID=193 ATTCHORD=(4 878 Al 880 Br) +M V30 880 C 28.25 -55.25 0.0 0 CLASS=AA SEQID=194 ATTCHORD=(6 879 Al 881 Br - +M V30 820 Cx) +M V30 881 E 29.75 -55.25 0.0 0 CLASS=AA SEQID=195 ATTCHORD=(4 880 Al 882 Br) +M V30 882 V 31.25 -55.25 0.0 0 CLASS=AA SEQID=196 ATTCHORD=(4 881 Al 883 Br) +M V30 883 T 32.75 -55.25 0.0 0 CLASS=AA SEQID=197 ATTCHORD=(4 882 Al 884 Br) +M V30 884 H 34.25 -55.25 0.0 0 CLASS=AA SEQID=198 ATTCHORD=(4 883 Al 885 Br) +M V30 885 Q 35.75 -55.25 0.0 0 CLASS=AA SEQID=199 ATTCHORD=(4 884 Al 886 Br) +M V30 886 G 37.25 -55.25 0.0 0 CLASS=AA SEQID=200 ATTCHORD=(4 885 Al 887 Br) +M V30 887 L 1.25 -56.75 0.0 0 CLASS=AA SEQID=201 ATTCHORD=(4 886 Al 888 Br) +M V30 888 S 2.75 -56.75 0.0 0 CLASS=AA SEQID=202 ATTCHORD=(4 887 Al 889 Br) +M V30 889 S 4.25 -56.75 0.0 0 CLASS=AA SEQID=203 ATTCHORD=(4 888 Al 890 Br) +M V30 890 P 5.75 -56.75 0.0 0 CLASS=AA SEQID=204 ATTCHORD=(4 889 Al 891 Br) +M V30 891 V 7.25 -56.75 0.0 0 CLASS=AA SEQID=205 ATTCHORD=(4 890 Al 892 Br) +M V30 892 T 8.75 -56.75 0.0 0 CLASS=AA SEQID=206 ATTCHORD=(4 891 Al 893 Br) +M V30 893 K 10.25 -56.75 0.0 0 CLASS=AA SEQID=207 ATTCHORD=(4 892 Al 894 Br) +M V30 894 S 11.75 -56.75 0.0 0 CLASS=AA SEQID=208 ATTCHORD=(4 893 Al 895 Br) +M V30 895 F 13.25 -56.75 0.0 0 CLASS=AA SEQID=209 ATTCHORD=(4 894 Al 896 Br) +M V30 896 N 14.75 -56.75 0.0 0 CLASS=AA SEQID=210 ATTCHORD=(4 895 Al 897 Br) +M V30 897 R 16.25 -56.75 0.0 0 CLASS=AA SEQID=211 ATTCHORD=(4 896 Al 898 Br) +M V30 898 G 17.75 -56.75 0.0 0 CLASS=AA SEQID=212 ATTCHORD=(4 897 Al 899 Br) +M V30 899 E 19.25 -56.75 0.0 0 CLASS=AA SEQID=213 ATTCHORD=(4 898 Al 900 Br) +M V30 900 C 20.75 -56.75 0.0 0 CLASS=AA SEQID=214 ATTCHORD=(4 899 Al 674 Cx) +M V30 901 D 16.25 -38.75 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 902 Br 920 Al) +M V30 902 Y 17.75 -38.75 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 901 Al 903 Br) +M V30 903 F 19.25 -38.75 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 902 Al 904 Br) +M V30 904 P 20.75 -38.75 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 903 Al 905 Br) +M V30 905 E 22.25 -38.75 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 904 Al 906 Br) +M V30 906 P 23.75 -38.75 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 905 Al 907 Br) +M V30 907 V 25.25 -38.75 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 906 Al 908 Br) +M V30 908 T 26.75 -38.75 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 907 Al 909 Br) +M V30 909 V 28.25 -38.75 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 908 Al 910 Br) +M V30 910 S 29.75 -38.75 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 612 Br 909 Al) +M V30 911 G 1.25 -38.75 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 912 Br) +M V30 912 T 2.75 -38.75 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 911 Al 913 Br) +M V30 913 A 4.25 -38.75 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 912 Al 914 Br) +M V30 914 A 5.75 -38.75 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 913 Al 915 Br) +M V30 915 L 7.25 -38.75 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 914 Al 916 Br) +M V30 916 G 8.75 -38.75 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 915 Al 917 Br) +M V30 917 C 10.25 -38.75 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(6 654 Cx 916 Al 91- +M V30 8 Br) +M V30 918 L 11.75 -38.75 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 917 Al 919 Br) +M V30 919 V 13.25 -38.75 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 918 Al 920 Br) +M V30 920 K 14.75 -38.75 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 901 Br 919 Al) +M V30 921 A 31.25 -43.25 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(4 686 Al 922 Br) +M V30 922 K 32.75 -43.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 921 Al 923 Br) +M V30 923 K 32.75 -43.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 922 Al 924 Br) +M V30 924 K 32.75 -43.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 923 Al 925 Br) +M V30 925 A 32.75 -43.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(2 924 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 10 11 +M V30 11 1 11 12 +M V30 12 1 12 13 +M V30 13 1 13 14 +M V30 14 1 14 15 +M V30 15 1 15 16 +M V30 16 1 16 17 +M V30 17 1 17 18 +M V30 18 1 18 19 +M V30 19 1 19 20 +M V30 20 1 20 21 +M V30 21 1 21 22 +M V30 22 1 22 23 +M V30 23 1 23 24 +M V30 24 1 24 25 +M V30 25 1 25 26 +M V30 26 1 26 27 +M V30 27 1 27 28 +M V30 28 1 28 29 +M V30 29 1 29 30 +M V30 30 1 30 31 +M V30 31 1 31 32 +M V30 32 1 32 33 +M V30 33 1 33 34 +M V30 34 1 34 35 +M V30 35 1 35 36 +M V30 36 1 36 37 +M V30 37 1 37 38 +M V30 38 1 38 39 +M V30 39 1 39 40 +M V30 40 1 40 41 +M V30 41 1 41 42 +M V30 42 1 42 43 +M V30 43 1 43 44 +M V30 44 1 44 45 +M V30 45 1 45 46 +M V30 46 1 46 47 +M V30 47 1 47 48 +M V30 48 1 48 49 +M V30 49 1 49 50 +M V30 50 1 50 51 +M V30 51 1 51 52 +M V30 52 1 52 53 +M V30 53 1 53 54 +M V30 54 1 54 55 +M V30 55 1 55 56 +M V30 56 1 56 57 +M V30 57 1 57 58 +M V30 58 1 58 59 +M V30 59 1 59 60 +M V30 60 1 60 61 +M V30 61 1 61 62 +M V30 62 1 62 63 +M V30 63 1 63 64 +M V30 64 1 64 65 +M V30 65 1 65 66 +M V30 66 1 66 67 +M V30 67 1 67 68 +M V30 68 1 68 69 +M V30 69 1 69 70 +M V30 70 1 70 71 +M V30 71 1 71 72 +M V30 72 1 72 73 +M V30 73 1 73 74 +M V30 74 1 74 75 +M V30 75 1 75 76 +M V30 76 1 76 77 +M V30 77 1 77 78 +M V30 78 1 78 79 +M V30 79 1 79 80 +M V30 80 1 80 81 +M V30 81 1 81 82 +M V30 82 1 82 83 +M V30 83 1 83 84 +M V30 84 1 84 85 +M V30 85 1 85 86 +M V30 86 1 86 87 +M V30 87 1 87 88 +M V30 88 1 88 89 +M V30 89 1 89 90 +M V30 90 1 90 91 +M V30 91 1 91 92 +M V30 92 1 92 93 +M V30 93 1 93 94 +M V30 94 1 94 95 +M V30 95 1 95 96 +M V30 96 1 96 97 +M V30 97 1 97 98 +M V30 98 1 98 99 +M V30 99 1 99 100 +M V30 100 1 100 101 +M V30 101 1 101 102 +M V30 102 1 102 103 +M V30 103 1 103 104 +M V30 104 1 104 105 +M V30 105 1 105 106 +M V30 106 1 106 107 +M V30 107 1 107 108 +M V30 108 1 108 109 +M V30 109 1 109 110 +M V30 110 1 110 111 +M V30 111 1 111 112 +M V30 112 1 112 113 +M V30 113 1 113 114 +M V30 114 1 114 115 +M V30 115 1 115 116 +M V30 116 1 116 117 +M V30 117 1 117 118 +M V30 118 1 118 119 +M V30 119 1 119 120 +M V30 120 1 120 121 +M V30 121 1 121 122 +M V30 122 1 122 123 +M V30 123 1 123 124 +M V30 124 1 124 125 +M V30 125 1 125 126 +M V30 126 1 126 127 +M V30 127 1 127 128 +M V30 128 1 128 129 +M V30 129 1 129 130 +M V30 130 1 130 131 +M V30 131 1 131 132 +M V30 132 1 132 133 +M V30 133 1 133 134 +M V30 134 1 134 135 +M V30 135 1 135 136 +M V30 136 1 136 137 +M V30 137 1 137 138 +M V30 138 1 138 139 +M V30 139 1 139 140 +M V30 140 1 140 141 +M V30 141 1 141 142 +M V30 142 1 142 143 +M V30 143 1 143 144 +M V30 144 1 144 145 +M V30 145 1 145 146 +M V30 146 1 146 147 +M V30 147 1 147 148 +M V30 148 1 148 149 +M V30 149 1 149 150 +M V30 150 1 150 151 +M V30 151 1 151 152 +M V30 152 1 152 153 +M V30 153 1 153 154 +M V30 154 1 154 155 +M V30 155 1 155 156 +M V30 156 1 156 157 +M V30 157 1 157 158 +M V30 158 1 158 159 +M V30 159 1 159 160 +M V30 160 1 160 161 +M V30 161 1 161 162 +M V30 162 1 162 163 +M V30 163 1 163 164 +M V30 164 1 164 165 +M V30 165 1 165 166 +M V30 166 1 166 167 +M V30 167 1 167 168 +M V30 168 1 168 169 +M V30 169 1 169 170 +M V30 170 1 170 171 +M V30 171 1 171 172 +M V30 172 1 172 173 +M V30 173 1 173 174 +M V30 174 1 174 175 +M V30 175 1 175 176 +M V30 176 1 176 177 +M V30 177 1 177 178 +M V30 178 1 178 179 +M V30 179 1 179 180 +M V30 180 1 180 181 +M V30 181 1 181 182 +M V30 182 1 182 183 +M V30 183 1 183 184 +M V30 184 1 184 185 +M V30 185 1 185 186 +M V30 186 1 186 187 +M V30 187 1 187 188 +M V30 188 1 188 189 +M V30 189 1 189 190 +M V30 190 1 190 191 +M V30 191 1 191 192 +M V30 192 1 192 193 +M V30 193 1 193 194 +M V30 194 1 194 195 +M V30 195 1 195 196 +M V30 196 1 196 197 +M V30 197 1 197 198 +M V30 198 1 198 199 +M V30 199 1 199 200 +M V30 200 1 200 201 +M V30 201 1 201 202 +M V30 202 1 202 203 +M V30 203 1 203 204 +M V30 204 1 204 205 +M V30 205 1 205 206 +M V30 206 1 206 207 +M V30 207 1 207 208 +M V30 208 1 208 209 +M V30 209 1 209 210 +M V30 210 1 210 211 +M V30 211 1 211 212 +M V30 212 1 212 213 +M V30 213 1 213 214 +M V30 214 1 214 215 +M V30 215 1 215 216 +M V30 216 1 216 217 +M V30 217 1 217 218 +M V30 218 1 218 219 +M V30 219 1 219 220 +M V30 220 1 220 221 +M V30 221 1 221 222 +M V30 222 1 222 223 +M V30 223 1 223 224 +M V30 224 1 224 225 +M V30 225 1 225 226 +M V30 226 1 226 227 +M V30 227 1 227 228 +M V30 228 1 228 229 +M V30 229 1 229 230 +M V30 230 1 230 231 +M V30 231 1 231 232 +M V30 232 1 232 233 +M V30 233 1 233 234 +M V30 234 1 234 235 +M V30 235 1 235 236 +M V30 236 1 236 237 +M V30 237 1 237 238 +M V30 238 1 238 239 +M V30 239 1 239 240 +M V30 240 1 240 241 +M V30 241 1 241 242 +M V30 242 1 242 243 +M V30 243 1 243 244 +M V30 244 1 244 245 +M V30 245 1 245 246 +M V30 246 1 246 247 +M V30 247 1 247 248 +M V30 248 1 248 249 +M V30 249 1 249 250 +M V30 250 1 250 251 +M V30 251 1 251 252 +M V30 252 1 252 253 +M V30 253 1 253 254 +M V30 254 1 254 255 +M V30 255 1 255 256 +M V30 256 1 256 257 +M V30 257 1 257 258 +M V30 258 1 258 259 +M V30 259 1 259 260 +M V30 260 1 260 261 +M V30 261 1 261 262 +M V30 262 1 262 263 +M V30 263 1 263 264 +M V30 264 1 264 265 +M V30 265 1 265 266 +M V30 266 1 266 267 +M V30 267 1 267 268 +M V30 268 1 268 269 +M V30 269 1 269 270 +M V30 270 1 270 271 +M V30 271 1 271 272 +M V30 272 1 272 273 +M V30 273 1 273 274 +M V30 274 1 274 275 +M V30 275 1 275 276 +M V30 276 1 276 277 +M V30 277 1 277 278 +M V30 278 1 278 279 +M V30 279 1 279 280 +M V30 280 1 280 281 +M V30 281 1 281 282 +M V30 282 1 282 283 +M V30 283 1 283 284 +M V30 284 1 284 285 +M V30 285 1 285 286 +M V30 286 1 286 287 +M V30 287 1 287 288 +M V30 288 1 288 289 +M V30 289 1 289 290 +M V30 290 1 290 291 +M V30 291 1 291 292 +M V30 292 1 292 293 +M V30 293 1 293 294 +M V30 294 1 294 295 +M V30 295 1 295 296 +M V30 296 1 296 297 +M V30 297 1 297 298 +M V30 298 1 298 299 +M V30 299 1 299 300 +M V30 300 1 300 301 +M V30 301 1 301 302 +M V30 302 1 302 303 +M V30 303 1 303 304 +M V30 304 1 304 305 +M V30 305 1 305 306 +M V30 306 1 306 307 +M V30 307 1 307 308 +M V30 308 1 308 309 +M V30 309 1 309 310 +M V30 310 1 310 311 +M V30 311 1 311 312 +M V30 312 1 312 313 +M V30 313 1 313 314 +M V30 314 1 314 315 +M V30 315 1 315 316 +M V30 316 1 316 317 +M V30 317 1 317 318 +M V30 318 1 318 319 +M V30 319 1 319 320 +M V30 320 1 320 321 +M V30 321 1 321 322 +M V30 322 1 322 323 +M V30 323 1 323 324 +M V30 324 1 324 325 +M V30 325 1 325 326 +M V30 326 1 326 327 +M V30 327 1 327 328 +M V30 328 1 328 329 +M V30 329 1 329 330 +M V30 330 1 330 331 +M V30 331 1 331 332 +M V30 332 1 332 333 +M V30 333 1 333 334 +M V30 334 1 334 335 +M V30 335 1 335 336 +M V30 336 1 336 337 +M V30 337 1 337 338 +M V30 338 1 338 339 +M V30 339 1 339 340 +M V30 340 1 340 341 +M V30 341 1 341 342 +M V30 342 1 342 343 +M V30 343 1 343 344 +M V30 344 1 344 345 +M V30 345 1 345 346 +M V30 346 1 346 347 +M V30 347 1 347 348 +M V30 348 1 348 349 +M V30 349 1 349 350 +M V30 350 1 350 351 +M V30 351 1 351 352 +M V30 352 1 352 353 +M V30 353 1 353 354 +M V30 354 1 354 355 +M V30 355 1 355 356 +M V30 356 1 356 357 +M V30 357 1 357 358 +M V30 358 1 358 359 +M V30 359 1 359 360 +M V30 360 1 360 361 +M V30 361 1 361 362 +M V30 362 1 362 363 +M V30 363 1 363 364 +M V30 364 1 364 365 +M V30 365 1 365 366 +M V30 366 1 366 367 +M V30 367 1 367 368 +M V30 368 1 368 369 +M V30 369 1 369 370 +M V30 370 1 370 371 +M V30 371 1 371 372 +M V30 372 1 372 373 +M V30 373 1 373 374 +M V30 374 1 374 375 +M V30 375 1 375 376 +M V30 376 1 376 377 +M V30 377 1 377 378 +M V30 378 1 378 379 +M V30 379 1 379 380 +M V30 380 1 380 381 +M V30 381 1 381 382 +M V30 382 1 382 383 +M V30 383 1 383 384 +M V30 384 1 384 385 +M V30 385 1 385 386 +M V30 386 1 386 387 +M V30 387 1 387 388 +M V30 388 1 388 389 +M V30 389 1 389 390 +M V30 390 1 390 391 +M V30 391 1 391 392 +M V30 392 1 392 393 +M V30 393 1 393 394 +M V30 394 1 394 395 +M V30 395 1 395 396 +M V30 396 1 396 397 +M V30 397 1 398 399 +M V30 398 1 399 400 +M V30 399 1 400 401 +M V30 400 1 401 402 +M V30 401 1 402 403 +M V30 402 1 403 404 +M V30 403 1 404 405 +M V30 404 1 405 406 +M V30 405 1 406 407 +M V30 406 1 407 408 +M V30 407 1 408 409 +M V30 408 1 409 410 +M V30 409 1 410 411 +M V30 410 1 411 412 +M V30 411 1 412 413 +M V30 412 1 413 414 +M V30 413 1 414 415 +M V30 414 1 415 416 +M V30 415 1 416 417 +M V30 416 1 417 418 +M V30 417 1 418 419 +M V30 418 1 419 420 +M V30 419 1 420 421 +M V30 420 1 421 422 +M V30 421 1 422 423 +M V30 422 1 423 424 +M V30 423 1 424 425 +M V30 424 1 425 426 +M V30 425 1 426 427 +M V30 426 1 427 428 +M V30 427 1 428 429 +M V30 428 1 429 430 +M V30 429 1 430 431 +M V30 430 1 431 432 +M V30 431 1 432 433 +M V30 432 1 433 434 +M V30 433 1 434 435 +M V30 434 1 435 436 +M V30 435 1 436 437 +M V30 436 1 437 438 +M V30 437 1 438 439 +M V30 438 1 439 440 +M V30 439 1 440 441 +M V30 440 1 441 442 +M V30 441 1 442 443 +M V30 442 1 443 444 +M V30 443 1 444 445 +M V30 444 1 445 446 +M V30 445 1 446 447 +M V30 446 1 447 448 +M V30 447 1 448 449 +M V30 448 1 449 450 +M V30 449 1 450 451 +M V30 450 1 451 452 +M V30 451 1 452 453 +M V30 452 1 453 454 +M V30 453 1 454 455 +M V30 454 1 455 456 +M V30 455 1 456 457 +M V30 456 1 457 458 +M V30 457 1 458 459 +M V30 458 1 459 460 +M V30 459 1 460 461 +M V30 460 1 461 462 +M V30 461 1 462 463 +M V30 462 1 463 464 +M V30 463 1 464 465 +M V30 464 1 465 466 +M V30 465 1 466 467 +M V30 466 1 467 468 +M V30 467 1 468 469 +M V30 468 1 469 470 +M V30 469 1 470 471 +M V30 470 1 471 472 +M V30 471 1 472 473 +M V30 472 1 473 474 +M V30 473 1 474 475 +M V30 474 1 475 476 +M V30 475 1 476 477 +M V30 476 1 477 478 +M V30 477 1 478 479 +M V30 478 1 479 480 +M V30 479 1 480 481 +M V30 480 1 481 482 +M V30 481 1 482 483 +M V30 482 1 483 484 +M V30 483 1 484 485 +M V30 484 1 485 486 +M V30 485 1 486 487 +M V30 486 1 487 488 +M V30 487 1 488 489 +M V30 488 1 489 490 +M V30 489 1 490 491 +M V30 490 1 491 492 +M V30 491 1 492 493 +M V30 492 1 493 494 +M V30 493 1 494 495 +M V30 494 1 495 496 +M V30 495 1 496 497 +M V30 496 1 497 498 +M V30 497 1 498 499 +M V30 498 1 499 500 +M V30 499 1 500 501 +M V30 500 1 501 502 +M V30 501 1 502 503 +M V30 502 1 503 504 +M V30 503 1 504 505 +M V30 504 1 505 506 +M V30 505 1 506 507 +M V30 506 1 507 508 +M V30 507 1 508 509 +M V30 508 1 509 510 +M V30 509 1 510 511 +M V30 510 1 511 512 +M V30 511 1 512 513 +M V30 512 1 513 514 +M V30 513 1 514 515 +M V30 514 1 515 516 +M V30 515 1 516 517 +M V30 516 1 517 518 +M V30 517 1 518 519 +M V30 518 1 519 520 +M V30 519 1 520 521 +M V30 520 1 521 522 +M V30 521 1 522 523 +M V30 522 1 523 524 +M V30 523 1 524 525 +M V30 524 1 525 526 +M V30 525 1 526 527 +M V30 526 1 527 528 +M V30 527 1 528 529 +M V30 528 1 529 530 +M V30 529 1 530 531 +M V30 530 1 531 532 +M V30 531 1 532 533 +M V30 532 1 533 534 +M V30 533 1 534 535 +M V30 534 1 535 536 +M V30 535 1 536 537 +M V30 536 1 537 538 +M V30 537 1 538 539 +M V30 538 1 539 540 +M V30 539 1 540 541 +M V30 540 1 541 542 +M V30 541 1 542 543 +M V30 542 1 543 544 +M V30 543 1 544 545 +M V30 544 1 545 546 +M V30 545 1 546 547 +M V30 546 1 547 548 +M V30 547 1 548 549 +M V30 548 1 549 550 +M V30 549 1 550 551 +M V30 550 1 551 552 +M V30 551 1 552 553 +M V30 552 1 553 554 +M V30 553 1 554 555 +M V30 554 1 555 556 +M V30 555 1 556 557 +M V30 556 1 557 558 +M V30 557 1 558 559 +M V30 558 1 559 560 +M V30 559 1 560 561 +M V30 560 1 561 562 +M V30 561 1 562 563 +M V30 562 1 563 564 +M V30 563 1 564 565 +M V30 564 1 565 566 +M V30 565 1 566 567 +M V30 566 1 567 568 +M V30 567 1 568 569 +M V30 568 1 569 570 +M V30 569 1 570 571 +M V30 570 1 571 572 +M V30 571 1 572 573 +M V30 572 1 573 574 +M V30 573 1 574 575 +M V30 574 1 575 576 +M V30 575 1 576 577 +M V30 576 1 577 578 +M V30 577 1 578 579 +M V30 578 1 579 580 +M V30 579 1 580 581 +M V30 580 1 581 582 +M V30 581 1 582 583 +M V30 582 1 583 584 +M V30 583 1 584 585 +M V30 584 1 585 586 +M V30 585 1 586 587 +M V30 586 1 587 588 +M V30 587 1 588 589 +M V30 588 1 589 590 +M V30 589 1 590 591 +M V30 590 1 591 592 +M V30 591 1 592 593 +M V30 592 1 593 594 +M V30 593 1 594 595 +M V30 594 1 595 596 +M V30 595 1 596 597 +M V30 596 1 597 598 +M V30 597 1 598 599 +M V30 598 1 599 600 +M V30 599 1 600 601 +M V30 600 1 601 602 +M V30 601 1 602 603 +M V30 602 1 603 604 +M V30 603 1 604 605 +M V30 604 1 605 606 +M V30 605 1 606 607 +M V30 606 1 607 608 +M V30 607 1 608 609 +M V30 608 1 609 610 +M V30 609 1 610 611 +M V30 610 1 96 22 +M V30 611 1 203 147 +M V30 612 1 264 324 +M V30 613 1 485 420 +M V30 614 1 591 531 +M V30 615 1 611 223 +M V30 616 1 612 613 +M V30 617 1 613 614 +M V30 618 1 614 615 +M V30 619 1 615 616 +M V30 620 1 616 617 +M V30 621 1 617 618 +M V30 622 1 618 619 +M V30 623 1 619 620 +M V30 624 1 620 621 +M V30 625 1 621 622 +M V30 626 1 622 623 +M V30 627 1 623 624 +M V30 628 1 624 625 +M V30 629 1 625 626 +M V30 630 1 626 627 +M V30 631 1 627 628 +M V30 632 1 628 629 +M V30 633 1 629 630 +M V30 634 1 630 631 +M V30 635 1 631 632 +M V30 636 1 632 633 +M V30 637 1 633 634 +M V30 638 1 634 635 +M V30 639 1 635 636 +M V30 640 1 636 637 +M V30 641 1 637 638 +M V30 642 1 638 639 +M V30 643 1 639 640 +M V30 644 1 640 641 +M V30 645 1 641 642 +M V30 646 1 642 643 +M V30 647 1 643 644 +M V30 648 1 644 645 +M V30 649 1 645 646 +M V30 650 1 646 647 +M V30 651 1 647 648 +M V30 652 1 648 649 +M V30 653 1 649 650 +M V30 654 1 650 651 +M V30 655 1 651 652 +M V30 656 1 652 653 +M V30 657 1 653 654 +M V30 658 1 654 655 +M V30 659 1 655 656 +M V30 660 1 656 657 +M V30 661 1 657 658 +M V30 662 1 658 659 +M V30 663 1 659 660 +M V30 664 1 660 661 +M V30 665 1 661 662 +M V30 666 1 662 663 +M V30 667 1 663 664 +M V30 668 1 664 665 +M V30 669 1 665 666 +M V30 670 1 666 667 +M V30 671 1 667 668 +M V30 672 1 668 669 +M V30 673 1 669 670 +M V30 674 1 670 671 +M V30 675 1 671 672 +M V30 676 1 672 673 +M V30 677 1 673 674 +M V30 678 1 674 675 +M V30 679 1 675 676 +M V30 680 1 676 677 +M V30 681 1 677 678 +M V30 682 1 678 679 +M V30 683 1 679 680 +M V30 684 1 680 681 +M V30 685 1 681 682 +M V30 686 1 682 683 +M V30 687 1 683 684 +M V30 688 1 684 685 +M V30 689 1 685 686 +M V30 690 1 687 688 +M V30 691 1 688 689 +M V30 692 1 689 690 +M V30 693 1 690 691 +M V30 694 1 691 692 +M V30 695 1 692 693 +M V30 696 1 693 694 +M V30 697 1 694 695 +M V30 698 1 695 696 +M V30 699 1 696 697 +M V30 700 1 697 698 +M V30 701 1 698 699 +M V30 702 1 699 700 +M V30 703 1 700 701 +M V30 704 1 701 702 +M V30 705 1 702 703 +M V30 706 1 703 704 +M V30 707 1 704 705 +M V30 708 1 705 706 +M V30 709 1 706 707 +M V30 710 1 707 708 +M V30 711 1 708 709 +M V30 712 1 709 710 +M V30 713 1 710 711 +M V30 714 1 711 712 +M V30 715 1 712 713 +M V30 716 1 713 714 +M V30 717 1 714 715 +M V30 718 1 715 716 +M V30 719 1 716 717 +M V30 720 1 717 718 +M V30 721 1 718 719 +M V30 722 1 719 720 +M V30 723 1 720 721 +M V30 724 1 721 722 +M V30 725 1 722 723 +M V30 726 1 723 724 +M V30 727 1 724 725 +M V30 728 1 725 726 +M V30 729 1 726 727 +M V30 730 1 727 728 +M V30 731 1 728 729 +M V30 732 1 729 730 +M V30 733 1 730 731 +M V30 734 1 731 732 +M V30 735 1 732 733 +M V30 736 1 733 734 +M V30 737 1 734 735 +M V30 738 1 735 736 +M V30 739 1 736 737 +M V30 740 1 737 738 +M V30 741 1 738 739 +M V30 742 1 739 740 +M V30 743 1 740 741 +M V30 744 1 741 742 +M V30 745 1 742 743 +M V30 746 1 743 744 +M V30 747 1 744 745 +M V30 748 1 745 746 +M V30 749 1 746 747 +M V30 750 1 747 748 +M V30 751 1 748 749 +M V30 752 1 749 750 +M V30 753 1 750 751 +M V30 754 1 751 752 +M V30 755 1 752 753 +M V30 756 1 753 754 +M V30 757 1 754 755 +M V30 758 1 755 756 +M V30 759 1 756 757 +M V30 760 1 757 758 +M V30 761 1 758 759 +M V30 762 1 759 760 +M V30 763 1 760 761 +M V30 764 1 761 762 +M V30 765 1 762 763 +M V30 766 1 763 764 +M V30 767 1 764 765 +M V30 768 1 765 766 +M V30 769 1 766 767 +M V30 770 1 767 768 +M V30 771 1 768 769 +M V30 772 1 769 770 +M V30 773 1 770 771 +M V30 774 1 771 772 +M V30 775 1 772 773 +M V30 776 1 773 774 +M V30 777 1 774 775 +M V30 778 1 775 776 +M V30 779 1 776 777 +M V30 780 1 777 778 +M V30 781 1 778 779 +M V30 782 1 779 780 +M V30 783 1 780 781 +M V30 784 1 781 782 +M V30 785 1 782 783 +M V30 786 1 783 784 +M V30 787 1 784 785 +M V30 788 1 785 786 +M V30 789 1 786 787 +M V30 790 1 787 788 +M V30 791 1 788 789 +M V30 792 1 789 790 +M V30 793 1 790 791 +M V30 794 1 791 792 +M V30 795 1 792 793 +M V30 796 1 793 794 +M V30 797 1 794 795 +M V30 798 1 795 796 +M V30 799 1 796 797 +M V30 800 1 797 798 +M V30 801 1 798 799 +M V30 802 1 799 800 +M V30 803 1 800 801 +M V30 804 1 801 802 +M V30 805 1 802 803 +M V30 806 1 803 804 +M V30 807 1 804 805 +M V30 808 1 805 806 +M V30 809 1 806 807 +M V30 810 1 807 808 +M V30 811 1 808 809 +M V30 812 1 809 810 +M V30 813 1 810 811 +M V30 814 1 811 812 +M V30 815 1 812 813 +M V30 816 1 813 814 +M V30 817 1 814 815 +M V30 818 1 815 816 +M V30 819 1 816 817 +M V30 820 1 817 818 +M V30 821 1 818 819 +M V30 822 1 819 820 +M V30 823 1 820 821 +M V30 824 1 821 822 +M V30 825 1 822 823 +M V30 826 1 823 824 +M V30 827 1 824 825 +M V30 828 1 825 826 +M V30 829 1 826 827 +M V30 830 1 827 828 +M V30 831 1 828 829 +M V30 832 1 829 830 +M V30 833 1 830 831 +M V30 834 1 831 832 +M V30 835 1 832 833 +M V30 836 1 833 834 +M V30 837 1 834 835 +M V30 838 1 835 836 +M V30 839 1 836 837 +M V30 840 1 837 838 +M V30 841 1 838 839 +M V30 842 1 839 840 +M V30 843 1 840 841 +M V30 844 1 841 842 +M V30 845 1 842 843 +M V30 846 1 843 844 +M V30 847 1 844 845 +M V30 848 1 845 846 +M V30 849 1 846 847 +M V30 850 1 847 848 +M V30 851 1 848 849 +M V30 852 1 849 850 +M V30 853 1 850 851 +M V30 854 1 851 852 +M V30 855 1 852 853 +M V30 856 1 853 854 +M V30 857 1 854 855 +M V30 858 1 855 856 +M V30 859 1 856 857 +M V30 860 1 857 858 +M V30 861 1 858 859 +M V30 862 1 859 860 +M V30 863 1 860 861 +M V30 864 1 861 862 +M V30 865 1 862 863 +M V30 866 1 863 864 +M V30 867 1 864 865 +M V30 868 1 865 866 +M V30 869 1 866 867 +M V30 870 1 867 868 +M V30 871 1 868 869 +M V30 872 1 869 870 +M V30 873 1 870 871 +M V30 874 1 871 872 +M V30 875 1 872 873 +M V30 876 1 873 874 +M V30 877 1 874 875 +M V30 878 1 875 876 +M V30 879 1 876 877 +M V30 880 1 877 878 +M V30 881 1 878 879 +M V30 882 1 879 880 +M V30 883 1 880 881 +M V30 884 1 881 882 +M V30 885 1 882 883 +M V30 886 1 883 884 +M V30 887 1 884 885 +M V30 888 1 885 886 +M V30 889 1 886 887 +M V30 890 1 887 888 +M V30 891 1 888 889 +M V30 892 1 889 890 +M V30 893 1 890 891 +M V30 894 1 891 892 +M V30 895 1 892 893 +M V30 896 1 893 894 +M V30 897 1 894 895 +M V30 898 1 895 896 +M V30 899 1 896 897 +M V30 900 1 897 898 +M V30 901 1 898 899 +M V30 902 1 899 900 +M V30 903 1 774 709 +M V30 904 1 880 820 +M V30 905 1 900 674 +M V30 906 1 229 680 +M V30 907 1 683 232 +M V30 908 1 910 612 +M V30 909 1 901 902 +M V30 910 1 902 903 +M V30 911 1 903 904 +M V30 912 1 904 905 +M V30 913 1 905 906 +M V30 914 1 906 907 +M V30 915 1 907 908 +M V30 916 1 908 909 +M V30 917 1 909 910 +M V30 918 1 654 917 +M V30 919 1 920 901 +M V30 920 1 911 912 +M V30 921 1 912 913 +M V30 922 1 913 914 +M V30 923 1 914 915 +M V30 924 1 915 916 +M V30 925 1 916 917 +M V30 926 1 917 918 +M V30 927 1 918 919 +M V30 928 1 919 920 +M V30 929 1 686 921 +M V30 930 1 921 922 +M V30 931 1 922 923 +M V30 932 1 923 924 +M V30 933 1 924 925 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Glu/E/ NATREPLACE=AA/E +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3442 -1.4777 0.0 0 CFG=1 +M V30 2 C 1.6244 -2.2154 0.0 0 +M V30 3 O 1.6261 -3.3968 0.0 0 +M V30 4 O 2.6469 -1.6234 0.0 0 +M V30 5 N -0.9361 -2.2154 0.0 0 +M V30 6 H -1.9591 -1.6245 0.0 0 +M V30 7 C 0.3419 -0.0001 0.0 0 +M V30 8 C -0.9383 0.7375 0.0 0 +M V30 9 C -0.9406 2.2151 0.0 0 +M V30 10 O -1.9642 2.8049 0.0 0 +M V30 11 O 0.0819 2.8071 0.0 0 +M V30 12 H 0.0729 3.9885 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 6 1 1 7 CFG=1 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 9 10 +M V30 10 1 9 11 +M V30 11 1 11 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 1) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.511250 -0.296000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.004500 -0.590700 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 5 7 8 9 10 11) XBONDS=(3 3 5 11) BRKXYZ=(9 0.51- +M V30 1250 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.004500 0.590700 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=E CLASS=AA SAP=(3 5 6 Al) SAP=(3- +M V30 2 4 Br) SAP=(3 11 12 Cx) NATREPLACE=AA/E +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Val/V/ NATREPLACE=AA/V +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.1543 -0.9675 0.0 0 +M V30 2 C -0.1446 -0.2156 0.0 0 CFG=2 +M V30 3 C -1.1823 1.8865 0.0 0 +M V30 4 C -0.1438 1.2853 0.0 0 +M V30 5 C 0.896 1.8843 0.0 0 +M V30 6 O 1.1536 -2.1676 0.0 0 +M V30 7 N -1.4435 -0.9675 0.0 0 +M V30 8 O 2.1941 -0.3685 0.0 0 +M V30 9 H -2.4838 -0.3695 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 8 +M V30 4 1 2 7 +M V30 5 1 2 4 CFG=1 +M V30 6 1 4 3 +M V30 7 1 4 5 +M V30 8 1 7 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.520150 -0.299000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 3) BRKXYZ=(9 -0.519900 -0.299500 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 3 8) BRKXYZ=(9 0.519900 0.29- +M V30 9500 0.000000 -0.520150 0.299000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=V CLASS=AA SAP=(3 7 9 Al) SAP=(3 1 8 Br) NATREPLACE=AA/V +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gln/Q/ NATREPLACE=AA/Q +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.6237 -2.2154 0.0 0 +M V30 2 O 1.6254 -3.3969 0.0 0 +M V30 3 C 0.3435 -1.4777 0.0 0 CFG=1 +M V30 4 N -0.9368 -2.2154 0.0 0 +M V30 5 H -1.9598 -1.6245 0.0 0 +M V30 6 C 0.3413 -0.0001 0.0 0 +M V30 7 C -0.9389 0.7376 0.0 0 +M V30 8 C -0.9411 2.2152 0.0 0 +M V30 9 N 0.0813 2.8071 0.0 0 +M V30 10 O -1.9648 2.805 0.0 0 +M V30 11 O 2.6462 -1.6235 0.0 0 +M V30 12 H 0.0799 3.9885 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 8 10 +M V30 10 1 1 11 +M V30 11 1 9 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.511250 -0.295950 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.000700 -0.590700 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 6 7 8 9 10) XBONDS=(3 10 4 11) BRKXYZ=(9 0.51- +M V30 1250 0.295950 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.000700 0.590700 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=Q CLASS=AA SAP=(3 4 5 Al) SAP=(3- +M V30 1 11 Br) SAP=(3 9 12 Cx) NATREPLACE=AA/Q +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Ser/S/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.3671 -1.0829 0.0 0 +M V30 2 O 1.3689 -2.2643 0.0 0 +M V30 3 C 0.0869 -0.3452 0.0 0 CFG=1 +M V30 4 N -1.1934 -1.0829 0.0 0 +M V30 5 H -2.2165 -0.492 0.0 0 +M V30 6 C 0.0847 1.1324 0.0 0 +M V30 7 O -0.9391 1.7222 0.0 0 +M V30 8 O 2.3896 -0.4909 0.0 0 +M V30 9 H -0.9481 2.9036 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 1 8 +M V30 8 1 7 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511550 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.511250 -0.296000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.004500 -0.590700 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 6 7) XBONDS=(3 7 4 8) BRKXYZ=(9 0.511250 0.29- +M V30 6000 0.000000 -0.511550 0.295450 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.004500 0.590700 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=S CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 8 Br) - +M V30 SAP=(3 7 9 Cx) NATREPLACE=AA/S +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.0018 1.6555 0.0 0 +M V30 2 C -1.4799 1.889 0.0 0 +M V30 3 C -2.1599 0.5519 0.0 0 +M V30 4 N -1.0984 -0.5079 0.0 0 +M V30 5 C 0.2376 0.1741 0.0 0 CFG=2 +M V30 6 C 1.5717 -0.5079 0.0 0 +M V30 7 O 1.6336 -1.7063 0.0 0 +M V30 8 O 2.5787 0.1448 0.0 0 +M V30 9 H -1.2852 -1.6933 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.093400 0.592700 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.503500 -0.326350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.093400 -0.- +M V30 592700 0.000000 0.503500 0.326350 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 8 AA/Arg/R/ NATREPLACE=AA/R +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.7718 -2.5891 0.0 0 +M V30 2 O 1.7732 -3.5337 0.0 0 +M V30 3 C 0.7483 -1.9994 0.0 0 CFG=1 +M V30 4 N -0.2752 -2.5891 0.0 0 +M V30 5 H -1.0932 -2.1168 0.0 0 +M V30 6 C 0.7464 -0.8182 0.0 0 +M V30 7 C -0.2771 -0.2284 0.0 0 +M V30 8 C -0.2789 0.9529 0.0 0 +M V30 9 N -1.3024 1.5426 0.0 0 +M V30 10 C -1.3042 2.7238 0.0 0 +M V30 11 N -0.4868 3.1971 0.0 0 +M V30 12 N -2.1227 3.1955 0.0 0 +M V30 13 O 2.5892 -2.1159 0.0 0 +M V30 14 H -0.4883 4.3786 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 10 11 +M V30 11 2 10 12 +M V30 12 1 1 13 +M V30 13 1 11 14 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409000 -0.236150 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 13) XBONDS=(1 12) BRKXYZ=(9 -0.408700 -0.236600 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 14) XBONDS=(1 13) BRKXYZ=(9 0.000750 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(11 1 2 3 4 6 7 8 9 10 11 12) XBONDS=(3 12 4 13) BRKXYZ=- +M V30 (9 0.408700 0.236600 0.000000 -0.409000 0.236150 0.000000 0.000000 0.0- +M V30 00000 0.000000) BRKXYZ=(9 -0.000750 0.590750 0.000000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000) LABEL=R CLASS=AA SAP=(3 4 5 Al)- +M V30 SAP=(3 1 13 Br) SAP=(3 11 14 Cx) NATREPLACE=AA/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 9 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 10 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 11 AA/Phe/F/ NATREPLACE=AA/F +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.2052 2.5398 0.0 0 +M V30 2 C -1.5064 3.286 0.0 0 +M V30 3 C -2.8032 2.5322 0.0 0 +M V30 4 C -2.7988 1.0322 0.0 0 +M V30 5 C -1.4976 0.2861 0.0 0 +M V30 6 C -0.2008 1.0398 0.0 0 +M V30 7 C 1.0995 0.2905 0.0 0 +M V30 8 C 1.1018 -1.2103 0.0 0 CFG=2 +M V30 9 N -0.1986 -1.9596 0.0 0 +M V30 10 C 2.4022 -1.9596 0.0 0 +M V30 11 O 2.404 -3.1596 0.0 0 +M V30 12 O 3.4407 -1.3583 0.0 0 +M V30 13 H -1.2376 -1.3593 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 2 2 3 +M V30 4 1 3 4 +M V30 5 2 4 5 +M V30 6 1 5 6 +M V30 7 1 6 7 +M V30 8 1 8 7 CFG=1 +M V30 9 1 8 9 +M V30 10 1 8 10 +M V30 11 2 10 11 +M V30 12 1 10 12 +M V30 13 1 9 13 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 8) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 13) XBONDS=(1 13) BRKXYZ=(9 0.519500 -0.300150 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 -0.519250 -0.300650 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 13 12) BRKXYZ=(9 - +M V30 -0.519500 0.300150 0.000000 0.519250 0.300650 0.000000 0.000000 0.0000- +M V30 00 0.000000) LABEL=F CLASS=AA SAP=(3 9 13 Al) SAP=(3 10 12 Br) NATREPL- +M V30 ACE=AA/F +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 12 AA/Asn/N/ NATREPLACE=AA/N +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8929 -1.4175 0.0 0 +M V30 2 O 1.8947 -2.5989 0.0 0 +M V30 3 C 0.6127 -0.6799 0.0 0 CFG=1 +M V30 4 N -0.6676 -1.4175 0.0 0 +M V30 5 H -1.6907 -0.8266 0.0 0 +M V30 6 C 0.6104 0.7978 0.0 0 +M V30 7 C -0.6698 1.5354 0.0 0 +M V30 8 N -1.6922 0.9434 0.0 0 +M V30 9 O -0.6716 2.7168 0.0 0 +M V30 10 O 2.9153 -0.8255 0.0 0 +M V30 11 H -2.5341 1.7724 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 2 7 9 +M V30 9 1 1 10 +M V30 10 1 8 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511550 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.420950 -0.414500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511550 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 -0.420950 0.414500 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000) LABEL=N CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 1- +M V30 0 Br) SAP=(3 8 11 Cx) NATREPLACE=AA/N +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 13 AA/Ile/I/ NATREPLACE=AA/I +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -1.2557 1.6681 0.0 0 +M V30 2 C 0.0245 0.9304 0.0 0 CFG=1 +M V30 3 C 0.0268 -0.5472 0.0 0 CFG=2 +M V30 4 N -1.2536 -1.2849 0.0 0 +M V30 5 H -2.2766 -0.694 0.0 0 +M V30 6 C 1.3069 -1.2849 0.0 0 +M V30 7 O 1.3086 -2.4664 0.0 0 +M V30 8 O 2.3294 -0.693 0.0 0 +M V30 9 C 1.047 1.5223 0.0 0 +M V30 10 C -1.2574 2.8495 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 2 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 +M V30 6 2 6 7 +M V30 7 1 6 8 +M V30 8 1 2 9 CFG=3 +M V30 9 1 1 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.511250 -0.295950 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 6 7 9 10) XBONDS=(2 4 7) BRKXYZ=(9 -0.511500 - +M V30 0.295450 0.000000 0.511250 0.295950 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=I CLASS=AA SAP=(3 4 5 Al) SAP=(3 6 8 Br) NATREPLACE=AA/I +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 14 AA/Lys/K/ NATREPLACE=AA/K +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.1478 -2.4874 0.0 0 +M V30 2 C 0.8474 -1.7382 0.0 0 CFG=2 +M V30 3 C 0.8451 -0.2373 0.0 0 +M V30 4 C -0.4553 0.5119 0.0 0 +M V30 5 C -0.4575 2.0128 0.0 0 +M V30 6 C -1.7579 2.7619 0.0 0 +M V30 7 N -1.7602 4.2628 0.0 0 +M V30 8 N -0.453 -2.4874 0.0 0 +M V30 9 O 2.1495 -3.6875 0.0 0 +M V30 10 O 3.1863 -1.8862 0.0 0 +M V30 11 H -1.4921 -1.8873 0.0 0 +M V30 12 H -2.8 4.8619 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 9 1 +M V30 2 1 1 2 +M V30 3 1 1 10 +M V30 4 1 2 8 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 4 5 +M V30 8 1 5 6 +M V30 9 1 6 7 +M V30 10 1 8 11 +M V30 11 1 7 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.519550 -0.300050 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300600 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.519900 -0.299550 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 11 10) BRKXYZ=(9 0.519- +M V30 250 0.300600 0.000000 -0.519900 0.299550 0.000000 0.000000 0.000000 0.- +M V30 000000) BRKXYZ=(9 -0.519550 0.300050 0.000000 0.000000 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000) LABEL=K CLASS=AA SAP=(3 8 11 Al) SAP=(3- +M V30 1 10 Br) SAP=(3 7 12 Cx) NATREPLACE=AA/K +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 15 AA/Asp/D/ NATREPLACE=AA/D +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.631 -1.5578 0.0 0 +M V30 2 O 1.6327 -2.7392 0.0 0 +M V30 3 C 0.3507 -0.8201 0.0 0 CFG=1 +M V30 4 N -0.9295 -1.5578 0.0 0 +M V30 5 H -1.9525 -0.9669 0.0 0 +M V30 6 C 0.3485 0.6575 0.0 0 +M V30 7 C -0.9317 1.3952 0.0 0 +M V30 8 O -1.9542 0.8032 0.0 0 +M V30 9 O -0.9335 2.5766 0.0 0 +M V30 10 O 2.6534 -0.9658 0.0 0 +M V30 11 H 0.0851 3.1751 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 7 8 +M V30 8 1 7 9 +M V30 9 1 1 10 +M V30 10 1 9 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.509300 -0.299250 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLA- +M V30 SS=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 0.509300 0.299250 0.000000 0.000000 0.000000 0.000000 0- +M V30 .000000 0.000000 0.000000) LABEL=D CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 10- +M V30 Br) SAP=(3 9 11 Cx) NATREPLACE=AA/D +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 16 AA/Thr/T/ NATREPLACE=AA/T +M V30 BEGIN CTAB +M V30 COUNTS 10 9 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0488 -1.2558 0.0 0 +M V30 2 O 1.0481 -2.4369 0.0 0 +M V30 3 C -0.2297 -0.5156 0.0 0 CFG=1 +M V30 4 N -1.5081 -1.2558 0.0 0 +M V30 5 H -2.5321 -0.6672 0.0 0 +M V30 6 C -0.2289 0.9614 0.0 0 CFG=2 +M V30 7 O 0.7944 1.551 0.0 0 +M V30 8 C -1.251 1.5531 0.0 0 +M V30 9 O 2.072 -0.6661 0.0 0 +M V30 10 H 0.7866 2.7318 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 3 1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 CFG=1 +M V30 7 1 6 8 +M V30 8 1 1 9 +M V30 9 1 7 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 3 6) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.512000 -0.294300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.511600 -0.294850 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.003900 -0.590400 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 4 SUP 4 ATOMS=(7 1 2 3 4 6 7 8) XBONDS=(3 8 4 9) BRKXYZ=(9 0.511600 0.- +M V30 294850 0.000000 -0.512000 0.294300 0.000000 0.000000 0.000000 0.000000- +M V30 ) BRKXYZ=(9 -0.003900 0.590400 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000) LABEL=T CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 9 Br- +M V30 ) SAP=(3 7 10 Cx) NATREPLACE=AA/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 17 AA/Tyr/Y/ NATREPLACE=AA/Y +M V30 BEGIN CTAB +M V30 COUNTS 15 15 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.2957 -1.9502 0.0 0 +M V30 2 O 2.2972 -2.8951 0.0 0 +M V30 3 C 1.2718 -1.3602 0.0 0 CFG=1 +M V30 4 N 0.2479 -1.9502 0.0 0 +M V30 5 H -0.5703 -1.4776 0.0 0 +M V30 6 C 1.2701 -0.1785 0.0 0 +M V30 7 C 0.2461 0.4114 0.0 0 +M V30 8 C 0.2426 1.5925 0.0 0 +M V30 9 C -0.782 2.1801 0.0 0 +M V30 10 C -1.8031 1.5866 0.0 0 +M V30 11 C -1.7996 0.4055 0.0 0 +M V30 12 C -0.7751 -0.182 0.0 0 +M V30 13 O -2.6228 2.0566 0.0 0 +M V30 14 O 3.1134 -1.4768 0.0 0 +M V30 15 H -2.6319 3.2381 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 8 7 +M V30 8 2 9 8 +M V30 9 1 10 9 +M V30 10 2 11 10 +M V30 11 2 12 7 +M V30 12 1 12 11 +M V30 13 1 10 13 +M V30 14 1 1 14 +M V30 15 1 13 15 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409100 -0.236300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 14) XBONDS=(1 14) BRKXYZ=(9 -0.408850 -0.236700 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 15) XBONDS=(1 15) BRKXYZ=(9 0.004550 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(12 1 2 3 4 6 7 8 9 10 11 12 13) XBONDS=(3 14 4 15) BRKX- +M V30 YZ=(9 0.408850 0.236700 0.000000 -0.409100 0.236300 0.000000 0.000000 - +M V30 0.000000 0.000000) BRKXYZ=(9 -0.004550 0.590750 0.000000 0.000000 0.00- +M V30 0000 0.000000 0.000000 0.000000 0.000000) LABEL=Y CLASS=AA SAP=(3 4 5 - +M V30 Al) SAP=(3 1 14 Br) SAP=(3 13 15 Cx) NATREPLACE=AA/Y +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 18 AA/His/H/ NATREPLACE=AA/H +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8978 -1.6508 0.0 0 +M V30 2 O 1.8993 -2.5957 0.0 0 +M V30 3 C 0.8739 -1.0609 0.0 0 CFG=1 +M V30 4 N -0.15 -1.6508 0.0 0 +M V30 5 H -0.9683 -1.1782 0.0 0 +M V30 6 C 0.872 0.1209 0.0 0 +M V30 7 C -0.1501 0.7098 0.0 0 +M V30 8 C -0.2771 1.8841 0.0 0 +M V30 9 N -1.433 2.1263 0.0 0 +M V30 10 C -2.0205 1.1016 0.0 0 +M V30 11 N -1.2277 0.2263 0.0 0 +M V30 12 O 2.7155 -1.1774 0.0 0 +M V30 13 H -2.0317 3.1449 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 8 7 +M V30 8 1 9 8 +M V30 9 1 10 9 +M V30 10 1 11 7 +M V30 11 2 11 10 +M V30 12 1 1 12 +M V30 13 1 9 13 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409150 -0.236300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 -0.408850 -0.236700 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 13) BRKXYZ=(9 0.299350 -0.509300 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(10 1 2 3 4 6 7 8 9 10 11) XBONDS=(3 12 4 13) BRKXYZ=(9 - +M V30 0.408850 0.236700 0.000000 -0.409150 0.236300 0.000000 0.000000 0.0000- +M V30 00 0.000000) BRKXYZ=(9 -0.299350 0.509300 0.000000 0.000000 0.000000 0- +M V30 .000000 0.000000 0.000000 0.000000) LABEL=H CLASS=AA SAP=(3 4 5 Al) SA- +M V30 P=(3 1 12 Br) SAP=(3 9 13 Cx) NATREPLACE=AA/H +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 19 AA/Trp/W/ NATREPLACE=AA/W +M V30 BEGIN CTAB +M V30 COUNTS 17 18 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.0938 -2.3551 0.0 0 +M V30 2 O 2.0952 -3.3 0.0 0 +M V30 3 C 1.0698 -1.7652 0.0 0 CFG=1 +M V30 4 N 0.0459 -2.3551 0.0 0 +M V30 5 H -0.7723 -1.8826 0.0 0 +M V30 6 C 1.068 -0.5835 0.0 0 +M V30 7 C 0.0458 0.0055 0.0 0 +M V30 8 C -1.0319 -0.4779 0.0 0 +M V30 9 N -1.8246 0.3978 0.0 0 +M V30 10 C -1.237 1.4216 0.0 0 +M V30 11 C -0.081 1.1793 0.0 0 +M V30 12 C 0.7068 2.0591 0.0 0 +M V30 13 C 0.3387 3.1814 0.0 0 +M V30 14 C -0.8173 3.4238 0.0 0 +M V30 15 C -1.6051 2.5438 0.0 0 +M V30 16 O 2.9114 -1.8818 0.0 0 +M V30 17 H -3.0061 0.3887 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 8 7 +M V30 8 1 9 8 +M V30 9 1 10 9 +M V30 10 1 11 7 +M V30 11 2 11 10 +M V30 12 1 11 12 +M V30 13 2 12 13 +M V30 14 1 13 14 +M V30 15 1 15 10 +M V30 16 2 14 15 +M V30 17 1 1 16 +M V30 18 1 9 17 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409100 -0.236250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 16) XBONDS=(1 17) BRKXYZ=(9 -0.408800 -0.236650 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 17) XBONDS=(1 18) BRKXYZ=(9 0.590750 0.004550 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 4 SUP 4 ATOMS=(14 1 2 3 4 6 7 8 9 10 11 12 13 14 15) XBONDS=(3 17 4 18- +M V30 ) BRKXYZ=(9 0.408800 0.236650 0.000000 -0.409100 0.236250 0.000000 0.0- +M V30 00000 0.000000 0.000000) BRKXYZ=(9 -0.590750 -0.004550 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=W CLASS=AA SAP=- +M V30 (3 4 5 Al) SAP=(3 1 16 Br) SAP=(3 9 17 Cx) NATREPLACE=AA/W +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 20 AA/Met/M/ NATREPLACE=AA/M +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.6657 -1.56 0.0 0 +M V30 2 N -0.9351 -1.56 0.0 0 +M V30 3 O 1.6675 -2.76 0.0 0 +M V30 4 C 0.3653 -0.8107 0.0 0 CFG=1 +M V30 5 C 0.363 0.6901 0.0 0 +M V30 6 C -0.9373 1.4394 0.0 0 +M V30 7 C -1.9794 3.5393 0.0 0 +M V30 8 S -0.9396 2.9402 0.0 0 +M V30 9 O 2.7042 -0.9587 0.0 0 +M V30 10 H -1.9742 -0.9598 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 3 1 +M V30 2 1 1 4 +M V30 3 1 1 9 +M V30 4 1 4 2 +M V30 5 1 4 5 CFG=1 +M V30 6 1 5 6 +M V30 7 1 6 8 +M V30 8 1 8 7 +M V30 9 1 2 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 3 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=M CLASS=AA SAP=(3 2 10 Al) SAP=(3 1 9 Br) NATREPLACE=AA/M +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 21 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/TrastuzumabMaxRegister.mol b/Code/GraphMol/FileParsers/test_data/macromols/TrastuzumabMaxRegister.mol new file mode 100644 index 000000000..cf38df18b --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/TrastuzumabMaxRegister.mol @@ -0,0 +1,2845 @@ + + -INDIGO-01212517052D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 922 930 0 0 0 +M V30 BEGIN ATOM +M V30 1 E 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 2 Br) +M V30 2 V 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 1 Al 3 Br) +M V30 3 Q 4.25 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 2 Al 4 Br) +M V30 4 L 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 3 Al 5 Br) +M V30 5 V 7.25 -1.25 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 4 Al 6 Br) +M V30 6 E 8.75 -1.25 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 5 Al 7 Br) +M V30 7 S 10.25 -1.25 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 6 Al 8 Br) +M V30 8 G 11.75 -1.25 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 7 Al 9 Br) +M V30 9 G 13.25 -1.25 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 8 Al 10 Br) +M V30 10 G 14.75 -1.25 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 9 Al 11 Br) +M V30 11 L 16.25 -1.25 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 10 Al 12 Br) +M V30 12 V 17.75 -1.25 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 11 Al 13 Br) +M V30 13 Q 19.25 -1.25 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 12 Al 14 Br) +M V30 14 P 20.75 -1.25 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 13 Al 15 Br) +M V30 15 G 22.25 -1.25 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 14 Al 16 Br) +M V30 16 G 23.75 -1.25 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 15 Al 17 Br) +M V30 17 S 25.25 -1.25 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 16 Al 18 Br) +M V30 18 L 26.75 -1.25 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 17 Al 19 Br) +M V30 19 R 28.25 -1.25 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 18 Al 20 Br) +M V30 20 L 29.75 -1.25 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 19 Al 21 Br) +M V30 21 S 31.25 -1.25 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 20 Al 22 Br) +M V30 22 C 32.75 -1.25 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(6 21 Al 23 Br 96 Cx- +M V30 ) +M V30 23 A 34.25 -1.25 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(4 22 Al 24 Br) +M V30 24 A 35.75 -1.25 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 23 Al 25 Br) +M V30 25 S 37.25 -1.25 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 24 Al 26 Br) +M V30 26 G 1.25 -2.75 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 25 Al 27 Br) +M V30 27 F 2.75 -2.75 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 26 Al 28 Br) +M V30 28 N 4.25 -2.75 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 27 Al 29 Br) +M V30 29 I 5.75 -2.75 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 28 Al 30 Br) +M V30 30 K 7.25 -2.75 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 29 Al 31 Br) +M V30 31 D 8.75 -2.75 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 30 Al 32 Br) +M V30 32 T 10.25 -2.75 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 31 Al 33 Br) +M V30 33 Y 11.75 -2.75 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 32 Al 34 Br) +M V30 34 I 13.25 -2.75 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 33 Al 35 Br) +M V30 35 H 14.75 -2.75 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 34 Al 36 Br) +M V30 36 W 16.25 -2.75 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 35 Al 37 Br) +M V30 37 V 17.75 -2.75 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 36 Al 38 Br) +M V30 38 R 19.25 -2.75 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 37 Al 39 Br) +M V30 39 Q 20.75 -2.75 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 38 Al 40 Br) +M V30 40 A 22.25 -2.75 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 39 Al 41 Br) +M V30 41 P 23.75 -2.75 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 40 Al 42 Br) +M V30 42 G 25.25 -2.75 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 41 Al 43 Br) +M V30 43 K 26.75 -2.75 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 42 Al 44 Br) +M V30 44 G 28.25 -2.75 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 43 Al 45 Br) +M V30 45 L 29.75 -2.75 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 44 Al 46 Br) +M V30 46 E 31.25 -2.75 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 45 Al 47 Br) +M V30 47 W 32.75 -2.75 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 46 Al 48 Br) +M V30 48 V 34.25 -2.75 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 47 Al 49 Br) +M V30 49 A 35.75 -2.75 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 48 Al 50 Br) +M V30 50 R 37.25 -2.75 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 49 Al 51 Br) +M V30 51 I 1.25 -4.25 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 50 Al 52 Br) +M V30 52 Y 2.75 -4.25 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 51 Al 53 Br) +M V30 53 P 4.25 -4.25 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 52 Al 54 Br) +M V30 54 T 5.75 -4.25 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 53 Al 55 Br) +M V30 55 N 7.25 -4.25 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 54 Al 56 Br) +M V30 56 G 8.75 -4.25 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 55 Al 57 Br) +M V30 57 Y 10.25 -4.25 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 56 Al 58 Br) +M V30 58 T 11.75 -4.25 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 57 Al 59 Br) +M V30 59 R 13.25 -4.25 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 58 Al 60 Br) +M V30 60 Y 14.75 -4.25 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 59 Al 61 Br) +M V30 61 A 16.25 -4.25 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 60 Al 62 Br) +M V30 62 D 17.75 -4.25 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 61 Al 63 Br) +M V30 63 S 19.25 -4.25 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(4 62 Al 64 Br) +M V30 64 V 20.75 -4.25 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 63 Al 65 Br) +M V30 65 K 22.25 -4.25 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 64 Al 66 Br) +M V30 66 G 23.75 -4.25 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 65 Al 67 Br) +M V30 67 R 25.25 -4.25 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 66 Al 68 Br) +M V30 68 F 26.75 -4.25 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 67 Al 69 Br) +M V30 69 T 28.25 -4.25 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 68 Al 70 Br) +M V30 70 I 29.75 -4.25 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 69 Al 71 Br) +M V30 71 S 31.25 -4.25 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 70 Al 72 Br) +M V30 72 A 32.75 -4.25 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 71 Al 73 Br) +M V30 73 D 34.25 -4.25 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 72 Al 74 Br) +M V30 74 T 35.75 -4.25 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 73 Al 75 Br) +M V30 75 S 37.25 -4.25 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 74 Al 76 Br) +M V30 76 K 1.25 -5.75 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 75 Al 77 Br) +M V30 77 N 2.75 -5.75 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 76 Al 78 Br) +M V30 78 T 4.25 -5.75 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 77 Al 79 Br) +M V30 79 A 5.75 -5.75 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 78 Al 80 Br) +M V30 80 Y 7.25 -5.75 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 79 Al 81 Br) +M V30 81 L 8.75 -5.75 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 80 Al 82 Br) +M V30 82 Q 10.25 -5.75 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 81 Al 83 Br) +M V30 83 M 11.75 -5.75 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(4 82 Al 84 Br) +M V30 84 N 13.25 -5.75 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 83 Al 85 Br) +M V30 85 S 14.75 -5.75 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 84 Al 86 Br) +M V30 86 L 16.25 -5.75 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 85 Al 87 Br) +M V30 87 R 17.75 -5.75 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 86 Al 88 Br) +M V30 88 A 19.25 -5.75 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(4 87 Al 89 Br) +M V30 89 E 20.75 -5.75 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(4 88 Al 90 Br) +M V30 90 D 22.25 -5.75 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 89 Al 91 Br) +M V30 91 T 23.75 -5.75 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 90 Al 92 Br) +M V30 92 A 25.25 -5.75 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(4 91 Al 93 Br) +M V30 93 V 26.75 -5.75 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 92 Al 94 Br) +M V30 94 Y 28.25 -5.75 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 93 Al 95 Br) +M V30 95 Y 29.75 -5.75 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 94 Al 96 Br) +M V30 96 C 31.25 -5.75 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(6 95 Al 97 Br 22 Cx- +M V30 ) +M V30 97 S 32.75 -5.75 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 96 Al 98 Br) +M V30 98 R 34.25 -5.75 0.0 0 CLASS=AA SEQID=98 ATTCHORD=(4 97 Al 99 Br) +M V30 99 W 35.75 -5.75 0.0 0 CLASS=AA SEQID=99 ATTCHORD=(4 98 Al 100 Br) +M V30 100 G 37.25 -5.75 0.0 0 CLASS=AA SEQID=100 ATTCHORD=(4 99 Al 101 Br) +M V30 101 G 1.25 -7.25 0.0 0 CLASS=AA SEQID=101 ATTCHORD=(4 100 Al 102 Br) +M V30 102 D 2.75 -7.25 0.0 0 CLASS=AA SEQID=102 ATTCHORD=(4 101 Al 103 Br) +M V30 103 G 4.25 -7.25 0.0 0 CLASS=AA SEQID=103 ATTCHORD=(4 102 Al 104 Br) +M V30 104 F 5.75 -7.25 0.0 0 CLASS=AA SEQID=104 ATTCHORD=(4 103 Al 105 Br) +M V30 105 Y 7.25 -7.25 0.0 0 CLASS=AA SEQID=105 ATTCHORD=(4 104 Al 106 Br) +M V30 106 A 8.75 -7.25 0.0 0 CLASS=AA SEQID=106 ATTCHORD=(4 105 Al 107 Br) +M V30 107 M 10.25 -7.25 0.0 0 CLASS=AA SEQID=107 ATTCHORD=(4 106 Al 108 Br) +M V30 108 D 11.75 -7.25 0.0 0 CLASS=AA SEQID=108 ATTCHORD=(4 107 Al 109 Br) +M V30 109 Y 13.25 -7.25 0.0 0 CLASS=AA SEQID=109 ATTCHORD=(4 108 Al 110 Br) +M V30 110 W 14.75 -7.25 0.0 0 CLASS=AA SEQID=110 ATTCHORD=(4 109 Al 111 Br) +M V30 111 G 16.25 -7.25 0.0 0 CLASS=AA SEQID=111 ATTCHORD=(4 110 Al 112 Br) +M V30 112 Q 17.75 -7.25 0.0 0 CLASS=AA SEQID=112 ATTCHORD=(4 111 Al 113 Br) +M V30 113 G 19.25 -7.25 0.0 0 CLASS=AA SEQID=113 ATTCHORD=(4 112 Al 114 Br) +M V30 114 T 20.75 -7.25 0.0 0 CLASS=AA SEQID=114 ATTCHORD=(4 113 Al 115 Br) +M V30 115 L 22.25 -7.25 0.0 0 CLASS=AA SEQID=115 ATTCHORD=(4 114 Al 116 Br) +M V30 116 V 23.75 -7.25 0.0 0 CLASS=AA SEQID=116 ATTCHORD=(4 115 Al 117 Br) +M V30 117 T 25.25 -7.25 0.0 0 CLASS=AA SEQID=117 ATTCHORD=(4 116 Al 118 Br) +M V30 118 V 26.75 -7.25 0.0 0 CLASS=AA SEQID=118 ATTCHORD=(4 117 Al 119 Br) +M V30 119 S 28.25 -7.25 0.0 0 CLASS=AA SEQID=119 ATTCHORD=(4 118 Al 120 Br) +M V30 120 S 29.75 -7.25 0.0 0 CLASS=AA SEQID=120 ATTCHORD=(4 119 Al 121 Br) +M V30 121 A 31.25 -7.25 0.0 0 CLASS=AA SEQID=121 ATTCHORD=(4 120 Al 122 Br) +M V30 122 S 32.75 -7.25 0.0 0 CLASS=AA SEQID=122 ATTCHORD=(4 121 Al 123 Br) +M V30 123 T 34.25 -7.25 0.0 0 CLASS=AA SEQID=123 ATTCHORD=(4 122 Al 124 Br) +M V30 124 K 35.75 -7.25 0.0 0 CLASS=AA SEQID=124 ATTCHORD=(4 123 Al 125 Br) +M V30 125 G 37.25 -7.25 0.0 0 CLASS=AA SEQID=125 ATTCHORD=(4 124 Al 126 Br) +M V30 126 P 1.25 -8.75 0.0 0 CLASS=AA SEQID=126 ATTCHORD=(4 125 Al 127 Br) +M V30 127 S 2.75 -8.75 0.0 0 CLASS=AA SEQID=127 ATTCHORD=(4 126 Al 128 Br) +M V30 128 V 4.25 -8.75 0.0 0 CLASS=AA SEQID=128 ATTCHORD=(4 127 Al 129 Br) +M V30 129 F 5.75 -8.75 0.0 0 CLASS=AA SEQID=129 ATTCHORD=(4 128 Al 130 Br) +M V30 130 P 7.25 -8.75 0.0 0 CLASS=AA SEQID=130 ATTCHORD=(4 129 Al 131 Br) +M V30 131 L 8.75 -8.75 0.0 0 CLASS=AA SEQID=131 ATTCHORD=(4 130 Al 132 Br) +M V30 132 A 10.25 -8.75 0.0 0 CLASS=AA SEQID=132 ATTCHORD=(4 131 Al 133 Br) +M V30 133 P 11.75 -8.75 0.0 0 CLASS=AA SEQID=133 ATTCHORD=(4 132 Al 134 Br) +M V30 134 S 13.25 -8.75 0.0 0 CLASS=AA SEQID=134 ATTCHORD=(4 133 Al 135 Br) +M V30 135 S 14.75 -8.75 0.0 0 CLASS=AA SEQID=135 ATTCHORD=(4 134 Al 136 Br) +M V30 136 K 16.25 -8.75 0.0 0 CLASS=AA SEQID=136 ATTCHORD=(4 135 Al 137 Br) +M V30 137 S 17.75 -8.75 0.0 0 CLASS=AA SEQID=137 ATTCHORD=(4 136 Al 138 Br) +M V30 138 T 19.25 -8.75 0.0 0 CLASS=AA SEQID=138 ATTCHORD=(4 137 Al 139 Br) +M V30 139 S 20.75 -8.75 0.0 0 CLASS=AA SEQID=139 ATTCHORD=(4 138 Al 140 Br) +M V30 140 G 22.25 -8.75 0.0 0 CLASS=AA SEQID=140 ATTCHORD=(4 139 Al 141 Br) +M V30 141 G 23.75 -8.75 0.0 0 CLASS=AA SEQID=141 ATTCHORD=(4 140 Al 142 Br) +M V30 142 T 25.25 -8.75 0.0 0 CLASS=AA SEQID=142 ATTCHORD=(4 141 Al 143 Br) +M V30 143 A 26.75 -8.75 0.0 0 CLASS=AA SEQID=143 ATTCHORD=(4 142 Al 144 Br) +M V30 144 A 28.25 -8.75 0.0 0 CLASS=AA SEQID=144 ATTCHORD=(4 143 Al 145 Br) +M V30 145 L 29.75 -8.75 0.0 0 CLASS=AA SEQID=145 ATTCHORD=(4 144 Al 146 Br) +M V30 146 G 31.25 -8.75 0.0 0 CLASS=AA SEQID=146 ATTCHORD=(4 145 Al 147 Br) +M V30 147 C 32.75 -8.75 0.0 0 CLASS=AA SEQID=147 ATTCHORD=(6 146 Al 148 Br 2- +M V30 03 Cx) +M V30 148 L 34.25 -8.75 0.0 0 CLASS=AA SEQID=148 ATTCHORD=(4 147 Al 149 Br) +M V30 149 V 35.75 -8.75 0.0 0 CLASS=AA SEQID=149 ATTCHORD=(4 148 Al 150 Br) +M V30 150 K 37.25 -8.75 0.0 0 CLASS=AA SEQID=150 ATTCHORD=(4 149 Al 151 Br) +M V30 151 D 1.25 -10.25 0.0 0 CLASS=AA SEQID=151 ATTCHORD=(4 150 Al 152 Br) +M V30 152 Y 2.75 -10.25 0.0 0 CLASS=AA SEQID=152 ATTCHORD=(4 151 Al 153 Br) +M V30 153 F 4.25 -10.25 0.0 0 CLASS=AA SEQID=153 ATTCHORD=(4 152 Al 154 Br) +M V30 154 P 5.75 -10.25 0.0 0 CLASS=AA SEQID=154 ATTCHORD=(4 153 Al 155 Br) +M V30 155 E 7.25 -10.25 0.0 0 CLASS=AA SEQID=155 ATTCHORD=(4 154 Al 156 Br) +M V30 156 P 8.75 -10.25 0.0 0 CLASS=AA SEQID=156 ATTCHORD=(4 155 Al 157 Br) +M V30 157 V 10.25 -10.25 0.0 0 CLASS=AA SEQID=157 ATTCHORD=(4 156 Al 158 Br) +M V30 158 T 11.75 -10.25 0.0 0 CLASS=AA SEQID=158 ATTCHORD=(4 157 Al 159 Br) +M V30 159 V 13.25 -10.25 0.0 0 CLASS=AA SEQID=159 ATTCHORD=(4 158 Al 160 Br) +M V30 160 S 14.75 -10.25 0.0 0 CLASS=AA SEQID=160 ATTCHORD=(4 159 Al 161 Br) +M V30 161 W 16.25 -10.25 0.0 0 CLASS=AA SEQID=161 ATTCHORD=(4 160 Al 162 Br) +M V30 162 N 17.75 -10.25 0.0 0 CLASS=AA SEQID=162 ATTCHORD=(4 161 Al 163 Br) +M V30 163 S 19.25 -10.25 0.0 0 CLASS=AA SEQID=163 ATTCHORD=(4 162 Al 164 Br) +M V30 164 G 20.75 -10.25 0.0 0 CLASS=AA SEQID=164 ATTCHORD=(4 163 Al 165 Br) +M V30 165 A 22.25 -10.25 0.0 0 CLASS=AA SEQID=165 ATTCHORD=(4 164 Al 166 Br) +M V30 166 L 23.75 -10.25 0.0 0 CLASS=AA SEQID=166 ATTCHORD=(4 165 Al 167 Br) +M V30 167 T 25.25 -10.25 0.0 0 CLASS=AA SEQID=167 ATTCHORD=(4 166 Al 168 Br) +M V30 168 S 26.75 -10.25 0.0 0 CLASS=AA SEQID=168 ATTCHORD=(4 167 Al 169 Br) +M V30 169 G 28.25 -10.25 0.0 0 CLASS=AA SEQID=169 ATTCHORD=(4 168 Al 170 Br) +M V30 170 V 29.75 -10.25 0.0 0 CLASS=AA SEQID=170 ATTCHORD=(4 169 Al 171 Br) +M V30 171 H 31.25 -10.25 0.0 0 CLASS=AA SEQID=171 ATTCHORD=(4 170 Al 172 Br) +M V30 172 T 32.75 -10.25 0.0 0 CLASS=AA SEQID=172 ATTCHORD=(4 171 Al 173 Br) +M V30 173 F 34.25 -10.25 0.0 0 CLASS=AA SEQID=173 ATTCHORD=(4 172 Al 174 Br) +M V30 174 P 35.75 -10.25 0.0 0 CLASS=AA SEQID=174 ATTCHORD=(4 173 Al 175 Br) +M V30 175 A 37.25 -10.25 0.0 0 CLASS=AA SEQID=175 ATTCHORD=(4 174 Al 176 Br) +M V30 176 V 1.25 -11.75 0.0 0 CLASS=AA SEQID=176 ATTCHORD=(4 175 Al 177 Br) +M V30 177 L 2.75 -11.75 0.0 0 CLASS=AA SEQID=177 ATTCHORD=(4 176 Al 178 Br) +M V30 178 Q 4.25 -11.75 0.0 0 CLASS=AA SEQID=178 ATTCHORD=(4 177 Al 179 Br) +M V30 179 S 5.75 -11.75 0.0 0 CLASS=AA SEQID=179 ATTCHORD=(4 178 Al 180 Br) +M V30 180 S 7.25 -11.75 0.0 0 CLASS=AA SEQID=180 ATTCHORD=(4 179 Al 181 Br) +M V30 181 G 8.75 -11.75 0.0 0 CLASS=AA SEQID=181 ATTCHORD=(4 180 Al 182 Br) +M V30 182 L 10.25 -11.75 0.0 0 CLASS=AA SEQID=182 ATTCHORD=(4 181 Al 183 Br) +M V30 183 Y 11.75 -11.75 0.0 0 CLASS=AA SEQID=183 ATTCHORD=(4 182 Al 184 Br) +M V30 184 S 13.25 -11.75 0.0 0 CLASS=AA SEQID=184 ATTCHORD=(4 183 Al 185 Br) +M V30 185 L 14.75 -11.75 0.0 0 CLASS=AA SEQID=185 ATTCHORD=(4 184 Al 186 Br) +M V30 186 S 16.25 -11.75 0.0 0 CLASS=AA SEQID=186 ATTCHORD=(4 185 Al 187 Br) +M V30 187 S 17.75 -11.75 0.0 0 CLASS=AA SEQID=187 ATTCHORD=(4 186 Al 188 Br) +M V30 188 V 19.25 -11.75 0.0 0 CLASS=AA SEQID=188 ATTCHORD=(4 187 Al 189 Br) +M V30 189 V 20.75 -11.75 0.0 0 CLASS=AA SEQID=189 ATTCHORD=(4 188 Al 190 Br) +M V30 190 T 22.25 -11.75 0.0 0 CLASS=AA SEQID=190 ATTCHORD=(4 189 Al 191 Br) +M V30 191 V 23.75 -11.75 0.0 0 CLASS=AA SEQID=191 ATTCHORD=(4 190 Al 192 Br) +M V30 192 P 25.25 -11.75 0.0 0 CLASS=AA SEQID=192 ATTCHORD=(4 191 Al 193 Br) +M V30 193 S 26.75 -11.75 0.0 0 CLASS=AA SEQID=193 ATTCHORD=(4 192 Al 194 Br) +M V30 194 S 28.25 -11.75 0.0 0 CLASS=AA SEQID=194 ATTCHORD=(4 193 Al 195 Br) +M V30 195 S 29.75 -11.75 0.0 0 CLASS=AA SEQID=195 ATTCHORD=(4 194 Al 196 Br) +M V30 196 L 31.25 -11.75 0.0 0 CLASS=AA SEQID=196 ATTCHORD=(4 195 Al 197 Br) +M V30 197 G 32.75 -11.75 0.0 0 CLASS=AA SEQID=197 ATTCHORD=(4 196 Al 198 Br) +M V30 198 T 34.25 -11.75 0.0 0 CLASS=AA SEQID=198 ATTCHORD=(4 197 Al 199 Br) +M V30 199 Q 35.75 -11.75 0.0 0 CLASS=AA SEQID=199 ATTCHORD=(4 198 Al 200 Br) +M V30 200 T 37.25 -11.75 0.0 0 CLASS=AA SEQID=200 ATTCHORD=(4 199 Al 201 Br) +M V30 201 Y 1.25 -13.25 0.0 0 CLASS=AA SEQID=201 ATTCHORD=(4 200 Al 202 Br) +M V30 202 I 2.75 -13.25 0.0 0 CLASS=AA SEQID=202 ATTCHORD=(4 201 Al 203 Br) +M V30 203 C 4.25 -13.25 0.0 0 CLASS=AA SEQID=203 ATTCHORD=(6 202 Al 204 Br 1- +M V30 47 Cx) +M V30 204 N 5.75 -13.25 0.0 0 CLASS=AA SEQID=204 ATTCHORD=(4 203 Al 205 Br) +M V30 205 V 7.25 -13.25 0.0 0 CLASS=AA SEQID=205 ATTCHORD=(4 204 Al 206 Br) +M V30 206 N 8.75 -13.25 0.0 0 CLASS=AA SEQID=206 ATTCHORD=(4 205 Al 207 Br) +M V30 207 H 10.25 -13.25 0.0 0 CLASS=AA SEQID=207 ATTCHORD=(4 206 Al 208 Br) +M V30 208 K 11.75 -13.25 0.0 0 CLASS=AA SEQID=208 ATTCHORD=(4 207 Al 209 Br) +M V30 209 P 13.25 -13.25 0.0 0 CLASS=AA SEQID=209 ATTCHORD=(4 208 Al 210 Br) +M V30 210 S 14.75 -13.25 0.0 0 CLASS=AA SEQID=210 ATTCHORD=(4 209 Al 211 Br) +M V30 211 N 16.25 -13.25 0.0 0 CLASS=AA SEQID=211 ATTCHORD=(4 210 Al 212 Br) +M V30 212 T 17.75 -13.25 0.0 0 CLASS=AA SEQID=212 ATTCHORD=(4 211 Al 213 Br) +M V30 213 K 19.25 -13.25 0.0 0 CLASS=AA SEQID=213 ATTCHORD=(4 212 Al 214 Br) +M V30 214 V 20.75 -13.25 0.0 0 CLASS=AA SEQID=214 ATTCHORD=(4 213 Al 215 Br) +M V30 215 D 22.25 -13.25 0.0 0 CLASS=AA SEQID=215 ATTCHORD=(4 214 Al 216 Br) +M V30 216 K 23.75 -13.25 0.0 0 CLASS=AA SEQID=216 ATTCHORD=(4 215 Al 217 Br) +M V30 217 K 25.25 -13.25 0.0 0 CLASS=AA SEQID=217 ATTCHORD=(4 216 Al 218 Br) +M V30 218 V 26.75 -13.25 0.0 0 CLASS=AA SEQID=218 ATTCHORD=(4 217 Al 219 Br) +M V30 219 E 28.25 -13.25 0.0 0 CLASS=AA SEQID=219 ATTCHORD=(4 218 Al 220 Br) +M V30 220 P 29.75 -13.25 0.0 0 CLASS=AA SEQID=220 ATTCHORD=(4 219 Al 221 Br) +M V30 221 K 31.25 -13.25 0.0 0 CLASS=AA SEQID=221 ATTCHORD=(4 220 Al 222 Br) +M V30 222 S 32.75 -13.25 0.0 0 CLASS=AA SEQID=222 ATTCHORD=(4 221 Al 223 Br) +M V30 223 C 34.25 -13.25 0.0 0 CLASS=AA SEQID=223 ATTCHORD=(6 222 Al 224 Br - +M V30 611 Cx) +M V30 224 D 35.75 -13.25 0.0 0 CLASS=AA SEQID=224 ATTCHORD=(4 223 Al 225 Br) +M V30 225 K 37.25 -13.25 0.0 0 CLASS=AA SEQID=225 ATTCHORD=(4 224 Al 226 Br) +M V30 226 T 1.25 -14.75 0.0 0 CLASS=AA SEQID=226 ATTCHORD=(4 225 Al 227 Br) +M V30 227 H 2.75 -14.75 0.0 0 CLASS=AA SEQID=227 ATTCHORD=(4 226 Al 228 Br) +M V30 228 T 4.25 -14.75 0.0 0 CLASS=AA SEQID=228 ATTCHORD=(4 227 Al 229 Br) +M V30 229 C 5.75 -14.75 0.0 0 CLASS=AA SEQID=229 ATTCHORD=(6 228 Al 230 Br 6- +M V30 80 Cx) +M V30 230 P 7.25 -14.75 0.0 0 CLASS=AA SEQID=230 ATTCHORD=(4 229 Al 231 Br) +M V30 231 P 8.75 -14.75 0.0 0 CLASS=AA SEQID=231 ATTCHORD=(4 230 Al 232 Br) +M V30 232 C 10.25 -14.75 0.0 0 CLASS=AA SEQID=232 ATTCHORD=(6 231 Al 233 Br - +M V30 683 Cx) +M V30 233 P 11.75 -14.75 0.0 0 CLASS=AA SEQID=233 ATTCHORD=(4 232 Al 234 Br) +M V30 234 A 13.25 -14.75 0.0 0 CLASS=AA SEQID=234 ATTCHORD=(4 233 Al 235 Br) +M V30 235 P 14.75 -14.75 0.0 0 CLASS=AA SEQID=235 ATTCHORD=(4 234 Al 236 Br) +M V30 236 E 16.25 -14.75 0.0 0 CLASS=AA SEQID=236 ATTCHORD=(4 235 Al 237 Br) +M V30 237 L 17.75 -14.75 0.0 0 CLASS=AA SEQID=237 ATTCHORD=(4 236 Al 238 Br) +M V30 238 L 19.25 -14.75 0.0 0 CLASS=AA SEQID=238 ATTCHORD=(4 237 Al 239 Br) +M V30 239 G 20.75 -14.75 0.0 0 CLASS=AA SEQID=239 ATTCHORD=(4 238 Al 240 Br) +M V30 240 G 22.25 -14.75 0.0 0 CLASS=AA SEQID=240 ATTCHORD=(4 239 Al 241 Br) +M V30 241 P 23.75 -14.75 0.0 0 CLASS=AA SEQID=241 ATTCHORD=(4 240 Al 242 Br) +M V30 242 S 25.25 -14.75 0.0 0 CLASS=AA SEQID=242 ATTCHORD=(4 241 Al 243 Br) +M V30 243 V 26.75 -14.75 0.0 0 CLASS=AA SEQID=243 ATTCHORD=(4 242 Al 244 Br) +M V30 244 F 28.25 -14.75 0.0 0 CLASS=AA SEQID=244 ATTCHORD=(4 243 Al 245 Br) +M V30 245 L 29.75 -14.75 0.0 0 CLASS=AA SEQID=245 ATTCHORD=(4 244 Al 246 Br) +M V30 246 F 31.25 -14.75 0.0 0 CLASS=AA SEQID=246 ATTCHORD=(4 245 Al 247 Br) +M V30 247 P 32.75 -14.75 0.0 0 CLASS=AA SEQID=247 ATTCHORD=(4 246 Al 248 Br) +M V30 248 P 34.25 -14.75 0.0 0 CLASS=AA SEQID=248 ATTCHORD=(4 247 Al 249 Br) +M V30 249 K 35.75 -14.75 0.0 0 CLASS=AA SEQID=249 ATTCHORD=(4 248 Al 250 Br) +M V30 250 P 37.25 -14.75 0.0 0 CLASS=AA SEQID=250 ATTCHORD=(4 249 Al 251 Br) +M V30 251 K 1.25 -16.25 0.0 0 CLASS=AA SEQID=251 ATTCHORD=(4 250 Al 252 Br) +M V30 252 D 2.75 -16.25 0.0 0 CLASS=AA SEQID=252 ATTCHORD=(4 251 Al 253 Br) +M V30 253 T 4.25 -16.25 0.0 0 CLASS=AA SEQID=253 ATTCHORD=(4 252 Al 254 Br) +M V30 254 L 5.75 -16.25 0.0 0 CLASS=AA SEQID=254 ATTCHORD=(4 253 Al 255 Br) +M V30 255 M 7.25 -16.25 0.0 0 CLASS=AA SEQID=255 ATTCHORD=(4 254 Al 256 Br) +M V30 256 I 8.75 -16.25 0.0 0 CLASS=AA SEQID=256 ATTCHORD=(4 255 Al 257 Br) +M V30 257 S 10.25 -16.25 0.0 0 CLASS=AA SEQID=257 ATTCHORD=(4 256 Al 258 Br) +M V30 258 R 11.75 -16.25 0.0 0 CLASS=AA SEQID=258 ATTCHORD=(4 257 Al 259 Br) +M V30 259 T 13.25 -16.25 0.0 0 CLASS=AA SEQID=259 ATTCHORD=(4 258 Al 260 Br) +M V30 260 P 14.75 -16.25 0.0 0 CLASS=AA SEQID=260 ATTCHORD=(4 259 Al 261 Br) +M V30 261 E 16.25 -16.25 0.0 0 CLASS=AA SEQID=261 ATTCHORD=(4 260 Al 262 Br) +M V30 262 V 17.75 -16.25 0.0 0 CLASS=AA SEQID=262 ATTCHORD=(4 261 Al 263 Br) +M V30 263 T 19.25 -16.25 0.0 0 CLASS=AA SEQID=263 ATTCHORD=(4 262 Al 264 Br) +M V30 264 C 20.75 -16.25 0.0 0 CLASS=AA SEQID=264 ATTCHORD=(6 263 Al 265 Br - +M V30 324 Cx) +M V30 265 V 22.25 -16.25 0.0 0 CLASS=AA SEQID=265 ATTCHORD=(4 264 Al 266 Br) +M V30 266 V 23.75 -16.25 0.0 0 CLASS=AA SEQID=266 ATTCHORD=(4 265 Al 267 Br) +M V30 267 V 25.25 -16.25 0.0 0 CLASS=AA SEQID=267 ATTCHORD=(4 266 Al 268 Br) +M V30 268 D 26.75 -16.25 0.0 0 CLASS=AA SEQID=268 ATTCHORD=(4 267 Al 269 Br) +M V30 269 V 28.25 -16.25 0.0 0 CLASS=AA SEQID=269 ATTCHORD=(4 268 Al 270 Br) +M V30 270 S 29.75 -16.25 0.0 0 CLASS=AA SEQID=270 ATTCHORD=(4 269 Al 271 Br) +M V30 271 H 31.25 -16.25 0.0 0 CLASS=AA SEQID=271 ATTCHORD=(4 270 Al 272 Br) +M V30 272 E 32.75 -16.25 0.0 0 CLASS=AA SEQID=272 ATTCHORD=(4 271 Al 273 Br) +M V30 273 D 34.25 -16.25 0.0 0 CLASS=AA SEQID=273 ATTCHORD=(4 272 Al 274 Br) +M V30 274 P 35.75 -16.25 0.0 0 CLASS=AA SEQID=274 ATTCHORD=(4 273 Al 275 Br) +M V30 275 E 37.25 -16.25 0.0 0 CLASS=AA SEQID=275 ATTCHORD=(4 274 Al 276 Br) +M V30 276 V 1.25 -17.75 0.0 0 CLASS=AA SEQID=276 ATTCHORD=(4 275 Al 277 Br) +M V30 277 K 2.75 -17.75 0.0 0 CLASS=AA SEQID=277 ATTCHORD=(4 276 Al 278 Br) +M V30 278 F 4.25 -17.75 0.0 0 CLASS=AA SEQID=278 ATTCHORD=(4 277 Al 279 Br) +M V30 279 N 5.75 -17.75 0.0 0 CLASS=AA SEQID=279 ATTCHORD=(4 278 Al 280 Br) +M V30 280 W 7.25 -17.75 0.0 0 CLASS=AA SEQID=280 ATTCHORD=(4 279 Al 281 Br) +M V30 281 Y 8.75 -17.75 0.0 0 CLASS=AA SEQID=281 ATTCHORD=(4 280 Al 282 Br) +M V30 282 V 10.25 -17.75 0.0 0 CLASS=AA SEQID=282 ATTCHORD=(4 281 Al 283 Br) +M V30 283 D 11.75 -17.75 0.0 0 CLASS=AA SEQID=283 ATTCHORD=(4 282 Al 284 Br) +M V30 284 G 13.25 -17.75 0.0 0 CLASS=AA SEQID=284 ATTCHORD=(4 283 Al 285 Br) +M V30 285 V 14.75 -17.75 0.0 0 CLASS=AA SEQID=285 ATTCHORD=(4 284 Al 286 Br) +M V30 286 E 16.25 -17.75 0.0 0 CLASS=AA SEQID=286 ATTCHORD=(4 285 Al 287 Br) +M V30 287 V 17.75 -17.75 0.0 0 CLASS=AA SEQID=287 ATTCHORD=(4 286 Al 288 Br) +M V30 288 H 19.25 -17.75 0.0 0 CLASS=AA SEQID=288 ATTCHORD=(4 287 Al 289 Br) +M V30 289 N 20.75 -17.75 0.0 0 CLASS=AA SEQID=289 ATTCHORD=(4 288 Al 290 Br) +M V30 290 A 22.25 -17.75 0.0 0 CLASS=AA SEQID=290 ATTCHORD=(4 289 Al 291 Br) +M V30 291 K 23.75 -17.75 0.0 0 CLASS=AA SEQID=291 ATTCHORD=(4 290 Al 292 Br) +M V30 292 T 25.25 -17.75 0.0 0 CLASS=AA SEQID=292 ATTCHORD=(4 291 Al 293 Br) +M V30 293 K 26.75 -17.75 0.0 0 CLASS=AA SEQID=293 ATTCHORD=(4 292 Al 294 Br) +M V30 294 P 28.25 -17.75 0.0 0 CLASS=AA SEQID=294 ATTCHORD=(4 293 Al 295 Br) +M V30 295 R 29.75 -17.75 0.0 0 CLASS=AA SEQID=295 ATTCHORD=(4 294 Al 296 Br) +M V30 296 E 31.25 -17.75 0.0 0 CLASS=AA SEQID=296 ATTCHORD=(4 295 Al 297 Br) +M V30 297 E 32.75 -17.75 0.0 0 CLASS=AA SEQID=297 ATTCHORD=(4 296 Al 298 Br) +M V30 298 Q 34.25 -17.75 0.0 0 CLASS=AA SEQID=298 ATTCHORD=(4 297 Al 299 Br) +M V30 299 Y 35.75 -17.75 0.0 0 CLASS=AA SEQID=299 ATTCHORD=(4 298 Al 300 Br) +M V30 300 N 37.25 -17.75 0.0 0 CLASS=AA SEQID=300 ATTCHORD=(4 299 Al 301 Br) +M V30 301 S 1.25 -19.25 0.0 0 CLASS=AA SEQID=301 ATTCHORD=(4 300 Al 302 Br) +M V30 302 T 2.75 -19.25 0.0 0 CLASS=AA SEQID=302 ATTCHORD=(4 301 Al 303 Br) +M V30 303 Y 4.25 -19.25 0.0 0 CLASS=AA SEQID=303 ATTCHORD=(4 302 Al 304 Br) +M V30 304 R 5.75 -19.25 0.0 0 CLASS=AA SEQID=304 ATTCHORD=(4 303 Al 305 Br) +M V30 305 V 7.25 -19.25 0.0 0 CLASS=AA SEQID=305 ATTCHORD=(4 304 Al 306 Br) +M V30 306 V 8.75 -19.25 0.0 0 CLASS=AA SEQID=306 ATTCHORD=(4 305 Al 307 Br) +M V30 307 S 10.25 -19.25 0.0 0 CLASS=AA SEQID=307 ATTCHORD=(4 306 Al 308 Br) +M V30 308 V 11.75 -19.25 0.0 0 CLASS=AA SEQID=308 ATTCHORD=(4 307 Al 309 Br) +M V30 309 L 13.25 -19.25 0.0 0 CLASS=AA SEQID=309 ATTCHORD=(4 308 Al 310 Br) +M V30 310 T 14.75 -19.25 0.0 0 CLASS=AA SEQID=310 ATTCHORD=(4 309 Al 311 Br) +M V30 311 V 16.25 -19.25 0.0 0 CLASS=AA SEQID=311 ATTCHORD=(4 310 Al 312 Br) +M V30 312 L 17.75 -19.25 0.0 0 CLASS=AA SEQID=312 ATTCHORD=(4 311 Al 313 Br) +M V30 313 H 19.25 -19.25 0.0 0 CLASS=AA SEQID=313 ATTCHORD=(4 312 Al 314 Br) +M V30 314 Q 20.75 -19.25 0.0 0 CLASS=AA SEQID=314 ATTCHORD=(4 313 Al 315 Br) +M V30 315 D 22.25 -19.25 0.0 0 CLASS=AA SEQID=315 ATTCHORD=(4 314 Al 316 Br) +M V30 316 W 23.75 -19.25 0.0 0 CLASS=AA SEQID=316 ATTCHORD=(4 315 Al 317 Br) +M V30 317 L 25.25 -19.25 0.0 0 CLASS=AA SEQID=317 ATTCHORD=(4 316 Al 318 Br) +M V30 318 N 26.75 -19.25 0.0 0 CLASS=AA SEQID=318 ATTCHORD=(4 317 Al 319 Br) +M V30 319 G 28.25 -19.25 0.0 0 CLASS=AA SEQID=319 ATTCHORD=(4 318 Al 320 Br) +M V30 320 K 29.75 -19.25 0.0 0 CLASS=AA SEQID=320 ATTCHORD=(4 319 Al 321 Br) +M V30 321 E 31.25 -19.25 0.0 0 CLASS=AA SEQID=321 ATTCHORD=(4 320 Al 322 Br) +M V30 322 Y 32.75 -19.25 0.0 0 CLASS=AA SEQID=322 ATTCHORD=(4 321 Al 323 Br) +M V30 323 K 34.25 -19.25 0.0 0 CLASS=AA SEQID=323 ATTCHORD=(4 322 Al 324 Br) +M V30 324 C 35.75 -19.25 0.0 0 CLASS=AA SEQID=324 ATTCHORD=(6 323 Al 325 Br - +M V30 264 Cx) +M V30 325 K 37.25 -19.25 0.0 0 CLASS=AA SEQID=325 ATTCHORD=(4 324 Al 326 Br) +M V30 326 V 1.25 -20.75 0.0 0 CLASS=AA SEQID=326 ATTCHORD=(4 325 Al 327 Br) +M V30 327 S 2.75 -20.75 0.0 0 CLASS=AA SEQID=327 ATTCHORD=(4 326 Al 328 Br) +M V30 328 N 4.25 -20.75 0.0 0 CLASS=AA SEQID=328 ATTCHORD=(4 327 Al 329 Br) +M V30 329 K 5.75 -20.75 0.0 0 CLASS=AA SEQID=329 ATTCHORD=(4 328 Al 330 Br) +M V30 330 A 7.25 -20.75 0.0 0 CLASS=AA SEQID=330 ATTCHORD=(4 329 Al 331 Br) +M V30 331 L 8.75 -20.75 0.0 0 CLASS=AA SEQID=331 ATTCHORD=(4 330 Al 332 Br) +M V30 332 P 10.25 -20.75 0.0 0 CLASS=AA SEQID=332 ATTCHORD=(4 331 Al 333 Br) +M V30 333 A 11.75 -20.75 0.0 0 CLASS=AA SEQID=333 ATTCHORD=(4 332 Al 334 Br) +M V30 334 P 13.25 -20.75 0.0 0 CLASS=AA SEQID=334 ATTCHORD=(4 333 Al 335 Br) +M V30 335 I 14.75 -20.75 0.0 0 CLASS=AA SEQID=335 ATTCHORD=(4 334 Al 336 Br) +M V30 336 E 16.25 -20.75 0.0 0 CLASS=AA SEQID=336 ATTCHORD=(4 335 Al 337 Br) +M V30 337 K 17.75 -20.75 0.0 0 CLASS=AA SEQID=337 ATTCHORD=(4 336 Al 338 Br) +M V30 338 T 19.25 -20.75 0.0 0 CLASS=AA SEQID=338 ATTCHORD=(4 337 Al 339 Br) +M V30 339 I 20.75 -20.75 0.0 0 CLASS=AA SEQID=339 ATTCHORD=(4 338 Al 340 Br) +M V30 340 S 22.25 -20.75 0.0 0 CLASS=AA SEQID=340 ATTCHORD=(4 339 Al 341 Br) +M V30 341 K 23.75 -20.75 0.0 0 CLASS=AA SEQID=341 ATTCHORD=(4 340 Al 342 Br) +M V30 342 A 25.25 -20.75 0.0 0 CLASS=AA SEQID=342 ATTCHORD=(4 341 Al 343 Br) +M V30 343 K 26.75 -20.75 0.0 0 CLASS=AA SEQID=343 ATTCHORD=(4 342 Al 344 Br) +M V30 344 G 28.25 -20.75 0.0 0 CLASS=AA SEQID=344 ATTCHORD=(4 343 Al 345 Br) +M V30 345 Q 29.75 -20.75 0.0 0 CLASS=AA SEQID=345 ATTCHORD=(4 344 Al 346 Br) +M V30 346 P 31.25 -20.75 0.0 0 CLASS=AA SEQID=346 ATTCHORD=(4 345 Al 347 Br) +M V30 347 R 32.75 -20.75 0.0 0 CLASS=AA SEQID=347 ATTCHORD=(4 346 Al 348 Br) +M V30 348 E 34.25 -20.75 0.0 0 CLASS=AA SEQID=348 ATTCHORD=(4 347 Al 349 Br) +M V30 349 P 35.75 -20.75 0.0 0 CLASS=AA SEQID=349 ATTCHORD=(4 348 Al 350 Br) +M V30 350 Q 37.25 -20.75 0.0 0 CLASS=AA SEQID=350 ATTCHORD=(4 349 Al 351 Br) +M V30 351 V 1.25 -22.25 0.0 0 CLASS=AA SEQID=351 ATTCHORD=(4 350 Al 352 Br) +M V30 352 Y 2.75 -22.25 0.0 0 CLASS=AA SEQID=352 ATTCHORD=(4 351 Al 353 Br) +M V30 353 T 4.25 -22.25 0.0 0 CLASS=AA SEQID=353 ATTCHORD=(4 352 Al 354 Br) +M V30 354 L 5.75 -22.25 0.0 0 CLASS=AA SEQID=354 ATTCHORD=(4 353 Al 355 Br) +M V30 355 P 7.25 -22.25 0.0 0 CLASS=AA SEQID=355 ATTCHORD=(4 354 Al 356 Br) +M V30 356 P 8.75 -22.25 0.0 0 CLASS=AA SEQID=356 ATTCHORD=(4 355 Al 357 Br) +M V30 357 S 10.25 -22.25 0.0 0 CLASS=AA SEQID=357 ATTCHORD=(4 356 Al 358 Br) +M V30 358 R 11.75 -22.25 0.0 0 CLASS=AA SEQID=358 ATTCHORD=(4 357 Al 359 Br) +M V30 359 E 13.25 -22.25 0.0 0 CLASS=AA SEQID=359 ATTCHORD=(4 358 Al 360 Br) +M V30 360 E 14.75 -22.25 0.0 0 CLASS=AA SEQID=360 ATTCHORD=(4 359 Al 361 Br) +M V30 361 M 16.25 -22.25 0.0 0 CLASS=AA SEQID=361 ATTCHORD=(4 360 Al 362 Br) +M V30 362 T 17.75 -22.25 0.0 0 CLASS=AA SEQID=362 ATTCHORD=(4 361 Al 363 Br) +M V30 363 K 19.25 -22.25 0.0 0 CLASS=AA SEQID=363 ATTCHORD=(4 362 Al 364 Br) +M V30 364 N 20.75 -22.25 0.0 0 CLASS=AA SEQID=364 ATTCHORD=(4 363 Al 365 Br) +M V30 365 Q 22.25 -22.25 0.0 0 CLASS=AA SEQID=365 ATTCHORD=(4 364 Al 366 Br) +M V30 366 V 23.75 -22.25 0.0 0 CLASS=AA SEQID=366 ATTCHORD=(4 365 Al 367 Br) +M V30 367 S 25.25 -22.25 0.0 0 CLASS=AA SEQID=367 ATTCHORD=(4 366 Al 368 Br) +M V30 368 L 26.75 -22.25 0.0 0 CLASS=AA SEQID=368 ATTCHORD=(4 367 Al 369 Br) +M V30 369 T 28.25 -22.25 0.0 0 CLASS=AA SEQID=369 ATTCHORD=(4 368 Al 370 Br) +M V30 370 C 29.75 -22.25 0.0 0 CLASS=AA SEQID=370 ATTCHORD=(4 369 Al 371 Br) +M V30 371 L 31.25 -22.25 0.0 0 CLASS=AA SEQID=371 ATTCHORD=(4 370 Al 372 Br) +M V30 372 V 32.75 -22.25 0.0 0 CLASS=AA SEQID=372 ATTCHORD=(4 371 Al 373 Br) +M V30 373 K 34.25 -22.25 0.0 0 CLASS=AA SEQID=373 ATTCHORD=(4 372 Al 374 Br) +M V30 374 G 35.75 -22.25 0.0 0 CLASS=AA SEQID=374 ATTCHORD=(4 373 Al 375 Br) +M V30 375 F 37.25 -22.25 0.0 0 CLASS=AA SEQID=375 ATTCHORD=(4 374 Al 376 Br) +M V30 376 Y 1.25 -23.75 0.0 0 CLASS=AA SEQID=376 ATTCHORD=(4 375 Al 377 Br) +M V30 377 P 2.75 -23.75 0.0 0 CLASS=AA SEQID=377 ATTCHORD=(4 376 Al 378 Br) +M V30 378 S 4.25 -23.75 0.0 0 CLASS=AA SEQID=378 ATTCHORD=(4 377 Al 379 Br) +M V30 379 D 5.75 -23.75 0.0 0 CLASS=AA SEQID=379 ATTCHORD=(4 378 Al 380 Br) +M V30 380 I 7.25 -23.75 0.0 0 CLASS=AA SEQID=380 ATTCHORD=(4 379 Al 381 Br) +M V30 381 A 8.75 -23.75 0.0 0 CLASS=AA SEQID=381 ATTCHORD=(4 380 Al 382 Br) +M V30 382 V 10.25 -23.75 0.0 0 CLASS=AA SEQID=382 ATTCHORD=(4 381 Al 383 Br) +M V30 383 E 11.75 -23.75 0.0 0 CLASS=AA SEQID=383 ATTCHORD=(4 382 Al 384 Br) +M V30 384 W 13.25 -23.75 0.0 0 CLASS=AA SEQID=384 ATTCHORD=(4 383 Al 385 Br) +M V30 385 E 14.75 -23.75 0.0 0 CLASS=AA SEQID=385 ATTCHORD=(4 384 Al 386 Br) +M V30 386 S 16.25 -23.75 0.0 0 CLASS=AA SEQID=386 ATTCHORD=(4 385 Al 387 Br) +M V30 387 N 17.75 -23.75 0.0 0 CLASS=AA SEQID=387 ATTCHORD=(4 386 Al 388 Br) +M V30 388 G 19.25 -23.75 0.0 0 CLASS=AA SEQID=388 ATTCHORD=(4 387 Al 389 Br) +M V30 389 Q 20.75 -23.75 0.0 0 CLASS=AA SEQID=389 ATTCHORD=(4 388 Al 390 Br) +M V30 390 P 22.25 -23.75 0.0 0 CLASS=AA SEQID=390 ATTCHORD=(4 389 Al 391 Br) +M V30 391 E 23.75 -23.75 0.0 0 CLASS=AA SEQID=391 ATTCHORD=(4 390 Al 392 Br) +M V30 392 N 25.25 -23.75 0.0 0 CLASS=AA SEQID=392 ATTCHORD=(4 391 Al 393 Br) +M V30 393 N 26.75 -23.75 0.0 0 CLASS=AA SEQID=393 ATTCHORD=(4 392 Al 394 Br) +M V30 394 Y 28.25 -23.75 0.0 0 CLASS=AA SEQID=394 ATTCHORD=(4 393 Al 395 Br) +M V30 395 K 29.75 -23.75 0.0 0 CLASS=AA SEQID=395 ATTCHORD=(4 394 Al 396 Br) +M V30 396 T 31.25 -23.75 0.0 0 CLASS=AA SEQID=396 ATTCHORD=(4 395 Al 397 Br) +M V30 397 T 32.75 -23.75 0.0 0 CLASS=AA SEQID=397 ATTCHORD=(2 396 Al) +M V30 398 D 1.25 -25.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 399 Br) +M V30 399 I 2.75 -25.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 398 Al 400 Br) +M V30 400 Q 4.25 -25.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 399 Al 401 Br) +M V30 401 M 5.75 -25.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 400 Al 402 Br) +M V30 402 T 7.25 -25.25 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 401 Al 403 Br) +M V30 403 Q 8.75 -25.25 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 402 Al 404 Br) +M V30 404 S 10.25 -25.25 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 403 Al 405 Br) +M V30 405 P 11.75 -25.25 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 404 Al 406 Br) +M V30 406 S 13.25 -25.25 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 405 Al 407 Br) +M V30 407 S 14.75 -25.25 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 406 Al 408 Br) +M V30 408 L 16.25 -25.25 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 407 Al 409 Br) +M V30 409 S 17.75 -25.25 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 408 Al 410 Br) +M V30 410 A 19.25 -25.25 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 409 Al 411 Br) +M V30 411 S 20.75 -25.25 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 410 Al 412 Br) +M V30 412 V 22.25 -25.25 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 411 Al 413 Br) +M V30 413 G 23.75 -25.25 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 412 Al 414 Br) +M V30 414 D 25.25 -25.25 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 413 Al 415 Br) +M V30 415 R 26.75 -25.25 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 414 Al 416 Br) +M V30 416 V 28.25 -25.25 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 415 Al 417 Br) +M V30 417 T 29.75 -25.25 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 416 Al 418 Br) +M V30 418 I 31.25 -25.25 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 417 Al 419 Br) +M V30 419 T 32.75 -25.25 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 418 Al 420 Br) +M V30 420 C 34.25 -25.25 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(6 419 Al 421 Br 4- +M V30 85 Cx) +M V30 421 R 35.75 -25.25 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 420 Al 422 Br) +M V30 422 A 37.25 -25.25 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 421 Al 423 Br) +M V30 423 S 1.25 -26.75 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 422 Al 424 Br) +M V30 424 Q 2.75 -26.75 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 423 Al 425 Br) +M V30 425 D 4.25 -26.75 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 424 Al 426 Br) +M V30 426 V 5.75 -26.75 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 425 Al 427 Br) +M V30 427 N 7.25 -26.75 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 426 Al 428 Br) +M V30 428 T 8.75 -26.75 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 427 Al 429 Br) +M V30 429 A 10.25 -26.75 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 428 Al 430 Br) +M V30 430 V 11.75 -26.75 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 429 Al 431 Br) +M V30 431 A 13.25 -26.75 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 430 Al 432 Br) +M V30 432 W 14.75 -26.75 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 431 Al 433 Br) +M V30 433 Y 16.25 -26.75 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 432 Al 434 Br) +M V30 434 Q 17.75 -26.75 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 433 Al 435 Br) +M V30 435 Q 19.25 -26.75 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 434 Al 436 Br) +M V30 436 K 20.75 -26.75 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 435 Al 437 Br) +M V30 437 P 22.25 -26.75 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 436 Al 438 Br) +M V30 438 G 23.75 -26.75 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 437 Al 439 Br) +M V30 439 K 25.25 -26.75 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 438 Al 440 Br) +M V30 440 A 26.75 -26.75 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 439 Al 441 Br) +M V30 441 P 28.25 -26.75 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 440 Al 442 Br) +M V30 442 K 29.75 -26.75 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 441 Al 443 Br) +M V30 443 L 31.25 -26.75 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 442 Al 444 Br) +M V30 444 L 32.75 -26.75 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 443 Al 445 Br) +M V30 445 I 34.25 -26.75 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 444 Al 446 Br) +M V30 446 Y 35.75 -26.75 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 445 Al 447 Br) +M V30 447 S 37.25 -26.75 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 446 Al 448 Br) +M V30 448 A 1.25 -28.25 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 447 Al 449 Br) +M V30 449 S 2.75 -28.25 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 448 Al 450 Br) +M V30 450 F 4.25 -28.25 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 449 Al 451 Br) +M V30 451 L 5.75 -28.25 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 450 Al 452 Br) +M V30 452 Y 7.25 -28.25 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 451 Al 453 Br) +M V30 453 S 8.75 -28.25 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 452 Al 454 Br) +M V30 454 G 10.25 -28.25 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 453 Al 455 Br) +M V30 455 V 11.75 -28.25 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 454 Al 456 Br) +M V30 456 P 13.25 -28.25 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 455 Al 457 Br) +M V30 457 S 14.75 -28.25 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 456 Al 458 Br) +M V30 458 R 16.25 -28.25 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 457 Al 459 Br) +M V30 459 F 17.75 -28.25 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 458 Al 460 Br) +M V30 460 S 19.25 -28.25 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(4 459 Al 461 Br) +M V30 461 G 20.75 -28.25 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 460 Al 462 Br) +M V30 462 S 22.25 -28.25 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 461 Al 463 Br) +M V30 463 R 23.75 -28.25 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 462 Al 464 Br) +M V30 464 S 25.25 -28.25 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 463 Al 465 Br) +M V30 465 G 26.75 -28.25 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 464 Al 466 Br) +M V30 466 T 28.25 -28.25 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 465 Al 467 Br) +M V30 467 D 29.75 -28.25 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 466 Al 468 Br) +M V30 468 F 31.25 -28.25 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 467 Al 469 Br) +M V30 469 T 32.75 -28.25 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 468 Al 470 Br) +M V30 470 L 34.25 -28.25 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 469 Al 471 Br) +M V30 471 T 35.75 -28.25 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 470 Al 472 Br) +M V30 472 I 37.25 -28.25 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 471 Al 473 Br) +M V30 473 S 1.25 -29.75 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 472 Al 474 Br) +M V30 474 S 2.75 -29.75 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 473 Al 475 Br) +M V30 475 L 4.25 -29.75 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 474 Al 476 Br) +M V30 476 Q 5.75 -29.75 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 475 Al 477 Br) +M V30 477 P 7.25 -29.75 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 476 Al 478 Br) +M V30 478 E 8.75 -29.75 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 477 Al 479 Br) +M V30 479 D 10.25 -29.75 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 478 Al 480 Br) +M V30 480 F 11.75 -29.75 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(4 479 Al 481 Br) +M V30 481 A 13.25 -29.75 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 480 Al 482 Br) +M V30 482 T 14.75 -29.75 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 481 Al 483 Br) +M V30 483 Y 16.25 -29.75 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 482 Al 484 Br) +M V30 484 Y 17.75 -29.75 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 483 Al 485 Br) +M V30 485 C 19.25 -29.75 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(6 484 Al 486 Br 4- +M V30 20 Cx) +M V30 486 Q 20.75 -29.75 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(4 485 Al 487 Br) +M V30 487 Q 22.25 -29.75 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 486 Al 488 Br) +M V30 488 H 23.75 -29.75 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 487 Al 489 Br) +M V30 489 Y 25.25 -29.75 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(4 488 Al 490 Br) +M V30 490 T 26.75 -29.75 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 489 Al 491 Br) +M V30 491 T 28.25 -29.75 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 490 Al 492 Br) +M V30 492 P 29.75 -29.75 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 491 Al 493 Br) +M V30 493 P 31.25 -29.75 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(4 492 Al 494 Br) +M V30 494 T 32.75 -29.75 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 493 Al 495 Br) +M V30 495 F 34.25 -29.75 0.0 0 CLASS=AA SEQID=98 ATTCHORD=(4 494 Al 496 Br) +M V30 496 G 35.75 -29.75 0.0 0 CLASS=AA SEQID=99 ATTCHORD=(4 495 Al 497 Br) +M V30 497 Q 37.25 -29.75 0.0 0 CLASS=AA SEQID=100 ATTCHORD=(4 496 Al 498 Br) +M V30 498 G 1.25 -31.25 0.0 0 CLASS=AA SEQID=101 ATTCHORD=(4 497 Al 499 Br) +M V30 499 T 2.75 -31.25 0.0 0 CLASS=AA SEQID=102 ATTCHORD=(4 498 Al 500 Br) +M V30 500 K 4.25 -31.25 0.0 0 CLASS=AA SEQID=103 ATTCHORD=(4 499 Al 501 Br) +M V30 501 V 5.75 -31.25 0.0 0 CLASS=AA SEQID=104 ATTCHORD=(4 500 Al 502 Br) +M V30 502 E 7.25 -31.25 0.0 0 CLASS=AA SEQID=105 ATTCHORD=(4 501 Al 503 Br) +M V30 503 I 8.75 -31.25 0.0 0 CLASS=AA SEQID=106 ATTCHORD=(4 502 Al 504 Br) +M V30 504 K 10.25 -31.25 0.0 0 CLASS=AA SEQID=107 ATTCHORD=(4 503 Al 505 Br) +M V30 505 R 11.75 -31.25 0.0 0 CLASS=AA SEQID=108 ATTCHORD=(4 504 Al 506 Br) +M V30 506 T 13.25 -31.25 0.0 0 CLASS=AA SEQID=109 ATTCHORD=(4 505 Al 507 Br) +M V30 507 V 14.75 -31.25 0.0 0 CLASS=AA SEQID=110 ATTCHORD=(4 506 Al 508 Br) +M V30 508 A 16.25 -31.25 0.0 0 CLASS=AA SEQID=111 ATTCHORD=(4 507 Al 509 Br) +M V30 509 A 17.75 -31.25 0.0 0 CLASS=AA SEQID=112 ATTCHORD=(4 508 Al 510 Br) +M V30 510 P 19.25 -31.25 0.0 0 CLASS=AA SEQID=113 ATTCHORD=(4 509 Al 511 Br) +M V30 511 S 20.75 -31.25 0.0 0 CLASS=AA SEQID=114 ATTCHORD=(4 510 Al 512 Br) +M V30 512 V 22.25 -31.25 0.0 0 CLASS=AA SEQID=115 ATTCHORD=(4 511 Al 513 Br) +M V30 513 F 23.75 -31.25 0.0 0 CLASS=AA SEQID=116 ATTCHORD=(4 512 Al 514 Br) +M V30 514 I 25.25 -31.25 0.0 0 CLASS=AA SEQID=117 ATTCHORD=(4 513 Al 515 Br) +M V30 515 F 26.75 -31.25 0.0 0 CLASS=AA SEQID=118 ATTCHORD=(4 514 Al 516 Br) +M V30 516 P 28.25 -31.25 0.0 0 CLASS=AA SEQID=119 ATTCHORD=(4 515 Al 517 Br) +M V30 517 P 29.75 -31.25 0.0 0 CLASS=AA SEQID=120 ATTCHORD=(4 516 Al 518 Br) +M V30 518 S 31.25 -31.25 0.0 0 CLASS=AA SEQID=121 ATTCHORD=(4 517 Al 519 Br) +M V30 519 D 32.75 -31.25 0.0 0 CLASS=AA SEQID=122 ATTCHORD=(4 518 Al 520 Br) +M V30 520 E 34.25 -31.25 0.0 0 CLASS=AA SEQID=123 ATTCHORD=(4 519 Al 521 Br) +M V30 521 Q 35.75 -31.25 0.0 0 CLASS=AA SEQID=124 ATTCHORD=(4 520 Al 522 Br) +M V30 522 L 37.25 -31.25 0.0 0 CLASS=AA SEQID=125 ATTCHORD=(4 521 Al 523 Br) +M V30 523 K 1.25 -32.75 0.0 0 CLASS=AA SEQID=126 ATTCHORD=(4 522 Al 524 Br) +M V30 524 S 2.75 -32.75 0.0 0 CLASS=AA SEQID=127 ATTCHORD=(4 523 Al 525 Br) +M V30 525 G 4.25 -32.75 0.0 0 CLASS=AA SEQID=128 ATTCHORD=(4 524 Al 526 Br) +M V30 526 T 5.75 -32.75 0.0 0 CLASS=AA SEQID=129 ATTCHORD=(4 525 Al 527 Br) +M V30 527 A 7.25 -32.75 0.0 0 CLASS=AA SEQID=130 ATTCHORD=(4 526 Al 528 Br) +M V30 528 S 8.75 -32.75 0.0 0 CLASS=AA SEQID=131 ATTCHORD=(4 527 Al 529 Br) +M V30 529 V 10.25 -32.75 0.0 0 CLASS=AA SEQID=132 ATTCHORD=(4 528 Al 530 Br) +M V30 530 V 11.75 -32.75 0.0 0 CLASS=AA SEQID=133 ATTCHORD=(4 529 Al 531 Br) +M V30 531 C 13.25 -32.75 0.0 0 CLASS=AA SEQID=134 ATTCHORD=(6 530 Al 532 Br - +M V30 591 Cx) +M V30 532 L 14.75 -32.75 0.0 0 CLASS=AA SEQID=135 ATTCHORD=(4 531 Al 533 Br) +M V30 533 L 16.25 -32.75 0.0 0 CLASS=AA SEQID=136 ATTCHORD=(4 532 Al 534 Br) +M V30 534 N 17.75 -32.75 0.0 0 CLASS=AA SEQID=137 ATTCHORD=(4 533 Al 535 Br) +M V30 535 N 19.25 -32.75 0.0 0 CLASS=AA SEQID=138 ATTCHORD=(4 534 Al 536 Br) +M V30 536 F 20.75 -32.75 0.0 0 CLASS=AA SEQID=139 ATTCHORD=(4 535 Al 537 Br) +M V30 537 Y 22.25 -32.75 0.0 0 CLASS=AA SEQID=140 ATTCHORD=(4 536 Al 538 Br) +M V30 538 P 23.75 -32.75 0.0 0 CLASS=AA SEQID=141 ATTCHORD=(4 537 Al 539 Br) +M V30 539 R 25.25 -32.75 0.0 0 CLASS=AA SEQID=142 ATTCHORD=(4 538 Al 540 Br) +M V30 540 E 26.75 -32.75 0.0 0 CLASS=AA SEQID=143 ATTCHORD=(4 539 Al 541 Br) +M V30 541 A 28.25 -32.75 0.0 0 CLASS=AA SEQID=144 ATTCHORD=(4 540 Al 542 Br) +M V30 542 K 29.75 -32.75 0.0 0 CLASS=AA SEQID=145 ATTCHORD=(4 541 Al 543 Br) +M V30 543 V 31.25 -32.75 0.0 0 CLASS=AA SEQID=146 ATTCHORD=(4 542 Al 544 Br) +M V30 544 Q 32.75 -32.75 0.0 0 CLASS=AA SEQID=147 ATTCHORD=(4 543 Al 545 Br) +M V30 545 W 34.25 -32.75 0.0 0 CLASS=AA SEQID=148 ATTCHORD=(4 544 Al 546 Br) +M V30 546 K 35.75 -32.75 0.0 0 CLASS=AA SEQID=149 ATTCHORD=(4 545 Al 547 Br) +M V30 547 V 37.25 -32.75 0.0 0 CLASS=AA SEQID=150 ATTCHORD=(4 546 Al 548 Br) +M V30 548 D 1.25 -34.25 0.0 0 CLASS=AA SEQID=151 ATTCHORD=(4 547 Al 549 Br) +M V30 549 N 2.75 -34.25 0.0 0 CLASS=AA SEQID=152 ATTCHORD=(4 548 Al 550 Br) +M V30 550 A 4.25 -34.25 0.0 0 CLASS=AA SEQID=153 ATTCHORD=(4 549 Al 551 Br) +M V30 551 L 5.75 -34.25 0.0 0 CLASS=AA SEQID=154 ATTCHORD=(4 550 Al 552 Br) +M V30 552 Q 7.25 -34.25 0.0 0 CLASS=AA SEQID=155 ATTCHORD=(4 551 Al 553 Br) +M V30 553 S 8.75 -34.25 0.0 0 CLASS=AA SEQID=156 ATTCHORD=(4 552 Al 554 Br) +M V30 554 G 10.25 -34.25 0.0 0 CLASS=AA SEQID=157 ATTCHORD=(4 553 Al 555 Br) +M V30 555 N 11.75 -34.25 0.0 0 CLASS=AA SEQID=158 ATTCHORD=(4 554 Al 556 Br) +M V30 556 S 13.25 -34.25 0.0 0 CLASS=AA SEQID=159 ATTCHORD=(4 555 Al 557 Br) +M V30 557 Q 14.75 -34.25 0.0 0 CLASS=AA SEQID=160 ATTCHORD=(4 556 Al 558 Br) +M V30 558 E 16.25 -34.25 0.0 0 CLASS=AA SEQID=161 ATTCHORD=(4 557 Al 559 Br) +M V30 559 S 17.75 -34.25 0.0 0 CLASS=AA SEQID=162 ATTCHORD=(4 558 Al 560 Br) +M V30 560 V 19.25 -34.25 0.0 0 CLASS=AA SEQID=163 ATTCHORD=(4 559 Al 561 Br) +M V30 561 T 20.75 -34.25 0.0 0 CLASS=AA SEQID=164 ATTCHORD=(4 560 Al 562 Br) +M V30 562 E 22.25 -34.25 0.0 0 CLASS=AA SEQID=165 ATTCHORD=(4 561 Al 563 Br) +M V30 563 Q 23.75 -34.25 0.0 0 CLASS=AA SEQID=166 ATTCHORD=(4 562 Al 564 Br) +M V30 564 D 25.25 -34.25 0.0 0 CLASS=AA SEQID=167 ATTCHORD=(4 563 Al 565 Br) +M V30 565 S 26.75 -34.25 0.0 0 CLASS=AA SEQID=168 ATTCHORD=(4 564 Al 566 Br) +M V30 566 K 28.25 -34.25 0.0 0 CLASS=AA SEQID=169 ATTCHORD=(4 565 Al 567 Br) +M V30 567 D 29.75 -34.25 0.0 0 CLASS=AA SEQID=170 ATTCHORD=(4 566 Al 568 Br) +M V30 568 S 31.25 -34.25 0.0 0 CLASS=AA SEQID=171 ATTCHORD=(4 567 Al 569 Br) +M V30 569 T 32.75 -34.25 0.0 0 CLASS=AA SEQID=172 ATTCHORD=(4 568 Al 570 Br) +M V30 570 Y 34.25 -34.25 0.0 0 CLASS=AA SEQID=173 ATTCHORD=(4 569 Al 571 Br) +M V30 571 S 35.75 -34.25 0.0 0 CLASS=AA SEQID=174 ATTCHORD=(4 570 Al 572 Br) +M V30 572 L 37.25 -34.25 0.0 0 CLASS=AA SEQID=175 ATTCHORD=(4 571 Al 573 Br) +M V30 573 S 1.25 -35.75 0.0 0 CLASS=AA SEQID=176 ATTCHORD=(4 572 Al 574 Br) +M V30 574 S 2.75 -35.75 0.0 0 CLASS=AA SEQID=177 ATTCHORD=(4 573 Al 575 Br) +M V30 575 T 4.25 -35.75 0.0 0 CLASS=AA SEQID=178 ATTCHORD=(4 574 Al 576 Br) +M V30 576 L 5.75 -35.75 0.0 0 CLASS=AA SEQID=179 ATTCHORD=(4 575 Al 577 Br) +M V30 577 T 7.25 -35.75 0.0 0 CLASS=AA SEQID=180 ATTCHORD=(4 576 Al 578 Br) +M V30 578 L 8.75 -35.75 0.0 0 CLASS=AA SEQID=181 ATTCHORD=(4 577 Al 579 Br) +M V30 579 S 10.25 -35.75 0.0 0 CLASS=AA SEQID=182 ATTCHORD=(4 578 Al 580 Br) +M V30 580 K 11.75 -35.75 0.0 0 CLASS=AA SEQID=183 ATTCHORD=(4 579 Al 581 Br) +M V30 581 A 13.25 -35.75 0.0 0 CLASS=AA SEQID=184 ATTCHORD=(4 580 Al 582 Br) +M V30 582 D 14.75 -35.75 0.0 0 CLASS=AA SEQID=185 ATTCHORD=(4 581 Al 583 Br) +M V30 583 Y 16.25 -35.75 0.0 0 CLASS=AA SEQID=186 ATTCHORD=(4 582 Al 584 Br) +M V30 584 E 17.75 -35.75 0.0 0 CLASS=AA SEQID=187 ATTCHORD=(4 583 Al 585 Br) +M V30 585 K 19.25 -35.75 0.0 0 CLASS=AA SEQID=188 ATTCHORD=(4 584 Al 586 Br) +M V30 586 H 20.75 -35.75 0.0 0 CLASS=AA SEQID=189 ATTCHORD=(4 585 Al 587 Br) +M V30 587 K 22.25 -35.75 0.0 0 CLASS=AA SEQID=190 ATTCHORD=(4 586 Al 588 Br) +M V30 588 V 23.75 -35.75 0.0 0 CLASS=AA SEQID=191 ATTCHORD=(4 587 Al 589 Br) +M V30 589 Y 25.25 -35.75 0.0 0 CLASS=AA SEQID=192 ATTCHORD=(4 588 Al 590 Br) +M V30 590 A 26.75 -35.75 0.0 0 CLASS=AA SEQID=193 ATTCHORD=(4 589 Al 591 Br) +M V30 591 C 28.25 -35.75 0.0 0 CLASS=AA SEQID=194 ATTCHORD=(6 590 Al 592 Br - +M V30 531 Cx) +M V30 592 E 29.75 -35.75 0.0 0 CLASS=AA SEQID=195 ATTCHORD=(4 591 Al 593 Br) +M V30 593 V 31.25 -35.75 0.0 0 CLASS=AA SEQID=196 ATTCHORD=(4 592 Al 594 Br) +M V30 594 T 32.75 -35.75 0.0 0 CLASS=AA SEQID=197 ATTCHORD=(4 593 Al 595 Br) +M V30 595 H 34.25 -35.75 0.0 0 CLASS=AA SEQID=198 ATTCHORD=(4 594 Al 596 Br) +M V30 596 Q 35.75 -35.75 0.0 0 CLASS=AA SEQID=199 ATTCHORD=(4 595 Al 597 Br) +M V30 597 G 37.25 -35.75 0.0 0 CLASS=AA SEQID=200 ATTCHORD=(4 596 Al 598 Br) +M V30 598 L 1.25 -37.25 0.0 0 CLASS=AA SEQID=201 ATTCHORD=(4 597 Al 599 Br) +M V30 599 S 2.75 -37.25 0.0 0 CLASS=AA SEQID=202 ATTCHORD=(4 598 Al 600 Br) +M V30 600 S 4.25 -37.25 0.0 0 CLASS=AA SEQID=203 ATTCHORD=(4 599 Al 601 Br) +M V30 601 P 5.75 -37.25 0.0 0 CLASS=AA SEQID=204 ATTCHORD=(4 600 Al 602 Br) +M V30 602 V 7.25 -37.25 0.0 0 CLASS=AA SEQID=205 ATTCHORD=(4 601 Al 603 Br) +M V30 603 T 8.75 -37.25 0.0 0 CLASS=AA SEQID=206 ATTCHORD=(4 602 Al 604 Br) +M V30 604 K 10.25 -37.25 0.0 0 CLASS=AA SEQID=207 ATTCHORD=(4 603 Al 605 Br) +M V30 605 S 11.75 -37.25 0.0 0 CLASS=AA SEQID=208 ATTCHORD=(4 604 Al 606 Br) +M V30 606 F 13.25 -37.25 0.0 0 CLASS=AA SEQID=209 ATTCHORD=(4 605 Al 607 Br) +M V30 607 N 14.75 -37.25 0.0 0 CLASS=AA SEQID=210 ATTCHORD=(4 606 Al 608 Br) +M V30 608 R 16.25 -37.25 0.0 0 CLASS=AA SEQID=211 ATTCHORD=(4 607 Al 609 Br) +M V30 609 G 17.75 -37.25 0.0 0 CLASS=AA SEQID=212 ATTCHORD=(4 608 Al 610 Br) +M V30 610 E 19.25 -37.25 0.0 0 CLASS=AA SEQID=213 ATTCHORD=(4 609 Al 611 Br) +M V30 611 C 20.75 -37.25 0.0 0 CLASS=AA SEQID=214 ATTCHORD=(4 610 Al 223 Cx) +M V30 612 W 31.25 -38.75 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 613 Br 910 Al) +M V30 613 N 32.75 -38.75 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 612 Al 614 Br) +M V30 614 S 34.25 -38.75 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(4 613 Al 615 Br) +M V30 615 G 35.75 -38.75 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 614 Al 616 Br) +M V30 616 A 37.25 -38.75 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 615 Al 617 Br) +M V30 617 L 1.25 -40.25 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 616 Al 618 Br) +M V30 618 T 2.75 -40.25 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 617 Al 619 Br) +M V30 619 S 4.25 -40.25 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 618 Al 620 Br) +M V30 620 G 5.75 -40.25 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 619 Al 621 Br) +M V30 621 V 7.25 -40.25 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 620 Al 622 Br) +M V30 622 H 8.75 -40.25 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 621 Al 623 Br) +M V30 623 T 10.25 -40.25 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 622 Al 624 Br) +M V30 624 F 11.75 -40.25 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 623 Al 625 Br) +M V30 625 P 13.25 -40.25 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 624 Al 626 Br) +M V30 626 A 14.75 -40.25 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 625 Al 627 Br) +M V30 627 V 16.25 -40.25 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 626 Al 628 Br) +M V30 628 L 17.75 -40.25 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 627 Al 629 Br) +M V30 629 Q 19.25 -40.25 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 628 Al 630 Br) +M V30 630 S 20.75 -40.25 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 629 Al 631 Br) +M V30 631 S 22.25 -40.25 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 630 Al 632 Br) +M V30 632 G 23.75 -40.25 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 631 Al 633 Br) +M V30 633 L 25.25 -40.25 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 632 Al 634 Br) +M V30 634 Y 26.75 -40.25 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 633 Al 635 Br) +M V30 635 S 28.25 -40.25 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 634 Al 636 Br) +M V30 636 L 29.75 -40.25 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 635 Al 637 Br) +M V30 637 S 31.25 -40.25 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 636 Al 638 Br) +M V30 638 S 32.75 -40.25 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 637 Al 639 Br) +M V30 639 V 34.25 -40.25 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 638 Al 640 Br) +M V30 640 V 35.75 -40.25 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 639 Al 641 Br) +M V30 641 T 37.25 -40.25 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 640 Al 642 Br) +M V30 642 V 1.25 -41.75 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 641 Al 643 Br) +M V30 643 P 2.75 -41.75 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 642 Al 644 Br) +M V30 644 S 4.25 -41.75 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 643 Al 645 Br) +M V30 645 S 5.75 -41.75 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 644 Al 646 Br) +M V30 646 S 7.25 -41.75 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 645 Al 647 Br) +M V30 647 L 8.75 -41.75 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 646 Al 648 Br) +M V30 648 G 10.25 -41.75 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 647 Al 649 Br) +M V30 649 T 11.75 -41.75 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 648 Al 650 Br) +M V30 650 Q 13.25 -41.75 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 649 Al 651 Br) +M V30 651 T 14.75 -41.75 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 650 Al 652 Br) +M V30 652 Y 16.25 -41.75 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 651 Al 653 Br) +M V30 653 I 17.75 -41.75 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 652 Al 654 Br) +M V30 654 C 19.25 -41.75 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(6 653 Al 655 Br 9- +M V30 17 Cx) +M V30 655 N 20.75 -41.75 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 654 Al 656 Br) +M V30 656 V 22.25 -41.75 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 655 Al 657 Br) +M V30 657 N 23.75 -41.75 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 656 Al 658 Br) +M V30 658 H 25.25 -41.75 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 657 Al 659 Br) +M V30 659 K 26.75 -41.75 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 658 Al 660 Br) +M V30 660 P 28.25 -41.75 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 659 Al 661 Br) +M V30 661 S 29.75 -41.75 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 660 Al 662 Br) +M V30 662 N 31.25 -41.75 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 661 Al 663 Br) +M V30 663 T 32.75 -41.75 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 662 Al 664 Br) +M V30 664 K 34.25 -41.75 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 663 Al 665 Br) +M V30 665 V 35.75 -41.75 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 664 Al 666 Br) +M V30 666 D 37.25 -41.75 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 665 Al 667 Br) +M V30 667 K 1.25 -43.25 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 666 Al 668 Br) +M V30 668 K 2.75 -43.25 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 667 Al 669 Br) +M V30 669 V 4.25 -43.25 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 668 Al 670 Br) +M V30 670 E 5.75 -43.25 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 669 Al 671 Br) +M V30 671 P 7.25 -43.25 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 670 Al 672 Br) +M V30 672 K 8.75 -43.25 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 671 Al 673 Br) +M V30 673 S 10.25 -43.25 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 672 Al 674 Br) +M V30 674 C 11.75 -43.25 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(6 673 Al 675 Br 9- +M V30 00 Cx) +M V30 675 D 13.25 -43.25 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 674 Al 676 Br) +M V30 676 K 14.75 -43.25 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 675 Al 677 Br) +M V30 677 T 16.25 -43.25 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 676 Al 678 Br) +M V30 678 H 17.75 -43.25 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 677 Al 679 Br) +M V30 679 T 19.25 -43.25 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(4 678 Al 680 Br) +M V30 680 C 20.75 -43.25 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(6 679 Al 681 Br 2- +M V30 29 Cx) +M V30 681 P 22.25 -43.25 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 680 Al 682 Br) +M V30 682 P 23.75 -43.25 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 681 Al 683 Br) +M V30 683 C 25.25 -43.25 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(6 682 Al 684 Br 2- +M V30 32 Cx) +M V30 684 P 26.75 -43.25 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 683 Al 685 Br) +M V30 685 A 28.25 -43.25 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 684 Al 686 Br) +M V30 686 P 29.75 -43.25 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 685 Al 921 Br) +M V30 687 D 1.25 -44.75 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 688 Br) +M V30 688 I 2.75 -44.75 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 687 Al 689 Br) +M V30 689 Q 4.25 -44.75 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 688 Al 690 Br) +M V30 690 M 5.75 -44.75 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 689 Al 691 Br) +M V30 691 T 7.25 -44.75 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 690 Al 692 Br) +M V30 692 Q 8.75 -44.75 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 691 Al 693 Br) +M V30 693 S 10.25 -44.75 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 692 Al 694 Br) +M V30 694 P 11.75 -44.75 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 693 Al 695 Br) +M V30 695 S 13.25 -44.75 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 694 Al 696 Br) +M V30 696 S 14.75 -44.75 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 695 Al 697 Br) +M V30 697 L 16.25 -44.75 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 696 Al 698 Br) +M V30 698 S 17.75 -44.75 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 697 Al 699 Br) +M V30 699 A 19.25 -44.75 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 698 Al 700 Br) +M V30 700 S 20.75 -44.75 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 699 Al 701 Br) +M V30 701 V 22.25 -44.75 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 700 Al 702 Br) +M V30 702 G 23.75 -44.75 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 701 Al 703 Br) +M V30 703 D 25.25 -44.75 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 702 Al 704 Br) +M V30 704 R 26.75 -44.75 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 703 Al 705 Br) +M V30 705 V 28.25 -44.75 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 704 Al 706 Br) +M V30 706 T 29.75 -44.75 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 705 Al 707 Br) +M V30 707 I 31.25 -44.75 0.0 0 CLASS=AA SEQID=21 ATTCHORD=(4 706 Al 708 Br) +M V30 708 T 32.75 -44.75 0.0 0 CLASS=AA SEQID=22 ATTCHORD=(4 707 Al 709 Br) +M V30 709 C 34.25 -44.75 0.0 0 CLASS=AA SEQID=23 ATTCHORD=(6 708 Al 710 Br 7- +M V30 74 Cx) +M V30 710 R 35.75 -44.75 0.0 0 CLASS=AA SEQID=24 ATTCHORD=(4 709 Al 711 Br) +M V30 711 A 37.25 -44.75 0.0 0 CLASS=AA SEQID=25 ATTCHORD=(4 710 Al 712 Br) +M V30 712 S 1.25 -46.25 0.0 0 CLASS=AA SEQID=26 ATTCHORD=(4 711 Al 713 Br) +M V30 713 Q 2.75 -46.25 0.0 0 CLASS=AA SEQID=27 ATTCHORD=(4 712 Al 714 Br) +M V30 714 D 4.25 -46.25 0.0 0 CLASS=AA SEQID=28 ATTCHORD=(4 713 Al 715 Br) +M V30 715 V 5.75 -46.25 0.0 0 CLASS=AA SEQID=29 ATTCHORD=(4 714 Al 716 Br) +M V30 716 N 7.25 -46.25 0.0 0 CLASS=AA SEQID=30 ATTCHORD=(4 715 Al 717 Br) +M V30 717 T 8.75 -46.25 0.0 0 CLASS=AA SEQID=31 ATTCHORD=(4 716 Al 718 Br) +M V30 718 A 10.25 -46.25 0.0 0 CLASS=AA SEQID=32 ATTCHORD=(4 717 Al 719 Br) +M V30 719 V 11.75 -46.25 0.0 0 CLASS=AA SEQID=33 ATTCHORD=(4 718 Al 720 Br) +M V30 720 A 13.25 -46.25 0.0 0 CLASS=AA SEQID=34 ATTCHORD=(4 719 Al 721 Br) +M V30 721 W 14.75 -46.25 0.0 0 CLASS=AA SEQID=35 ATTCHORD=(4 720 Al 722 Br) +M V30 722 Y 16.25 -46.25 0.0 0 CLASS=AA SEQID=36 ATTCHORD=(4 721 Al 723 Br) +M V30 723 Q 17.75 -46.25 0.0 0 CLASS=AA SEQID=37 ATTCHORD=(4 722 Al 724 Br) +M V30 724 Q 19.25 -46.25 0.0 0 CLASS=AA SEQID=38 ATTCHORD=(4 723 Al 725 Br) +M V30 725 K 20.75 -46.25 0.0 0 CLASS=AA SEQID=39 ATTCHORD=(4 724 Al 726 Br) +M V30 726 P 22.25 -46.25 0.0 0 CLASS=AA SEQID=40 ATTCHORD=(4 725 Al 727 Br) +M V30 727 G 23.75 -46.25 0.0 0 CLASS=AA SEQID=41 ATTCHORD=(4 726 Al 728 Br) +M V30 728 K 25.25 -46.25 0.0 0 CLASS=AA SEQID=42 ATTCHORD=(4 727 Al 729 Br) +M V30 729 A 26.75 -46.25 0.0 0 CLASS=AA SEQID=43 ATTCHORD=(4 728 Al 730 Br) +M V30 730 P 28.25 -46.25 0.0 0 CLASS=AA SEQID=44 ATTCHORD=(4 729 Al 731 Br) +M V30 731 K 29.75 -46.25 0.0 0 CLASS=AA SEQID=45 ATTCHORD=(4 730 Al 732 Br) +M V30 732 L 31.25 -46.25 0.0 0 CLASS=AA SEQID=46 ATTCHORD=(4 731 Al 733 Br) +M V30 733 L 32.75 -46.25 0.0 0 CLASS=AA SEQID=47 ATTCHORD=(4 732 Al 734 Br) +M V30 734 I 34.25 -46.25 0.0 0 CLASS=AA SEQID=48 ATTCHORD=(4 733 Al 735 Br) +M V30 735 Y 35.75 -46.25 0.0 0 CLASS=AA SEQID=49 ATTCHORD=(4 734 Al 736 Br) +M V30 736 S 37.25 -46.25 0.0 0 CLASS=AA SEQID=50 ATTCHORD=(4 735 Al 737 Br) +M V30 737 A 1.25 -47.75 0.0 0 CLASS=AA SEQID=51 ATTCHORD=(4 736 Al 738 Br) +M V30 738 S 2.75 -47.75 0.0 0 CLASS=AA SEQID=52 ATTCHORD=(4 737 Al 739 Br) +M V30 739 F 4.25 -47.75 0.0 0 CLASS=AA SEQID=53 ATTCHORD=(4 738 Al 740 Br) +M V30 740 L 5.75 -47.75 0.0 0 CLASS=AA SEQID=54 ATTCHORD=(4 739 Al 741 Br) +M V30 741 Y 7.25 -47.75 0.0 0 CLASS=AA SEQID=55 ATTCHORD=(4 740 Al 742 Br) +M V30 742 S 8.75 -47.75 0.0 0 CLASS=AA SEQID=56 ATTCHORD=(4 741 Al 743 Br) +M V30 743 G 10.25 -47.75 0.0 0 CLASS=AA SEQID=57 ATTCHORD=(4 742 Al 744 Br) +M V30 744 V 11.75 -47.75 0.0 0 CLASS=AA SEQID=58 ATTCHORD=(4 743 Al 745 Br) +M V30 745 P 13.25 -47.75 0.0 0 CLASS=AA SEQID=59 ATTCHORD=(4 744 Al 746 Br) +M V30 746 S 14.75 -47.75 0.0 0 CLASS=AA SEQID=60 ATTCHORD=(4 745 Al 747 Br) +M V30 747 R 16.25 -47.75 0.0 0 CLASS=AA SEQID=61 ATTCHORD=(4 746 Al 748 Br) +M V30 748 F 17.75 -47.75 0.0 0 CLASS=AA SEQID=62 ATTCHORD=(4 747 Al 749 Br) +M V30 749 S 19.25 -47.75 0.0 0 CLASS=AA SEQID=63 ATTCHORD=(4 748 Al 750 Br) +M V30 750 G 20.75 -47.75 0.0 0 CLASS=AA SEQID=64 ATTCHORD=(4 749 Al 751 Br) +M V30 751 S 22.25 -47.75 0.0 0 CLASS=AA SEQID=65 ATTCHORD=(4 750 Al 752 Br) +M V30 752 R 23.75 -47.75 0.0 0 CLASS=AA SEQID=66 ATTCHORD=(4 751 Al 753 Br) +M V30 753 S 25.25 -47.75 0.0 0 CLASS=AA SEQID=67 ATTCHORD=(4 752 Al 754 Br) +M V30 754 G 26.75 -47.75 0.0 0 CLASS=AA SEQID=68 ATTCHORD=(4 753 Al 755 Br) +M V30 755 T 28.25 -47.75 0.0 0 CLASS=AA SEQID=69 ATTCHORD=(4 754 Al 756 Br) +M V30 756 D 29.75 -47.75 0.0 0 CLASS=AA SEQID=70 ATTCHORD=(4 755 Al 757 Br) +M V30 757 F 31.25 -47.75 0.0 0 CLASS=AA SEQID=71 ATTCHORD=(4 756 Al 758 Br) +M V30 758 T 32.75 -47.75 0.0 0 CLASS=AA SEQID=72 ATTCHORD=(4 757 Al 759 Br) +M V30 759 L 34.25 -47.75 0.0 0 CLASS=AA SEQID=73 ATTCHORD=(4 758 Al 760 Br) +M V30 760 T 35.75 -47.75 0.0 0 CLASS=AA SEQID=74 ATTCHORD=(4 759 Al 761 Br) +M V30 761 I 37.25 -47.75 0.0 0 CLASS=AA SEQID=75 ATTCHORD=(4 760 Al 762 Br) +M V30 762 S 1.25 -49.25 0.0 0 CLASS=AA SEQID=76 ATTCHORD=(4 761 Al 763 Br) +M V30 763 S 2.75 -49.25 0.0 0 CLASS=AA SEQID=77 ATTCHORD=(4 762 Al 764 Br) +M V30 764 L 4.25 -49.25 0.0 0 CLASS=AA SEQID=78 ATTCHORD=(4 763 Al 765 Br) +M V30 765 Q 5.75 -49.25 0.0 0 CLASS=AA SEQID=79 ATTCHORD=(4 764 Al 766 Br) +M V30 766 P 7.25 -49.25 0.0 0 CLASS=AA SEQID=80 ATTCHORD=(4 765 Al 767 Br) +M V30 767 E 8.75 -49.25 0.0 0 CLASS=AA SEQID=81 ATTCHORD=(4 766 Al 768 Br) +M V30 768 D 10.25 -49.25 0.0 0 CLASS=AA SEQID=82 ATTCHORD=(4 767 Al 769 Br) +M V30 769 F 11.75 -49.25 0.0 0 CLASS=AA SEQID=83 ATTCHORD=(4 768 Al 770 Br) +M V30 770 A 13.25 -49.25 0.0 0 CLASS=AA SEQID=84 ATTCHORD=(4 769 Al 771 Br) +M V30 771 T 14.75 -49.25 0.0 0 CLASS=AA SEQID=85 ATTCHORD=(4 770 Al 772 Br) +M V30 772 Y 16.25 -49.25 0.0 0 CLASS=AA SEQID=86 ATTCHORD=(4 771 Al 773 Br) +M V30 773 Y 17.75 -49.25 0.0 0 CLASS=AA SEQID=87 ATTCHORD=(4 772 Al 774 Br) +M V30 774 C 19.25 -49.25 0.0 0 CLASS=AA SEQID=88 ATTCHORD=(6 773 Al 775 Br 7- +M V30 09 Cx) +M V30 775 Q 20.75 -49.25 0.0 0 CLASS=AA SEQID=89 ATTCHORD=(4 774 Al 776 Br) +M V30 776 Q 22.25 -49.25 0.0 0 CLASS=AA SEQID=90 ATTCHORD=(4 775 Al 777 Br) +M V30 777 H 23.75 -49.25 0.0 0 CLASS=AA SEQID=91 ATTCHORD=(4 776 Al 778 Br) +M V30 778 Y 25.25 -49.25 0.0 0 CLASS=AA SEQID=92 ATTCHORD=(4 777 Al 779 Br) +M V30 779 T 26.75 -49.25 0.0 0 CLASS=AA SEQID=93 ATTCHORD=(4 778 Al 780 Br) +M V30 780 T 28.25 -49.25 0.0 0 CLASS=AA SEQID=94 ATTCHORD=(4 779 Al 781 Br) +M V30 781 P 29.75 -49.25 0.0 0 CLASS=AA SEQID=95 ATTCHORD=(4 780 Al 782 Br) +M V30 782 P 31.25 -49.25 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(4 781 Al 783 Br) +M V30 783 T 32.75 -49.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(4 782 Al 784 Br) +M V30 784 F 34.25 -49.25 0.0 0 CLASS=AA SEQID=98 ATTCHORD=(4 783 Al 785 Br) +M V30 785 G 35.75 -49.25 0.0 0 CLASS=AA SEQID=99 ATTCHORD=(4 784 Al 786 Br) +M V30 786 Q 37.25 -49.25 0.0 0 CLASS=AA SEQID=100 ATTCHORD=(4 785 Al 787 Br) +M V30 787 G 1.25 -50.75 0.0 0 CLASS=AA SEQID=101 ATTCHORD=(4 786 Al 788 Br) +M V30 788 T 2.75 -50.75 0.0 0 CLASS=AA SEQID=102 ATTCHORD=(4 787 Al 789 Br) +M V30 789 K 4.25 -50.75 0.0 0 CLASS=AA SEQID=103 ATTCHORD=(4 788 Al 790 Br) +M V30 790 V 5.75 -50.75 0.0 0 CLASS=AA SEQID=104 ATTCHORD=(4 789 Al 791 Br) +M V30 791 E 7.25 -50.75 0.0 0 CLASS=AA SEQID=105 ATTCHORD=(4 790 Al 792 Br) +M V30 792 I 8.75 -50.75 0.0 0 CLASS=AA SEQID=106 ATTCHORD=(4 791 Al 793 Br) +M V30 793 K 10.25 -50.75 0.0 0 CLASS=AA SEQID=107 ATTCHORD=(4 792 Al 794 Br) +M V30 794 R 11.75 -50.75 0.0 0 CLASS=AA SEQID=108 ATTCHORD=(4 793 Al 795 Br) +M V30 795 T 13.25 -50.75 0.0 0 CLASS=AA SEQID=109 ATTCHORD=(4 794 Al 796 Br) +M V30 796 V 14.75 -50.75 0.0 0 CLASS=AA SEQID=110 ATTCHORD=(4 795 Al 797 Br) +M V30 797 A 16.25 -50.75 0.0 0 CLASS=AA SEQID=111 ATTCHORD=(4 796 Al 798 Br) +M V30 798 A 17.75 -50.75 0.0 0 CLASS=AA SEQID=112 ATTCHORD=(4 797 Al 799 Br) +M V30 799 P 19.25 -50.75 0.0 0 CLASS=AA SEQID=113 ATTCHORD=(4 798 Al 800 Br) +M V30 800 S 20.75 -50.75 0.0 0 CLASS=AA SEQID=114 ATTCHORD=(4 799 Al 801 Br) +M V30 801 V 22.25 -50.75 0.0 0 CLASS=AA SEQID=115 ATTCHORD=(4 800 Al 802 Br) +M V30 802 F 23.75 -50.75 0.0 0 CLASS=AA SEQID=116 ATTCHORD=(4 801 Al 803 Br) +M V30 803 I 25.25 -50.75 0.0 0 CLASS=AA SEQID=117 ATTCHORD=(4 802 Al 804 Br) +M V30 804 F 26.75 -50.75 0.0 0 CLASS=AA SEQID=118 ATTCHORD=(4 803 Al 805 Br) +M V30 805 P 28.25 -50.75 0.0 0 CLASS=AA SEQID=119 ATTCHORD=(4 804 Al 806 Br) +M V30 806 P 29.75 -50.75 0.0 0 CLASS=AA SEQID=120 ATTCHORD=(4 805 Al 807 Br) +M V30 807 S 31.25 -50.75 0.0 0 CLASS=AA SEQID=121 ATTCHORD=(4 806 Al 808 Br) +M V30 808 D 32.75 -50.75 0.0 0 CLASS=AA SEQID=122 ATTCHORD=(4 807 Al 809 Br) +M V30 809 E 34.25 -50.75 0.0 0 CLASS=AA SEQID=123 ATTCHORD=(4 808 Al 810 Br) +M V30 810 Q 35.75 -50.75 0.0 0 CLASS=AA SEQID=124 ATTCHORD=(4 809 Al 811 Br) +M V30 811 L 37.25 -50.75 0.0 0 CLASS=AA SEQID=125 ATTCHORD=(4 810 Al 812 Br) +M V30 812 K 1.25 -52.25 0.0 0 CLASS=AA SEQID=126 ATTCHORD=(4 811 Al 813 Br) +M V30 813 S 2.75 -52.25 0.0 0 CLASS=AA SEQID=127 ATTCHORD=(4 812 Al 814 Br) +M V30 814 G 4.25 -52.25 0.0 0 CLASS=AA SEQID=128 ATTCHORD=(4 813 Al 815 Br) +M V30 815 T 5.75 -52.25 0.0 0 CLASS=AA SEQID=129 ATTCHORD=(4 814 Al 816 Br) +M V30 816 A 7.25 -52.25 0.0 0 CLASS=AA SEQID=130 ATTCHORD=(4 815 Al 817 Br) +M V30 817 S 8.75 -52.25 0.0 0 CLASS=AA SEQID=131 ATTCHORD=(4 816 Al 818 Br) +M V30 818 V 10.25 -52.25 0.0 0 CLASS=AA SEQID=132 ATTCHORD=(4 817 Al 819 Br) +M V30 819 V 11.75 -52.25 0.0 0 CLASS=AA SEQID=133 ATTCHORD=(4 818 Al 820 Br) +M V30 820 C 13.25 -52.25 0.0 0 CLASS=AA SEQID=134 ATTCHORD=(6 819 Al 821 Br - +M V30 880 Cx) +M V30 821 L 14.75 -52.25 0.0 0 CLASS=AA SEQID=135 ATTCHORD=(4 820 Al 822 Br) +M V30 822 L 16.25 -52.25 0.0 0 CLASS=AA SEQID=136 ATTCHORD=(4 821 Al 823 Br) +M V30 823 N 17.75 -52.25 0.0 0 CLASS=AA SEQID=137 ATTCHORD=(4 822 Al 824 Br) +M V30 824 N 19.25 -52.25 0.0 0 CLASS=AA SEQID=138 ATTCHORD=(4 823 Al 825 Br) +M V30 825 F 20.75 -52.25 0.0 0 CLASS=AA SEQID=139 ATTCHORD=(4 824 Al 826 Br) +M V30 826 Y 22.25 -52.25 0.0 0 CLASS=AA SEQID=140 ATTCHORD=(4 825 Al 827 Br) +M V30 827 P 23.75 -52.25 0.0 0 CLASS=AA SEQID=141 ATTCHORD=(4 826 Al 828 Br) +M V30 828 R 25.25 -52.25 0.0 0 CLASS=AA SEQID=142 ATTCHORD=(4 827 Al 829 Br) +M V30 829 E 26.75 -52.25 0.0 0 CLASS=AA SEQID=143 ATTCHORD=(4 828 Al 830 Br) +M V30 830 A 28.25 -52.25 0.0 0 CLASS=AA SEQID=144 ATTCHORD=(4 829 Al 831 Br) +M V30 831 K 29.75 -52.25 0.0 0 CLASS=AA SEQID=145 ATTCHORD=(4 830 Al 832 Br) +M V30 832 V 31.25 -52.25 0.0 0 CLASS=AA SEQID=146 ATTCHORD=(4 831 Al 833 Br) +M V30 833 Q 32.75 -52.25 0.0 0 CLASS=AA SEQID=147 ATTCHORD=(4 832 Al 834 Br) +M V30 834 W 34.25 -52.25 0.0 0 CLASS=AA SEQID=148 ATTCHORD=(4 833 Al 835 Br) +M V30 835 K 35.75 -52.25 0.0 0 CLASS=AA SEQID=149 ATTCHORD=(4 834 Al 836 Br) +M V30 836 V 37.25 -52.25 0.0 0 CLASS=AA SEQID=150 ATTCHORD=(4 835 Al 837 Br) +M V30 837 D 1.25 -53.75 0.0 0 CLASS=AA SEQID=151 ATTCHORD=(4 836 Al 838 Br) +M V30 838 N 2.75 -53.75 0.0 0 CLASS=AA SEQID=152 ATTCHORD=(4 837 Al 839 Br) +M V30 839 A 4.25 -53.75 0.0 0 CLASS=AA SEQID=153 ATTCHORD=(4 838 Al 840 Br) +M V30 840 L 5.75 -53.75 0.0 0 CLASS=AA SEQID=154 ATTCHORD=(4 839 Al 841 Br) +M V30 841 Q 7.25 -53.75 0.0 0 CLASS=AA SEQID=155 ATTCHORD=(4 840 Al 842 Br) +M V30 842 S 8.75 -53.75 0.0 0 CLASS=AA SEQID=156 ATTCHORD=(4 841 Al 843 Br) +M V30 843 G 10.25 -53.75 0.0 0 CLASS=AA SEQID=157 ATTCHORD=(4 842 Al 844 Br) +M V30 844 N 11.75 -53.75 0.0 0 CLASS=AA SEQID=158 ATTCHORD=(4 843 Al 845 Br) +M V30 845 S 13.25 -53.75 0.0 0 CLASS=AA SEQID=159 ATTCHORD=(4 844 Al 846 Br) +M V30 846 Q 14.75 -53.75 0.0 0 CLASS=AA SEQID=160 ATTCHORD=(4 845 Al 847 Br) +M V30 847 E 16.25 -53.75 0.0 0 CLASS=AA SEQID=161 ATTCHORD=(4 846 Al 848 Br) +M V30 848 S 17.75 -53.75 0.0 0 CLASS=AA SEQID=162 ATTCHORD=(4 847 Al 849 Br) +M V30 849 V 19.25 -53.75 0.0 0 CLASS=AA SEQID=163 ATTCHORD=(4 848 Al 850 Br) +M V30 850 T 20.75 -53.75 0.0 0 CLASS=AA SEQID=164 ATTCHORD=(4 849 Al 851 Br) +M V30 851 E 22.25 -53.75 0.0 0 CLASS=AA SEQID=165 ATTCHORD=(4 850 Al 852 Br) +M V30 852 Q 23.75 -53.75 0.0 0 CLASS=AA SEQID=166 ATTCHORD=(4 851 Al 853 Br) +M V30 853 D 25.25 -53.75 0.0 0 CLASS=AA SEQID=167 ATTCHORD=(4 852 Al 854 Br) +M V30 854 S 26.75 -53.75 0.0 0 CLASS=AA SEQID=168 ATTCHORD=(4 853 Al 855 Br) +M V30 855 K 28.25 -53.75 0.0 0 CLASS=AA SEQID=169 ATTCHORD=(4 854 Al 856 Br) +M V30 856 D 29.75 -53.75 0.0 0 CLASS=AA SEQID=170 ATTCHORD=(4 855 Al 857 Br) +M V30 857 S 31.25 -53.75 0.0 0 CLASS=AA SEQID=171 ATTCHORD=(4 856 Al 858 Br) +M V30 858 T 32.75 -53.75 0.0 0 CLASS=AA SEQID=172 ATTCHORD=(4 857 Al 859 Br) +M V30 859 Y 34.25 -53.75 0.0 0 CLASS=AA SEQID=173 ATTCHORD=(4 858 Al 860 Br) +M V30 860 S 35.75 -53.75 0.0 0 CLASS=AA SEQID=174 ATTCHORD=(4 859 Al 861 Br) +M V30 861 L 37.25 -53.75 0.0 0 CLASS=AA SEQID=175 ATTCHORD=(4 860 Al 862 Br) +M V30 862 S 1.25 -55.25 0.0 0 CLASS=AA SEQID=176 ATTCHORD=(4 861 Al 863 Br) +M V30 863 S 2.75 -55.25 0.0 0 CLASS=AA SEQID=177 ATTCHORD=(4 862 Al 864 Br) +M V30 864 T 4.25 -55.25 0.0 0 CLASS=AA SEQID=178 ATTCHORD=(4 863 Al 865 Br) +M V30 865 L 5.75 -55.25 0.0 0 CLASS=AA SEQID=179 ATTCHORD=(4 864 Al 866 Br) +M V30 866 T 7.25 -55.25 0.0 0 CLASS=AA SEQID=180 ATTCHORD=(4 865 Al 867 Br) +M V30 867 L 8.75 -55.25 0.0 0 CLASS=AA SEQID=181 ATTCHORD=(4 866 Al 868 Br) +M V30 868 S 10.25 -55.25 0.0 0 CLASS=AA SEQID=182 ATTCHORD=(4 867 Al 869 Br) +M V30 869 K 11.75 -55.25 0.0 0 CLASS=AA SEQID=183 ATTCHORD=(4 868 Al 870 Br) +M V30 870 A 13.25 -55.25 0.0 0 CLASS=AA SEQID=184 ATTCHORD=(4 869 Al 871 Br) +M V30 871 D 14.75 -55.25 0.0 0 CLASS=AA SEQID=185 ATTCHORD=(4 870 Al 872 Br) +M V30 872 Y 16.25 -55.25 0.0 0 CLASS=AA SEQID=186 ATTCHORD=(4 871 Al 873 Br) +M V30 873 E 17.75 -55.25 0.0 0 CLASS=AA SEQID=187 ATTCHORD=(4 872 Al 874 Br) +M V30 874 K 19.25 -55.25 0.0 0 CLASS=AA SEQID=188 ATTCHORD=(4 873 Al 875 Br) +M V30 875 H 20.75 -55.25 0.0 0 CLASS=AA SEQID=189 ATTCHORD=(4 874 Al 876 Br) +M V30 876 K 22.25 -55.25 0.0 0 CLASS=AA SEQID=190 ATTCHORD=(4 875 Al 877 Br) +M V30 877 V 23.75 -55.25 0.0 0 CLASS=AA SEQID=191 ATTCHORD=(4 876 Al 878 Br) +M V30 878 Y 25.25 -55.25 0.0 0 CLASS=AA SEQID=192 ATTCHORD=(4 877 Al 879 Br) +M V30 879 A 26.75 -55.25 0.0 0 CLASS=AA SEQID=193 ATTCHORD=(4 878 Al 880 Br) +M V30 880 C 28.25 -55.25 0.0 0 CLASS=AA SEQID=194 ATTCHORD=(6 879 Al 881 Br - +M V30 820 Cx) +M V30 881 E 29.75 -55.25 0.0 0 CLASS=AA SEQID=195 ATTCHORD=(4 880 Al 882 Br) +M V30 882 V 31.25 -55.25 0.0 0 CLASS=AA SEQID=196 ATTCHORD=(4 881 Al 883 Br) +M V30 883 T 32.75 -55.25 0.0 0 CLASS=AA SEQID=197 ATTCHORD=(4 882 Al 884 Br) +M V30 884 H 34.25 -55.25 0.0 0 CLASS=AA SEQID=198 ATTCHORD=(4 883 Al 885 Br) +M V30 885 Q 35.75 -55.25 0.0 0 CLASS=AA SEQID=199 ATTCHORD=(4 884 Al 886 Br) +M V30 886 G 37.25 -55.25 0.0 0 CLASS=AA SEQID=200 ATTCHORD=(4 885 Al 887 Br) +M V30 887 L 1.25 -56.75 0.0 0 CLASS=AA SEQID=201 ATTCHORD=(4 886 Al 888 Br) +M V30 888 S 2.75 -56.75 0.0 0 CLASS=AA SEQID=202 ATTCHORD=(4 887 Al 889 Br) +M V30 889 S 4.25 -56.75 0.0 0 CLASS=AA SEQID=203 ATTCHORD=(4 888 Al 890 Br) +M V30 890 P 5.75 -56.75 0.0 0 CLASS=AA SEQID=204 ATTCHORD=(4 889 Al 891 Br) +M V30 891 V 7.25 -56.75 0.0 0 CLASS=AA SEQID=205 ATTCHORD=(4 890 Al 892 Br) +M V30 892 T 8.75 -56.75 0.0 0 CLASS=AA SEQID=206 ATTCHORD=(4 891 Al 893 Br) +M V30 893 K 10.25 -56.75 0.0 0 CLASS=AA SEQID=207 ATTCHORD=(4 892 Al 894 Br) +M V30 894 S 11.75 -56.75 0.0 0 CLASS=AA SEQID=208 ATTCHORD=(4 893 Al 895 Br) +M V30 895 F 13.25 -56.75 0.0 0 CLASS=AA SEQID=209 ATTCHORD=(4 894 Al 896 Br) +M V30 896 N 14.75 -56.75 0.0 0 CLASS=AA SEQID=210 ATTCHORD=(4 895 Al 897 Br) +M V30 897 R 16.25 -56.75 0.0 0 CLASS=AA SEQID=211 ATTCHORD=(4 896 Al 898 Br) +M V30 898 G 17.75 -56.75 0.0 0 CLASS=AA SEQID=212 ATTCHORD=(4 897 Al 899 Br) +M V30 899 E 19.25 -56.75 0.0 0 CLASS=AA SEQID=213 ATTCHORD=(4 898 Al 900 Br) +M V30 900 C 20.75 -56.75 0.0 0 CLASS=AA SEQID=214 ATTCHORD=(4 899 Al 674 Cx) +M V30 901 D 16.25 -38.75 0.0 0 CLASS=AA SEQID=11 ATTCHORD=(4 902 Br 920 Al) +M V30 902 Y 17.75 -38.75 0.0 0 CLASS=AA SEQID=12 ATTCHORD=(4 901 Al 903 Br) +M V30 903 F 19.25 -38.75 0.0 0 CLASS=AA SEQID=13 ATTCHORD=(4 902 Al 904 Br) +M V30 904 P 20.75 -38.75 0.0 0 CLASS=AA SEQID=14 ATTCHORD=(4 903 Al 905 Br) +M V30 905 E 22.25 -38.75 0.0 0 CLASS=AA SEQID=15 ATTCHORD=(4 904 Al 906 Br) +M V30 906 P 23.75 -38.75 0.0 0 CLASS=AA SEQID=16 ATTCHORD=(4 905 Al 907 Br) +M V30 907 V 25.25 -38.75 0.0 0 CLASS=AA SEQID=17 ATTCHORD=(4 906 Al 908 Br) +M V30 908 T 26.75 -38.75 0.0 0 CLASS=AA SEQID=18 ATTCHORD=(4 907 Al 909 Br) +M V30 909 V 28.25 -38.75 0.0 0 CLASS=AA SEQID=19 ATTCHORD=(4 908 Al 910 Br) +M V30 910 S 29.75 -38.75 0.0 0 CLASS=AA SEQID=20 ATTCHORD=(4 612 Br 909 Al) +M V30 911 G 1.25 -38.75 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 912 Br) +M V30 912 T 2.75 -38.75 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 911 Al 913 Br) +M V30 913 A 4.25 -38.75 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(4 912 Al 914 Br) +M V30 914 A 5.75 -38.75 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 913 Al 915 Br) +M V30 915 L 7.25 -38.75 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 914 Al 916 Br) +M V30 916 G 8.75 -38.75 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(4 915 Al 917 Br) +M V30 917 C 10.25 -38.75 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(6 654 Cx 916 Al 91- +M V30 8 Br) +M V30 918 L 11.75 -38.75 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 917 Al 919 Br) +M V30 919 V 13.25 -38.75 0.0 0 CLASS=AA SEQID=9 ATTCHORD=(4 918 Al 920 Br) +M V30 920 K 14.75 -38.75 0.0 0 CLASS=AA SEQID=10 ATTCHORD=(4 901 Br 919 Al) +M V30 921 A 31.25 -43.25 0.0 0 CLASS=AA SEQID=96 ATTCHORD=(4 686 Al 922 Br) +M V30 922 A 32.75 -43.25 0.0 0 CLASS=AA SEQID=97 ATTCHORD=(2 921 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 10 11 +M V30 11 1 11 12 +M V30 12 1 12 13 +M V30 13 1 13 14 +M V30 14 1 14 15 +M V30 15 1 15 16 +M V30 16 1 16 17 +M V30 17 1 17 18 +M V30 18 1 18 19 +M V30 19 1 19 20 +M V30 20 1 20 21 +M V30 21 1 21 22 +M V30 22 1 22 23 +M V30 23 1 23 24 +M V30 24 1 24 25 +M V30 25 1 25 26 +M V30 26 1 26 27 +M V30 27 1 27 28 +M V30 28 1 28 29 +M V30 29 1 29 30 +M V30 30 1 30 31 +M V30 31 1 31 32 +M V30 32 1 32 33 +M V30 33 1 33 34 +M V30 34 1 34 35 +M V30 35 1 35 36 +M V30 36 1 36 37 +M V30 37 1 37 38 +M V30 38 1 38 39 +M V30 39 1 39 40 +M V30 40 1 40 41 +M V30 41 1 41 42 +M V30 42 1 42 43 +M V30 43 1 43 44 +M V30 44 1 44 45 +M V30 45 1 45 46 +M V30 46 1 46 47 +M V30 47 1 47 48 +M V30 48 1 48 49 +M V30 49 1 49 50 +M V30 50 1 50 51 +M V30 51 1 51 52 +M V30 52 1 52 53 +M V30 53 1 53 54 +M V30 54 1 54 55 +M V30 55 1 55 56 +M V30 56 1 56 57 +M V30 57 1 57 58 +M V30 58 1 58 59 +M V30 59 1 59 60 +M V30 60 1 60 61 +M V30 61 1 61 62 +M V30 62 1 62 63 +M V30 63 1 63 64 +M V30 64 1 64 65 +M V30 65 1 65 66 +M V30 66 1 66 67 +M V30 67 1 67 68 +M V30 68 1 68 69 +M V30 69 1 69 70 +M V30 70 1 70 71 +M V30 71 1 71 72 +M V30 72 1 72 73 +M V30 73 1 73 74 +M V30 74 1 74 75 +M V30 75 1 75 76 +M V30 76 1 76 77 +M V30 77 1 77 78 +M V30 78 1 78 79 +M V30 79 1 79 80 +M V30 80 1 80 81 +M V30 81 1 81 82 +M V30 82 1 82 83 +M V30 83 1 83 84 +M V30 84 1 84 85 +M V30 85 1 85 86 +M V30 86 1 86 87 +M V30 87 1 87 88 +M V30 88 1 88 89 +M V30 89 1 89 90 +M V30 90 1 90 91 +M V30 91 1 91 92 +M V30 92 1 92 93 +M V30 93 1 93 94 +M V30 94 1 94 95 +M V30 95 1 95 96 +M V30 96 1 96 97 +M V30 97 1 97 98 +M V30 98 1 98 99 +M V30 99 1 99 100 +M V30 100 1 100 101 +M V30 101 1 101 102 +M V30 102 1 102 103 +M V30 103 1 103 104 +M V30 104 1 104 105 +M V30 105 1 105 106 +M V30 106 1 106 107 +M V30 107 1 107 108 +M V30 108 1 108 109 +M V30 109 1 109 110 +M V30 110 1 110 111 +M V30 111 1 111 112 +M V30 112 1 112 113 +M V30 113 1 113 114 +M V30 114 1 114 115 +M V30 115 1 115 116 +M V30 116 1 116 117 +M V30 117 1 117 118 +M V30 118 1 118 119 +M V30 119 1 119 120 +M V30 120 1 120 121 +M V30 121 1 121 122 +M V30 122 1 122 123 +M V30 123 1 123 124 +M V30 124 1 124 125 +M V30 125 1 125 126 +M V30 126 1 126 127 +M V30 127 1 127 128 +M V30 128 1 128 129 +M V30 129 1 129 130 +M V30 130 1 130 131 +M V30 131 1 131 132 +M V30 132 1 132 133 +M V30 133 1 133 134 +M V30 134 1 134 135 +M V30 135 1 135 136 +M V30 136 1 136 137 +M V30 137 1 137 138 +M V30 138 1 138 139 +M V30 139 1 139 140 +M V30 140 1 140 141 +M V30 141 1 141 142 +M V30 142 1 142 143 +M V30 143 1 143 144 +M V30 144 1 144 145 +M V30 145 1 145 146 +M V30 146 1 146 147 +M V30 147 1 147 148 +M V30 148 1 148 149 +M V30 149 1 149 150 +M V30 150 1 150 151 +M V30 151 1 151 152 +M V30 152 1 152 153 +M V30 153 1 153 154 +M V30 154 1 154 155 +M V30 155 1 155 156 +M V30 156 1 156 157 +M V30 157 1 157 158 +M V30 158 1 158 159 +M V30 159 1 159 160 +M V30 160 1 160 161 +M V30 161 1 161 162 +M V30 162 1 162 163 +M V30 163 1 163 164 +M V30 164 1 164 165 +M V30 165 1 165 166 +M V30 166 1 166 167 +M V30 167 1 167 168 +M V30 168 1 168 169 +M V30 169 1 169 170 +M V30 170 1 170 171 +M V30 171 1 171 172 +M V30 172 1 172 173 +M V30 173 1 173 174 +M V30 174 1 174 175 +M V30 175 1 175 176 +M V30 176 1 176 177 +M V30 177 1 177 178 +M V30 178 1 178 179 +M V30 179 1 179 180 +M V30 180 1 180 181 +M V30 181 1 181 182 +M V30 182 1 182 183 +M V30 183 1 183 184 +M V30 184 1 184 185 +M V30 185 1 185 186 +M V30 186 1 186 187 +M V30 187 1 187 188 +M V30 188 1 188 189 +M V30 189 1 189 190 +M V30 190 1 190 191 +M V30 191 1 191 192 +M V30 192 1 192 193 +M V30 193 1 193 194 +M V30 194 1 194 195 +M V30 195 1 195 196 +M V30 196 1 196 197 +M V30 197 1 197 198 +M V30 198 1 198 199 +M V30 199 1 199 200 +M V30 200 1 200 201 +M V30 201 1 201 202 +M V30 202 1 202 203 +M V30 203 1 203 204 +M V30 204 1 204 205 +M V30 205 1 205 206 +M V30 206 1 206 207 +M V30 207 1 207 208 +M V30 208 1 208 209 +M V30 209 1 209 210 +M V30 210 1 210 211 +M V30 211 1 211 212 +M V30 212 1 212 213 +M V30 213 1 213 214 +M V30 214 1 214 215 +M V30 215 1 215 216 +M V30 216 1 216 217 +M V30 217 1 217 218 +M V30 218 1 218 219 +M V30 219 1 219 220 +M V30 220 1 220 221 +M V30 221 1 221 222 +M V30 222 1 222 223 +M V30 223 1 223 224 +M V30 224 1 224 225 +M V30 225 1 225 226 +M V30 226 1 226 227 +M V30 227 1 227 228 +M V30 228 1 228 229 +M V30 229 1 229 230 +M V30 230 1 230 231 +M V30 231 1 231 232 +M V30 232 1 232 233 +M V30 233 1 233 234 +M V30 234 1 234 235 +M V30 235 1 235 236 +M V30 236 1 236 237 +M V30 237 1 237 238 +M V30 238 1 238 239 +M V30 239 1 239 240 +M V30 240 1 240 241 +M V30 241 1 241 242 +M V30 242 1 242 243 +M V30 243 1 243 244 +M V30 244 1 244 245 +M V30 245 1 245 246 +M V30 246 1 246 247 +M V30 247 1 247 248 +M V30 248 1 248 249 +M V30 249 1 249 250 +M V30 250 1 250 251 +M V30 251 1 251 252 +M V30 252 1 252 253 +M V30 253 1 253 254 +M V30 254 1 254 255 +M V30 255 1 255 256 +M V30 256 1 256 257 +M V30 257 1 257 258 +M V30 258 1 258 259 +M V30 259 1 259 260 +M V30 260 1 260 261 +M V30 261 1 261 262 +M V30 262 1 262 263 +M V30 263 1 263 264 +M V30 264 1 264 265 +M V30 265 1 265 266 +M V30 266 1 266 267 +M V30 267 1 267 268 +M V30 268 1 268 269 +M V30 269 1 269 270 +M V30 270 1 270 271 +M V30 271 1 271 272 +M V30 272 1 272 273 +M V30 273 1 273 274 +M V30 274 1 274 275 +M V30 275 1 275 276 +M V30 276 1 276 277 +M V30 277 1 277 278 +M V30 278 1 278 279 +M V30 279 1 279 280 +M V30 280 1 280 281 +M V30 281 1 281 282 +M V30 282 1 282 283 +M V30 283 1 283 284 +M V30 284 1 284 285 +M V30 285 1 285 286 +M V30 286 1 286 287 +M V30 287 1 287 288 +M V30 288 1 288 289 +M V30 289 1 289 290 +M V30 290 1 290 291 +M V30 291 1 291 292 +M V30 292 1 292 293 +M V30 293 1 293 294 +M V30 294 1 294 295 +M V30 295 1 295 296 +M V30 296 1 296 297 +M V30 297 1 297 298 +M V30 298 1 298 299 +M V30 299 1 299 300 +M V30 300 1 300 301 +M V30 301 1 301 302 +M V30 302 1 302 303 +M V30 303 1 303 304 +M V30 304 1 304 305 +M V30 305 1 305 306 +M V30 306 1 306 307 +M V30 307 1 307 308 +M V30 308 1 308 309 +M V30 309 1 309 310 +M V30 310 1 310 311 +M V30 311 1 311 312 +M V30 312 1 312 313 +M V30 313 1 313 314 +M V30 314 1 314 315 +M V30 315 1 315 316 +M V30 316 1 316 317 +M V30 317 1 317 318 +M V30 318 1 318 319 +M V30 319 1 319 320 +M V30 320 1 320 321 +M V30 321 1 321 322 +M V30 322 1 322 323 +M V30 323 1 323 324 +M V30 324 1 324 325 +M V30 325 1 325 326 +M V30 326 1 326 327 +M V30 327 1 327 328 +M V30 328 1 328 329 +M V30 329 1 329 330 +M V30 330 1 330 331 +M V30 331 1 331 332 +M V30 332 1 332 333 +M V30 333 1 333 334 +M V30 334 1 334 335 +M V30 335 1 335 336 +M V30 336 1 336 337 +M V30 337 1 337 338 +M V30 338 1 338 339 +M V30 339 1 339 340 +M V30 340 1 340 341 +M V30 341 1 341 342 +M V30 342 1 342 343 +M V30 343 1 343 344 +M V30 344 1 344 345 +M V30 345 1 345 346 +M V30 346 1 346 347 +M V30 347 1 347 348 +M V30 348 1 348 349 +M V30 349 1 349 350 +M V30 350 1 350 351 +M V30 351 1 351 352 +M V30 352 1 352 353 +M V30 353 1 353 354 +M V30 354 1 354 355 +M V30 355 1 355 356 +M V30 356 1 356 357 +M V30 357 1 357 358 +M V30 358 1 358 359 +M V30 359 1 359 360 +M V30 360 1 360 361 +M V30 361 1 361 362 +M V30 362 1 362 363 +M V30 363 1 363 364 +M V30 364 1 364 365 +M V30 365 1 365 366 +M V30 366 1 366 367 +M V30 367 1 367 368 +M V30 368 1 368 369 +M V30 369 1 369 370 +M V30 370 1 370 371 +M V30 371 1 371 372 +M V30 372 1 372 373 +M V30 373 1 373 374 +M V30 374 1 374 375 +M V30 375 1 375 376 +M V30 376 1 376 377 +M V30 377 1 377 378 +M V30 378 1 378 379 +M V30 379 1 379 380 +M V30 380 1 380 381 +M V30 381 1 381 382 +M V30 382 1 382 383 +M V30 383 1 383 384 +M V30 384 1 384 385 +M V30 385 1 385 386 +M V30 386 1 386 387 +M V30 387 1 387 388 +M V30 388 1 388 389 +M V30 389 1 389 390 +M V30 390 1 390 391 +M V30 391 1 391 392 +M V30 392 1 392 393 +M V30 393 1 393 394 +M V30 394 1 394 395 +M V30 395 1 395 396 +M V30 396 1 396 397 +M V30 397 1 398 399 +M V30 398 1 399 400 +M V30 399 1 400 401 +M V30 400 1 401 402 +M V30 401 1 402 403 +M V30 402 1 403 404 +M V30 403 1 404 405 +M V30 404 1 405 406 +M V30 405 1 406 407 +M V30 406 1 407 408 +M V30 407 1 408 409 +M V30 408 1 409 410 +M V30 409 1 410 411 +M V30 410 1 411 412 +M V30 411 1 412 413 +M V30 412 1 413 414 +M V30 413 1 414 415 +M V30 414 1 415 416 +M V30 415 1 416 417 +M V30 416 1 417 418 +M V30 417 1 418 419 +M V30 418 1 419 420 +M V30 419 1 420 421 +M V30 420 1 421 422 +M V30 421 1 422 423 +M V30 422 1 423 424 +M V30 423 1 424 425 +M V30 424 1 425 426 +M V30 425 1 426 427 +M V30 426 1 427 428 +M V30 427 1 428 429 +M V30 428 1 429 430 +M V30 429 1 430 431 +M V30 430 1 431 432 +M V30 431 1 432 433 +M V30 432 1 433 434 +M V30 433 1 434 435 +M V30 434 1 435 436 +M V30 435 1 436 437 +M V30 436 1 437 438 +M V30 437 1 438 439 +M V30 438 1 439 440 +M V30 439 1 440 441 +M V30 440 1 441 442 +M V30 441 1 442 443 +M V30 442 1 443 444 +M V30 443 1 444 445 +M V30 444 1 445 446 +M V30 445 1 446 447 +M V30 446 1 447 448 +M V30 447 1 448 449 +M V30 448 1 449 450 +M V30 449 1 450 451 +M V30 450 1 451 452 +M V30 451 1 452 453 +M V30 452 1 453 454 +M V30 453 1 454 455 +M V30 454 1 455 456 +M V30 455 1 456 457 +M V30 456 1 457 458 +M V30 457 1 458 459 +M V30 458 1 459 460 +M V30 459 1 460 461 +M V30 460 1 461 462 +M V30 461 1 462 463 +M V30 462 1 463 464 +M V30 463 1 464 465 +M V30 464 1 465 466 +M V30 465 1 466 467 +M V30 466 1 467 468 +M V30 467 1 468 469 +M V30 468 1 469 470 +M V30 469 1 470 471 +M V30 470 1 471 472 +M V30 471 1 472 473 +M V30 472 1 473 474 +M V30 473 1 474 475 +M V30 474 1 475 476 +M V30 475 1 476 477 +M V30 476 1 477 478 +M V30 477 1 478 479 +M V30 478 1 479 480 +M V30 479 1 480 481 +M V30 480 1 481 482 +M V30 481 1 482 483 +M V30 482 1 483 484 +M V30 483 1 484 485 +M V30 484 1 485 486 +M V30 485 1 486 487 +M V30 486 1 487 488 +M V30 487 1 488 489 +M V30 488 1 489 490 +M V30 489 1 490 491 +M V30 490 1 491 492 +M V30 491 1 492 493 +M V30 492 1 493 494 +M V30 493 1 494 495 +M V30 494 1 495 496 +M V30 495 1 496 497 +M V30 496 1 497 498 +M V30 497 1 498 499 +M V30 498 1 499 500 +M V30 499 1 500 501 +M V30 500 1 501 502 +M V30 501 1 502 503 +M V30 502 1 503 504 +M V30 503 1 504 505 +M V30 504 1 505 506 +M V30 505 1 506 507 +M V30 506 1 507 508 +M V30 507 1 508 509 +M V30 508 1 509 510 +M V30 509 1 510 511 +M V30 510 1 511 512 +M V30 511 1 512 513 +M V30 512 1 513 514 +M V30 513 1 514 515 +M V30 514 1 515 516 +M V30 515 1 516 517 +M V30 516 1 517 518 +M V30 517 1 518 519 +M V30 518 1 519 520 +M V30 519 1 520 521 +M V30 520 1 521 522 +M V30 521 1 522 523 +M V30 522 1 523 524 +M V30 523 1 524 525 +M V30 524 1 525 526 +M V30 525 1 526 527 +M V30 526 1 527 528 +M V30 527 1 528 529 +M V30 528 1 529 530 +M V30 529 1 530 531 +M V30 530 1 531 532 +M V30 531 1 532 533 +M V30 532 1 533 534 +M V30 533 1 534 535 +M V30 534 1 535 536 +M V30 535 1 536 537 +M V30 536 1 537 538 +M V30 537 1 538 539 +M V30 538 1 539 540 +M V30 539 1 540 541 +M V30 540 1 541 542 +M V30 541 1 542 543 +M V30 542 1 543 544 +M V30 543 1 544 545 +M V30 544 1 545 546 +M V30 545 1 546 547 +M V30 546 1 547 548 +M V30 547 1 548 549 +M V30 548 1 549 550 +M V30 549 1 550 551 +M V30 550 1 551 552 +M V30 551 1 552 553 +M V30 552 1 553 554 +M V30 553 1 554 555 +M V30 554 1 555 556 +M V30 555 1 556 557 +M V30 556 1 557 558 +M V30 557 1 558 559 +M V30 558 1 559 560 +M V30 559 1 560 561 +M V30 560 1 561 562 +M V30 561 1 562 563 +M V30 562 1 563 564 +M V30 563 1 564 565 +M V30 564 1 565 566 +M V30 565 1 566 567 +M V30 566 1 567 568 +M V30 567 1 568 569 +M V30 568 1 569 570 +M V30 569 1 570 571 +M V30 570 1 571 572 +M V30 571 1 572 573 +M V30 572 1 573 574 +M V30 573 1 574 575 +M V30 574 1 575 576 +M V30 575 1 576 577 +M V30 576 1 577 578 +M V30 577 1 578 579 +M V30 578 1 579 580 +M V30 579 1 580 581 +M V30 580 1 581 582 +M V30 581 1 582 583 +M V30 582 1 583 584 +M V30 583 1 584 585 +M V30 584 1 585 586 +M V30 585 1 586 587 +M V30 586 1 587 588 +M V30 587 1 588 589 +M V30 588 1 589 590 +M V30 589 1 590 591 +M V30 590 1 591 592 +M V30 591 1 592 593 +M V30 592 1 593 594 +M V30 593 1 594 595 +M V30 594 1 595 596 +M V30 595 1 596 597 +M V30 596 1 597 598 +M V30 597 1 598 599 +M V30 598 1 599 600 +M V30 599 1 600 601 +M V30 600 1 601 602 +M V30 601 1 602 603 +M V30 602 1 603 604 +M V30 603 1 604 605 +M V30 604 1 605 606 +M V30 605 1 606 607 +M V30 606 1 607 608 +M V30 607 1 608 609 +M V30 608 1 609 610 +M V30 609 1 610 611 +M V30 610 1 96 22 +M V30 611 1 203 147 +M V30 612 1 264 324 +M V30 613 1 485 420 +M V30 614 1 591 531 +M V30 615 1 611 223 +M V30 616 1 612 613 +M V30 617 1 613 614 +M V30 618 1 614 615 +M V30 619 1 615 616 +M V30 620 1 616 617 +M V30 621 1 617 618 +M V30 622 1 618 619 +M V30 623 1 619 620 +M V30 624 1 620 621 +M V30 625 1 621 622 +M V30 626 1 622 623 +M V30 627 1 623 624 +M V30 628 1 624 625 +M V30 629 1 625 626 +M V30 630 1 626 627 +M V30 631 1 627 628 +M V30 632 1 628 629 +M V30 633 1 629 630 +M V30 634 1 630 631 +M V30 635 1 631 632 +M V30 636 1 632 633 +M V30 637 1 633 634 +M V30 638 1 634 635 +M V30 639 1 635 636 +M V30 640 1 636 637 +M V30 641 1 637 638 +M V30 642 1 638 639 +M V30 643 1 639 640 +M V30 644 1 640 641 +M V30 645 1 641 642 +M V30 646 1 642 643 +M V30 647 1 643 644 +M V30 648 1 644 645 +M V30 649 1 645 646 +M V30 650 1 646 647 +M V30 651 1 647 648 +M V30 652 1 648 649 +M V30 653 1 649 650 +M V30 654 1 650 651 +M V30 655 1 651 652 +M V30 656 1 652 653 +M V30 657 1 653 654 +M V30 658 1 654 655 +M V30 659 1 655 656 +M V30 660 1 656 657 +M V30 661 1 657 658 +M V30 662 1 658 659 +M V30 663 1 659 660 +M V30 664 1 660 661 +M V30 665 1 661 662 +M V30 666 1 662 663 +M V30 667 1 663 664 +M V30 668 1 664 665 +M V30 669 1 665 666 +M V30 670 1 666 667 +M V30 671 1 667 668 +M V30 672 1 668 669 +M V30 673 1 669 670 +M V30 674 1 670 671 +M V30 675 1 671 672 +M V30 676 1 672 673 +M V30 677 1 673 674 +M V30 678 1 674 675 +M V30 679 1 675 676 +M V30 680 1 676 677 +M V30 681 1 677 678 +M V30 682 1 678 679 +M V30 683 1 679 680 +M V30 684 1 680 681 +M V30 685 1 681 682 +M V30 686 1 682 683 +M V30 687 1 683 684 +M V30 688 1 684 685 +M V30 689 1 685 686 +M V30 690 1 687 688 +M V30 691 1 688 689 +M V30 692 1 689 690 +M V30 693 1 690 691 +M V30 694 1 691 692 +M V30 695 1 692 693 +M V30 696 1 693 694 +M V30 697 1 694 695 +M V30 698 1 695 696 +M V30 699 1 696 697 +M V30 700 1 697 698 +M V30 701 1 698 699 +M V30 702 1 699 700 +M V30 703 1 700 701 +M V30 704 1 701 702 +M V30 705 1 702 703 +M V30 706 1 703 704 +M V30 707 1 704 705 +M V30 708 1 705 706 +M V30 709 1 706 707 +M V30 710 1 707 708 +M V30 711 1 708 709 +M V30 712 1 709 710 +M V30 713 1 710 711 +M V30 714 1 711 712 +M V30 715 1 712 713 +M V30 716 1 713 714 +M V30 717 1 714 715 +M V30 718 1 715 716 +M V30 719 1 716 717 +M V30 720 1 717 718 +M V30 721 1 718 719 +M V30 722 1 719 720 +M V30 723 1 720 721 +M V30 724 1 721 722 +M V30 725 1 722 723 +M V30 726 1 723 724 +M V30 727 1 724 725 +M V30 728 1 725 726 +M V30 729 1 726 727 +M V30 730 1 727 728 +M V30 731 1 728 729 +M V30 732 1 729 730 +M V30 733 1 730 731 +M V30 734 1 731 732 +M V30 735 1 732 733 +M V30 736 1 733 734 +M V30 737 1 734 735 +M V30 738 1 735 736 +M V30 739 1 736 737 +M V30 740 1 737 738 +M V30 741 1 738 739 +M V30 742 1 739 740 +M V30 743 1 740 741 +M V30 744 1 741 742 +M V30 745 1 742 743 +M V30 746 1 743 744 +M V30 747 1 744 745 +M V30 748 1 745 746 +M V30 749 1 746 747 +M V30 750 1 747 748 +M V30 751 1 748 749 +M V30 752 1 749 750 +M V30 753 1 750 751 +M V30 754 1 751 752 +M V30 755 1 752 753 +M V30 756 1 753 754 +M V30 757 1 754 755 +M V30 758 1 755 756 +M V30 759 1 756 757 +M V30 760 1 757 758 +M V30 761 1 758 759 +M V30 762 1 759 760 +M V30 763 1 760 761 +M V30 764 1 761 762 +M V30 765 1 762 763 +M V30 766 1 763 764 +M V30 767 1 764 765 +M V30 768 1 765 766 +M V30 769 1 766 767 +M V30 770 1 767 768 +M V30 771 1 768 769 +M V30 772 1 769 770 +M V30 773 1 770 771 +M V30 774 1 771 772 +M V30 775 1 772 773 +M V30 776 1 773 774 +M V30 777 1 774 775 +M V30 778 1 775 776 +M V30 779 1 776 777 +M V30 780 1 777 778 +M V30 781 1 778 779 +M V30 782 1 779 780 +M V30 783 1 780 781 +M V30 784 1 781 782 +M V30 785 1 782 783 +M V30 786 1 783 784 +M V30 787 1 784 785 +M V30 788 1 785 786 +M V30 789 1 786 787 +M V30 790 1 787 788 +M V30 791 1 788 789 +M V30 792 1 789 790 +M V30 793 1 790 791 +M V30 794 1 791 792 +M V30 795 1 792 793 +M V30 796 1 793 794 +M V30 797 1 794 795 +M V30 798 1 795 796 +M V30 799 1 796 797 +M V30 800 1 797 798 +M V30 801 1 798 799 +M V30 802 1 799 800 +M V30 803 1 800 801 +M V30 804 1 801 802 +M V30 805 1 802 803 +M V30 806 1 803 804 +M V30 807 1 804 805 +M V30 808 1 805 806 +M V30 809 1 806 807 +M V30 810 1 807 808 +M V30 811 1 808 809 +M V30 812 1 809 810 +M V30 813 1 810 811 +M V30 814 1 811 812 +M V30 815 1 812 813 +M V30 816 1 813 814 +M V30 817 1 814 815 +M V30 818 1 815 816 +M V30 819 1 816 817 +M V30 820 1 817 818 +M V30 821 1 818 819 +M V30 822 1 819 820 +M V30 823 1 820 821 +M V30 824 1 821 822 +M V30 825 1 822 823 +M V30 826 1 823 824 +M V30 827 1 824 825 +M V30 828 1 825 826 +M V30 829 1 826 827 +M V30 830 1 827 828 +M V30 831 1 828 829 +M V30 832 1 829 830 +M V30 833 1 830 831 +M V30 834 1 831 832 +M V30 835 1 832 833 +M V30 836 1 833 834 +M V30 837 1 834 835 +M V30 838 1 835 836 +M V30 839 1 836 837 +M V30 840 1 837 838 +M V30 841 1 838 839 +M V30 842 1 839 840 +M V30 843 1 840 841 +M V30 844 1 841 842 +M V30 845 1 842 843 +M V30 846 1 843 844 +M V30 847 1 844 845 +M V30 848 1 845 846 +M V30 849 1 846 847 +M V30 850 1 847 848 +M V30 851 1 848 849 +M V30 852 1 849 850 +M V30 853 1 850 851 +M V30 854 1 851 852 +M V30 855 1 852 853 +M V30 856 1 853 854 +M V30 857 1 854 855 +M V30 858 1 855 856 +M V30 859 1 856 857 +M V30 860 1 857 858 +M V30 861 1 858 859 +M V30 862 1 859 860 +M V30 863 1 860 861 +M V30 864 1 861 862 +M V30 865 1 862 863 +M V30 866 1 863 864 +M V30 867 1 864 865 +M V30 868 1 865 866 +M V30 869 1 866 867 +M V30 870 1 867 868 +M V30 871 1 868 869 +M V30 872 1 869 870 +M V30 873 1 870 871 +M V30 874 1 871 872 +M V30 875 1 872 873 +M V30 876 1 873 874 +M V30 877 1 874 875 +M V30 878 1 875 876 +M V30 879 1 876 877 +M V30 880 1 877 878 +M V30 881 1 878 879 +M V30 882 1 879 880 +M V30 883 1 880 881 +M V30 884 1 881 882 +M V30 885 1 882 883 +M V30 886 1 883 884 +M V30 887 1 884 885 +M V30 888 1 885 886 +M V30 889 1 886 887 +M V30 890 1 887 888 +M V30 891 1 888 889 +M V30 892 1 889 890 +M V30 893 1 890 891 +M V30 894 1 891 892 +M V30 895 1 892 893 +M V30 896 1 893 894 +M V30 897 1 894 895 +M V30 898 1 895 896 +M V30 899 1 896 897 +M V30 900 1 897 898 +M V30 901 1 898 899 +M V30 902 1 899 900 +M V30 903 1 774 709 +M V30 904 1 880 820 +M V30 905 1 900 674 +M V30 906 1 229 680 +M V30 907 1 683 232 +M V30 908 1 910 612 +M V30 909 1 901 902 +M V30 910 1 902 903 +M V30 911 1 903 904 +M V30 912 1 904 905 +M V30 913 1 905 906 +M V30 914 1 906 907 +M V30 915 1 907 908 +M V30 916 1 908 909 +M V30 917 1 909 910 +M V30 918 1 654 917 +M V30 919 1 920 901 +M V30 920 1 911 912 +M V30 921 1 912 913 +M V30 922 1 913 914 +M V30 923 1 914 915 +M V30 924 1 915 916 +M V30 925 1 916 917 +M V30 926 1 917 918 +M V30 927 1 918 919 +M V30 928 1 919 920 +M V30 929 1 686 921 +M V30 930 1 921 922 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Glu/E/ NATREPLACE=AA/E +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3442 -1.4777 0.0 0 CFG=1 +M V30 2 C 1.6244 -2.2154 0.0 0 +M V30 3 O 1.6261 -3.3968 0.0 0 +M V30 4 O 2.6469 -1.6234 0.0 0 +M V30 5 N -0.9361 -2.2154 0.0 0 +M V30 6 H -1.9591 -1.6245 0.0 0 +M V30 7 C 0.3419 -0.0001 0.0 0 +M V30 8 C -0.9383 0.7375 0.0 0 +M V30 9 C -0.9406 2.2151 0.0 0 +M V30 10 O -1.9642 2.8049 0.0 0 +M V30 11 O 0.0819 2.8071 0.0 0 +M V30 12 H 0.0729 3.9885 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 6 1 1 7 CFG=1 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 9 10 +M V30 10 1 9 11 +M V30 11 1 11 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 1) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.511250 -0.296000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.004500 -0.590700 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 5 7 8 9 10 11) XBONDS=(3 3 5 11) BRKXYZ=(9 0.51- +M V30 1250 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.004500 0.590700 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=E CLASS=AA SAP=(3 5 6 Al) SAP=(3- +M V30 2 4 Br) SAP=(3 11 12 Cx) NATREPLACE=AA/E +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Val/V/ NATREPLACE=AA/V +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.1543 -0.9675 0.0 0 +M V30 2 C -0.1446 -0.2156 0.0 0 CFG=2 +M V30 3 C -1.1823 1.8865 0.0 0 +M V30 4 C -0.1438 1.2853 0.0 0 +M V30 5 C 0.896 1.8843 0.0 0 +M V30 6 O 1.1536 -2.1676 0.0 0 +M V30 7 N -1.4435 -0.9675 0.0 0 +M V30 8 O 2.1941 -0.3685 0.0 0 +M V30 9 H -2.4838 -0.3695 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 8 +M V30 4 1 2 7 +M V30 5 1 2 4 CFG=1 +M V30 6 1 4 3 +M V30 7 1 4 5 +M V30 8 1 7 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.520150 -0.299000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 3) BRKXYZ=(9 -0.519900 -0.299500 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 3 8) BRKXYZ=(9 0.519900 0.29- +M V30 9500 0.000000 -0.520150 0.299000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=V CLASS=AA SAP=(3 7 9 Al) SAP=(3 1 8 Br) NATREPLACE=AA/V +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gln/Q/ NATREPLACE=AA/Q +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.6237 -2.2154 0.0 0 +M V30 2 O 1.6254 -3.3969 0.0 0 +M V30 3 C 0.3435 -1.4777 0.0 0 CFG=1 +M V30 4 N -0.9368 -2.2154 0.0 0 +M V30 5 H -1.9598 -1.6245 0.0 0 +M V30 6 C 0.3413 -0.0001 0.0 0 +M V30 7 C -0.9389 0.7376 0.0 0 +M V30 8 C -0.9411 2.2152 0.0 0 +M V30 9 N 0.0813 2.8071 0.0 0 +M V30 10 O -1.9648 2.805 0.0 0 +M V30 11 O 2.6462 -1.6235 0.0 0 +M V30 12 H 0.0799 3.9885 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 2 8 10 +M V30 10 1 1 11 +M V30 11 1 9 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.511250 -0.295950 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.000700 -0.590700 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 6 7 8 9 10) XBONDS=(3 10 4 11) BRKXYZ=(9 0.51- +M V30 1250 0.295950 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0- +M V30 .000000) BRKXYZ=(9 -0.000700 0.590700 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000 0.000000) LABEL=Q CLASS=AA SAP=(3 4 5 Al) SAP=(3- +M V30 1 11 Br) SAP=(3 9 12 Cx) NATREPLACE=AA/Q +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Ser/S/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.3671 -1.0829 0.0 0 +M V30 2 O 1.3689 -2.2643 0.0 0 +M V30 3 C 0.0869 -0.3452 0.0 0 CFG=1 +M V30 4 N -1.1934 -1.0829 0.0 0 +M V30 5 H -2.2165 -0.492 0.0 0 +M V30 6 C 0.0847 1.1324 0.0 0 +M V30 7 O -0.9391 1.7222 0.0 0 +M V30 8 O 2.3896 -0.4909 0.0 0 +M V30 9 H -0.9481 2.9036 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 1 8 +M V30 8 1 7 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511550 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.511250 -0.296000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.004500 -0.590700 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 6 7) XBONDS=(3 7 4 8) BRKXYZ=(9 0.511250 0.29- +M V30 6000 0.000000 -0.511550 0.295450 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.004500 0.590700 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=S CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 8 Br) - +M V30 SAP=(3 7 9 Cx) NATREPLACE=AA/S +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.0018 1.6555 0.0 0 +M V30 2 C -1.4799 1.889 0.0 0 +M V30 3 C -2.1599 0.5519 0.0 0 +M V30 4 N -1.0984 -0.5079 0.0 0 +M V30 5 C 0.2376 0.1741 0.0 0 CFG=2 +M V30 6 C 1.5717 -0.5079 0.0 0 +M V30 7 O 1.6336 -1.7063 0.0 0 +M V30 8 O 2.5787 0.1448 0.0 0 +M V30 9 H -1.2852 -1.6933 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.093400 0.592700 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.503500 -0.326350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.093400 -0.- +M V30 592700 0.000000 0.503500 0.326350 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 8 AA/Arg/R/ NATREPLACE=AA/R +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.7718 -2.5891 0.0 0 +M V30 2 O 1.7732 -3.5337 0.0 0 +M V30 3 C 0.7483 -1.9994 0.0 0 CFG=1 +M V30 4 N -0.2752 -2.5891 0.0 0 +M V30 5 H -1.0932 -2.1168 0.0 0 +M V30 6 C 0.7464 -0.8182 0.0 0 +M V30 7 C -0.2771 -0.2284 0.0 0 +M V30 8 C -0.2789 0.9529 0.0 0 +M V30 9 N -1.3024 1.5426 0.0 0 +M V30 10 C -1.3042 2.7238 0.0 0 +M V30 11 N -0.4868 3.1971 0.0 0 +M V30 12 N -2.1227 3.1955 0.0 0 +M V30 13 O 2.5892 -2.1159 0.0 0 +M V30 14 H -0.4883 4.3786 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 9 10 +M V30 10 1 10 11 +M V30 11 2 10 12 +M V30 12 1 1 13 +M V30 13 1 11 14 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409000 -0.236150 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 13) XBONDS=(1 12) BRKXYZ=(9 -0.408700 -0.236600 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 14) XBONDS=(1 13) BRKXYZ=(9 0.000750 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(11 1 2 3 4 6 7 8 9 10 11 12) XBONDS=(3 12 4 13) BRKXYZ=- +M V30 (9 0.408700 0.236600 0.000000 -0.409000 0.236150 0.000000 0.000000 0.0- +M V30 00000 0.000000) BRKXYZ=(9 -0.000750 0.590750 0.000000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000) LABEL=R CLASS=AA SAP=(3 4 5 Al)- +M V30 SAP=(3 1 13 Br) SAP=(3 11 14 Cx) NATREPLACE=AA/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 9 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 10 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 11 AA/Phe/F/ NATREPLACE=AA/F +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.2052 2.5398 0.0 0 +M V30 2 C -1.5064 3.286 0.0 0 +M V30 3 C -2.8032 2.5322 0.0 0 +M V30 4 C -2.7988 1.0322 0.0 0 +M V30 5 C -1.4976 0.2861 0.0 0 +M V30 6 C -0.2008 1.0398 0.0 0 +M V30 7 C 1.0995 0.2905 0.0 0 +M V30 8 C 1.1018 -1.2103 0.0 0 CFG=2 +M V30 9 N -0.1986 -1.9596 0.0 0 +M V30 10 C 2.4022 -1.9596 0.0 0 +M V30 11 O 2.404 -3.1596 0.0 0 +M V30 12 O 3.4407 -1.3583 0.0 0 +M V30 13 H -1.2376 -1.3593 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 2 2 3 +M V30 4 1 3 4 +M V30 5 2 4 5 +M V30 6 1 5 6 +M V30 7 1 6 7 +M V30 8 1 8 7 CFG=1 +M V30 9 1 8 9 +M V30 10 1 8 10 +M V30 11 2 10 11 +M V30 12 1 10 12 +M V30 13 1 9 13 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 8) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 13) XBONDS=(1 13) BRKXYZ=(9 0.519500 -0.300150 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 -0.519250 -0.300650 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 13 12) BRKXYZ=(9 - +M V30 -0.519500 0.300150 0.000000 0.519250 0.300650 0.000000 0.000000 0.0000- +M V30 00 0.000000) LABEL=F CLASS=AA SAP=(3 9 13 Al) SAP=(3 10 12 Br) NATREPL- +M V30 ACE=AA/F +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 12 AA/Asn/N/ NATREPLACE=AA/N +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8929 -1.4175 0.0 0 +M V30 2 O 1.8947 -2.5989 0.0 0 +M V30 3 C 0.6127 -0.6799 0.0 0 CFG=1 +M V30 4 N -0.6676 -1.4175 0.0 0 +M V30 5 H -1.6907 -0.8266 0.0 0 +M V30 6 C 0.6104 0.7978 0.0 0 +M V30 7 C -0.6698 1.5354 0.0 0 +M V30 8 N -1.6922 0.9434 0.0 0 +M V30 9 O -0.6716 2.7168 0.0 0 +M V30 10 O 2.9153 -0.8255 0.0 0 +M V30 11 H -2.5341 1.7724 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 7 8 +M V30 8 2 7 9 +M V30 9 1 1 10 +M V30 10 1 8 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511550 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.420950 -0.414500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511550 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 -0.420950 0.414500 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000) LABEL=N CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 1- +M V30 0 Br) SAP=(3 8 11 Cx) NATREPLACE=AA/N +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 13 AA/Ile/I/ NATREPLACE=AA/I +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -1.2557 1.6681 0.0 0 +M V30 2 C 0.0245 0.9304 0.0 0 CFG=1 +M V30 3 C 0.0268 -0.5472 0.0 0 CFG=2 +M V30 4 N -1.2536 -1.2849 0.0 0 +M V30 5 H -2.2766 -0.694 0.0 0 +M V30 6 C 1.3069 -1.2849 0.0 0 +M V30 7 O 1.3086 -2.4664 0.0 0 +M V30 8 O 2.3294 -0.693 0.0 0 +M V30 9 C 1.047 1.5223 0.0 0 +M V30 10 C -1.2574 2.8495 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 2 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 +M V30 6 2 6 7 +M V30 7 1 6 8 +M V30 8 1 2 9 CFG=3 +M V30 9 1 1 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -0.511250 -0.295950 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 6 7 9 10) XBONDS=(2 4 7) BRKXYZ=(9 -0.511500 - +M V30 0.295450 0.000000 0.511250 0.295950 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=I CLASS=AA SAP=(3 4 5 Al) SAP=(3 6 8 Br) NATREPLACE=AA/I +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 14 AA/Lys/K/ NATREPLACE=AA/K +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.1478 -2.4874 0.0 0 +M V30 2 C 0.8474 -1.7382 0.0 0 CFG=2 +M V30 3 C 0.8451 -0.2373 0.0 0 +M V30 4 C -0.4553 0.5119 0.0 0 +M V30 5 C -0.4575 2.0128 0.0 0 +M V30 6 C -1.7579 2.7619 0.0 0 +M V30 7 N -1.7602 4.2628 0.0 0 +M V30 8 N -0.453 -2.4874 0.0 0 +M V30 9 O 2.1495 -3.6875 0.0 0 +M V30 10 O 3.1863 -1.8862 0.0 0 +M V30 11 H -1.4921 -1.8873 0.0 0 +M V30 12 H -2.8 4.8619 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 9 1 +M V30 2 1 1 2 +M V30 3 1 1 10 +M V30 4 1 2 8 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 4 5 +M V30 8 1 5 6 +M V30 9 1 6 7 +M V30 10 1 8 11 +M V30 11 1 7 12 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 0.519550 -0.300050 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300600 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 12) XBONDS=(1 11) BRKXYZ=(9 0.519900 -0.299550 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 11 10) BRKXYZ=(9 0.519- +M V30 250 0.300600 0.000000 -0.519900 0.299550 0.000000 0.000000 0.000000 0.- +M V30 000000) BRKXYZ=(9 -0.519550 0.300050 0.000000 0.000000 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000) LABEL=K CLASS=AA SAP=(3 8 11 Al) SAP=(3- +M V30 1 10 Br) SAP=(3 7 12 Cx) NATREPLACE=AA/K +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 15 AA/Asp/D/ NATREPLACE=AA/D +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.631 -1.5578 0.0 0 +M V30 2 O 1.6327 -2.7392 0.0 0 +M V30 3 C 0.3507 -0.8201 0.0 0 CFG=1 +M V30 4 N -0.9295 -1.5578 0.0 0 +M V30 5 H -1.9525 -0.9669 0.0 0 +M V30 6 C 0.3485 0.6575 0.0 0 +M V30 7 C -0.9317 1.3952 0.0 0 +M V30 8 O -1.9542 0.8032 0.0 0 +M V30 9 O -0.9335 2.5766 0.0 0 +M V30 10 O 2.6534 -0.9658 0.0 0 +M V30 11 H 0.0851 3.1751 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 7 8 +M V30 8 1 7 9 +M V30 9 1 1 10 +M V30 10 1 9 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.511500 -0.295450 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 -0.511200 -0.296000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.509300 -0.299250 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLA- +M V30 SS=LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 6 7 8 9) XBONDS=(3 9 4 10) BRKXYZ=(9 0.511200- +M V30 0.296000 0.000000 -0.511500 0.295450 0.000000 0.000000 0.000000 0.000- +M V30 000) BRKXYZ=(9 0.509300 0.299250 0.000000 0.000000 0.000000 0.000000 0- +M V30 .000000 0.000000 0.000000) LABEL=D CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 10- +M V30 Br) SAP=(3 9 11 Cx) NATREPLACE=AA/D +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 16 AA/Thr/T/ NATREPLACE=AA/T +M V30 BEGIN CTAB +M V30 COUNTS 10 9 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0488 -1.2558 0.0 0 +M V30 2 O 1.0481 -2.4369 0.0 0 +M V30 3 C -0.2297 -0.5156 0.0 0 CFG=1 +M V30 4 N -1.5081 -1.2558 0.0 0 +M V30 5 H -2.5321 -0.6672 0.0 0 +M V30 6 C -0.2289 0.9614 0.0 0 CFG=2 +M V30 7 O 0.7944 1.551 0.0 0 +M V30 8 C -1.251 1.5531 0.0 0 +M V30 9 O 2.072 -0.6661 0.0 0 +M V30 10 H 0.7866 2.7318 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 3 1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 CFG=1 +M V30 7 1 6 8 +M V30 8 1 1 9 +M V30 9 1 7 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 3 6) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.512000 -0.294300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.511600 -0.294850 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.003900 -0.590400 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 4 SUP 4 ATOMS=(7 1 2 3 4 6 7 8) XBONDS=(3 8 4 9) BRKXYZ=(9 0.511600 0.- +M V30 294850 0.000000 -0.512000 0.294300 0.000000 0.000000 0.000000 0.000000- +M V30 ) BRKXYZ=(9 -0.003900 0.590400 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000) LABEL=T CLASS=AA SAP=(3 4 5 Al) SAP=(3 1 9 Br- +M V30 ) SAP=(3 7 10 Cx) NATREPLACE=AA/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 17 AA/Tyr/Y/ NATREPLACE=AA/Y +M V30 BEGIN CTAB +M V30 COUNTS 15 15 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.2957 -1.9502 0.0 0 +M V30 2 O 2.2972 -2.8951 0.0 0 +M V30 3 C 1.2718 -1.3602 0.0 0 CFG=1 +M V30 4 N 0.2479 -1.9502 0.0 0 +M V30 5 H -0.5703 -1.4776 0.0 0 +M V30 6 C 1.2701 -0.1785 0.0 0 +M V30 7 C 0.2461 0.4114 0.0 0 +M V30 8 C 0.2426 1.5925 0.0 0 +M V30 9 C -0.782 2.1801 0.0 0 +M V30 10 C -1.8031 1.5866 0.0 0 +M V30 11 C -1.7996 0.4055 0.0 0 +M V30 12 C -0.7751 -0.182 0.0 0 +M V30 13 O -2.6228 2.0566 0.0 0 +M V30 14 O 3.1134 -1.4768 0.0 0 +M V30 15 H -2.6319 3.2381 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 1 8 7 +M V30 8 2 9 8 +M V30 9 1 10 9 +M V30 10 2 11 10 +M V30 11 2 12 7 +M V30 12 1 12 11 +M V30 13 1 10 13 +M V30 14 1 1 14 +M V30 15 1 13 15 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409100 -0.236300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 14) XBONDS=(1 14) BRKXYZ=(9 -0.408850 -0.236700 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 15) XBONDS=(1 15) BRKXYZ=(9 0.004550 -0.590750 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(12 1 2 3 4 6 7 8 9 10 11 12 13) XBONDS=(3 14 4 15) BRKX- +M V30 YZ=(9 0.408850 0.236700 0.000000 -0.409100 0.236300 0.000000 0.000000 - +M V30 0.000000 0.000000) BRKXYZ=(9 -0.004550 0.590750 0.000000 0.000000 0.00- +M V30 0000 0.000000 0.000000 0.000000 0.000000) LABEL=Y CLASS=AA SAP=(3 4 5 - +M V30 Al) SAP=(3 1 14 Br) SAP=(3 13 15 Cx) NATREPLACE=AA/Y +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 18 AA/His/H/ NATREPLACE=AA/H +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8978 -1.6508 0.0 0 +M V30 2 O 1.8993 -2.5957 0.0 0 +M V30 3 C 0.8739 -1.0609 0.0 0 CFG=1 +M V30 4 N -0.15 -1.6508 0.0 0 +M V30 5 H -0.9683 -1.1782 0.0 0 +M V30 6 C 0.872 0.1209 0.0 0 +M V30 7 C -0.1501 0.7098 0.0 0 +M V30 8 C -0.2771 1.8841 0.0 0 +M V30 9 N -1.433 2.1263 0.0 0 +M V30 10 C -2.0205 1.1016 0.0 0 +M V30 11 N -1.2277 0.2263 0.0 0 +M V30 12 O 2.7155 -1.1774 0.0 0 +M V30 13 H -2.0317 3.1449 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 8 7 +M V30 8 1 9 8 +M V30 9 1 10 9 +M V30 10 1 11 7 +M V30 11 2 11 10 +M V30 12 1 1 12 +M V30 13 1 9 13 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409150 -0.236300 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 -0.408850 -0.236700 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 13) BRKXYZ=(9 0.299350 -0.509300 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 4 SUP 4 ATOMS=(10 1 2 3 4 6 7 8 9 10 11) XBONDS=(3 12 4 13) BRKXYZ=(9 - +M V30 0.408850 0.236700 0.000000 -0.409150 0.236300 0.000000 0.000000 0.0000- +M V30 00 0.000000) BRKXYZ=(9 -0.299350 0.509300 0.000000 0.000000 0.000000 0- +M V30 .000000 0.000000 0.000000 0.000000) LABEL=H CLASS=AA SAP=(3 4 5 Al) SA- +M V30 P=(3 1 12 Br) SAP=(3 9 13 Cx) NATREPLACE=AA/H +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 19 AA/Trp/W/ NATREPLACE=AA/W +M V30 BEGIN CTAB +M V30 COUNTS 17 18 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 2.0938 -2.3551 0.0 0 +M V30 2 O 2.0952 -3.3 0.0 0 +M V30 3 C 1.0698 -1.7652 0.0 0 CFG=1 +M V30 4 N 0.0459 -2.3551 0.0 0 +M V30 5 H -0.7723 -1.8826 0.0 0 +M V30 6 C 1.068 -0.5835 0.0 0 +M V30 7 C 0.0458 0.0055 0.0 0 +M V30 8 C -1.0319 -0.4779 0.0 0 +M V30 9 N -1.8246 0.3978 0.0 0 +M V30 10 C -1.237 1.4216 0.0 0 +M V30 11 C -0.081 1.1793 0.0 0 +M V30 12 C 0.7068 2.0591 0.0 0 +M V30 13 C 0.3387 3.1814 0.0 0 +M V30 14 C -0.8173 3.4238 0.0 0 +M V30 15 C -1.6051 2.5438 0.0 0 +M V30 16 O 2.9114 -1.8818 0.0 0 +M V30 17 H -3.0061 0.3887 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 3 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 1 3 6 CFG=1 +M V30 6 1 6 7 +M V30 7 2 8 7 +M V30 8 1 9 8 +M V30 9 1 10 9 +M V30 10 1 11 7 +M V30 11 2 11 10 +M V30 12 1 11 12 +M V30 13 2 12 13 +M V30 14 1 13 14 +M V30 15 1 15 10 +M V30 16 2 14 15 +M V30 17 1 1 16 +M V30 18 1 9 17 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 3) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 0.409100 -0.236250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 16) XBONDS=(1 17) BRKXYZ=(9 -0.408800 -0.236650 0.000- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CL- +M V30 ASS=LGRP +M V30 3 SUP 3 ATOMS=(1 17) XBONDS=(1 18) BRKXYZ=(9 0.590750 0.004550 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 4 SUP 4 ATOMS=(14 1 2 3 4 6 7 8 9 10 11 12 13 14 15) XBONDS=(3 17 4 18- +M V30 ) BRKXYZ=(9 0.408800 0.236650 0.000000 -0.409100 0.236250 0.000000 0.0- +M V30 00000 0.000000 0.000000) BRKXYZ=(9 -0.590750 -0.004550 0.000000 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=W CLASS=AA SAP=- +M V30 (3 4 5 Al) SAP=(3 1 16 Br) SAP=(3 9 17 Cx) NATREPLACE=AA/W +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 20 AA/Met/M/ NATREPLACE=AA/M +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.6657 -1.56 0.0 0 +M V30 2 N -0.9351 -1.56 0.0 0 +M V30 3 O 1.6675 -2.76 0.0 0 +M V30 4 C 0.3653 -0.8107 0.0 0 CFG=1 +M V30 5 C 0.363 0.6901 0.0 0 +M V30 6 C -0.9373 1.4394 0.0 0 +M V30 7 C -1.9794 3.5393 0.0 0 +M V30 8 S -0.9396 2.9402 0.0 0 +M V30 9 O 2.7042 -0.9587 0.0 0 +M V30 10 H -1.9742 -0.9598 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 3 1 +M V30 2 1 1 4 +M V30 3 1 1 9 +M V30 4 1 4 2 +M V30 5 1 4 5 CFG=1 +M V30 6 1 5 6 +M V30 7 1 6 8 +M V30 8 1 8 7 +M V30 9 1 2 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 3 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=M CLASS=AA SAP=(3 2 10 Al) SAP=(3 1 9 Br) NATREPLACE=AA/M +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 21 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/Triplet.mol b/Code/GraphMol/FileParsers/test_data/macromols/Triplet.mol new file mode 100644 index 000000000..657009901 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/Triplet.mol @@ -0,0 +1,157 @@ + + -INDIGO-09042411402D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 3 2 0 0 0 +M V30 BEGIN ATOM +M V30 1 Cya 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 2 Br) +M V30 2 dC 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 1 Al 3 Br) +M V30 3 Phe_4I 4.25 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(2 2 Al) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Cya/Cya/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 11 10 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.411785 0.589238 0.0 0 +M V30 2 C 0.411179 -0.547431 0.0 0 CFG=1 +M V30 3 C 1.39486 -1.11698 0.0 0 +M V30 4 O 1.39433 -2.02583 0.0 0 +M V30 5 O 2.18238 -0.663234 0.0 0 +M V30 6 N -0.572576 -1.11698 0.0 0 +M V30 7 H -1.36055 -0.663991 0.0 0 +M V30 8 S -0.571894 1.15878 0.0 0 +M V30 9 O -0.571364 2.06764 0.0 0 +M V30 10 O -1.35941 0.705041 0.0 0 +M V30 11 O -1.35873 1.61374 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 CFG=1 +M V30 2 1 2 3 +M V30 3 2 3 4 +M V30 4 1 3 5 +M V30 5 1 2 6 +M V30 6 1 6 7 +M V30 7 1 1 8 +M V30 8 2 8 9 +M V30 9 2 8 10 +M V30 10 1 8 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.393987 -0.226493 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 5) XBONDS=(1 4) BRKXYZ=(9 -0.393760 -0.226872 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(9 1 2 3 4 6 8 9 10 11) XBONDS=(2 4 6) BRKXYZ=(9 0.39376- +M V30 0 0.226872 0.000000 -0.393987 0.226493 0.000000 0.000000 0.000000 0.00- +M V30 0000) LABEL=Cya CLASS=AA SAP=(3 6 7 Al) SAP=(3 3 5 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/dC/dC/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.07057 -0.839232 0.0 0 +M V30 2 C 0.107598 -0.28436 0.0 0 CFG=1 +M V30 3 C 0.105894 0.827013 0.0 0 +M V30 4 S -0.857004 1.38189 0.0 0 +M V30 5 N -0.855375 -0.839232 0.0 0 +M V30 6 O 1.0719 -1.72786 0.0 0 +M V30 7 O 1.8396 -0.393957 0.0 0 +M V30 8 H -1.62485 -0.394771 0.0 0 +M V30 9 H -0.858337 2.27051 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=3 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.384737 -0.222230 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.384515 -0.222637 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000666 -0.444312 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.384515 0.22- +M V30 2637 0.000000 -0.000666 0.444312 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.384737 0.222230 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=dC CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br)- +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Phe_4I/Phe_4I/ NATREPLACE=AA/F +M V30 BEGIN CTAB +M V30 COUNTS 14 14 3 0 0 +M V30 BEGIN ATOM +M V30 1 I -2.54047 -2.02915 0.0 0 +M V30 2 C -1.67314 -1.53176 0.0 0 +M V30 3 C -0.80874 -2.03422 0.0 0 +M V30 4 C 0.0585908 -1.53683 0.0 0 +M V30 5 C 0.0615237 -0.536983 0.0 0 +M V30 6 C 0.928321 -0.0375275 0.0 0 +M V30 7 C 0.929855 0.962849 0.0 0 CFG=2 +M V30 8 N 0.0630568 1.4623 0.0 0 +M V30 9 H -0.802741 0.962183 0.0 0 +M V30 10 C 1.79665 1.4623 0.0 0 +M V30 11 O 2.66198 0.961316 0.0 0 +M V30 12 O 1.79819 2.46215 0.0 0 +M V30 13 C -0.802874 -0.0345279 0.0 0 +M V30 14 C -1.67021 -0.531917 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 3 4 +M V30 4 2 4 5 +M V30 5 1 5 6 +M V30 6 1 7 6 CFG=3 +M V30 7 1 7 8 +M V30 8 1 8 9 +M V30 9 1 7 10 +M V30 10 1 10 11 +M V30 11 2 10 12 +M V30 12 1 5 13 +M V30 13 2 13 14 +M V30 14 1 2 14 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.432899 0.250061 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 10) BRKXYZ=(9 -0.432666 0.250494 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLA- +M V30 SS=LGRP +M V30 3 SUP 3 ATOMS=(12 1 2 3 4 5 6 7 8 10 12 13 14) XBONDS=(2 8 10) BRKXYZ=- +M V30 (9 -0.432899 -0.250061 0.000000 0.432666 -0.250494 0.000000 0.000000 0- +M V30 .000000 0.000000) LABEL=Phe_4I CLASS=AA SAP=(3 8 9 Al) SAP=(3 10 11 Br- +M V30 ) NATREPLACE=AA/F +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/badAtomName.mol b/Code/GraphMol/FileParsers/test_data/macromols/badAtomName.mol new file mode 100644 index 000000000..845ae2f2b --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/badAtomName.mol @@ -0,0 +1,267 @@ + + ACCLDraw11122415482D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 7 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.6016 -11.5026 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Zzz 2.5464 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 Gly 3.4913 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Br 2 Al) SEQID=3 +M V30 4 His 5.3811 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Al 5 Br) SEQID=5 +M V30 5 His 6.326 -11.5026 0 0 CLASS=AA ATTCHORD=(4 4 Al 7 Br) SEQID=6 +M V30 6 Pro 8.2157 -11.5026 0 0 CLASS=AA ATTCHORD=(2 7 Al) SEQID=8 +M V30 7 Cys 7.2709 -11.5026 0 0 CLASS=AA ATTCHORD=(4 5 Al 6 Br) SEQID=7 +M V30 8 Cys 4.4362 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Al 4 Br) SEQID=4 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 8 3 +M V30 4 1 4 8 +M V30 5 1 5 4 +M V30 6 1 5 7 +M V30 7 1 7 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.6016 -11.5026 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.8895 -7.3751 0 0 +M V30 2 H 9.8607 -7.3749 0 0 +M V30 3 H 10.9063 -6.5064 0 0 +M V30 4 O 11.929 -8.5562 0 0 +M V30 5 C 11.929 -7.3751 0 0 +M V30 6 O 10.9061 -3.241 0 0 +M V30 7 O 12.952 -3.241 0 0 +M V30 8 C 11.929 -3.8316 0 0 +M V30 9 C 11.929 -5.0128 0 0 +M V30 10 C 10.9061 -5.6034 0 0 +M V30 11 C 10.9061 -6.7845 0 0 CFG=2 +M V30 12 N 9.8835 -7.3749 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 5 4 +M V30 2 1 5 1 +M V30 3 1 6 3 +M V30 4 2 8 7 +M V30 5 1 8 6 +M V30 6 1 9 8 +M V30 7 1 10 9 +M V30 8 1 11 10 CFG=1 +M V30 9 1 11 5 +M V30 10 1 12 11 +M V30 11 1 12 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 3) CSTATE=(4 3 -0 -0.87 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 11) CSTATE=(4 11 1.05 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 2) CSTATE=(4 2 -0.98 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 12 11 10 5 9 8 7 6 4) XBONDS=(3 3 11 2) CSTATE=(4 3 0 - +M V30 0.87 0) CSTATE=(4 11 -1.05 0 0) CSTATE=(4 2 0.98 -0 0) LABEL=E - +M V30 CLASS=AA SAP=(3 5 1 Br) SAP=(3 12 2 Al) SAP=(3 6 3 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 11) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/His/H/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 13.6621 -5.9337 0 0 +M V30 2 H 12.1156 -8.5455 0 0 +M V30 3 O 13.8674 -8.5328 0 0 +M V30 4 O 13.6279 -9.3828 0 0 +M V30 5 C 13.6279 -8.5328 0 0 +M V30 6 N 12.2569 -8.5455 0 0 CFG=3 +M V30 7 C 12.9246 -8.0574 0 0 CFG=1 +M V30 8 C 12.9246 -7.2051 0 0 +M V30 9 C 13.6621 -6.7803 0 0 +M V30 10 C 14.4645 -7.0501 0 0 +M V30 11 H 12.9332 -7.5261 0 0 +M V30 12 C 14.4785 -5.6803 0 0 +M V30 13 N 14.9691 -6.3703 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 12 +M V30 2 1 9 1 +M V30 3 2 10 9 +M V30 4 1 13 10 +M V30 5 1 12 13 +M V30 6 1 6 2 +M V30 7 1 5 3 +M V30 8 1 13 11 +M V30 9 2 5 4 +M V30 10 1 7 5 +M V30 11 1 6 7 +M V30 12 1 7 8 CFG=1 +M V30 13 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 6) BRKXYZ=(9 -16.63 0.59 0 -16.62 -0.11 - +M V30 0 0 0 0) CSTATE=(4 6 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 7) BRKXYZ=(9 -14.2 -0.09 0 -14.2 0.61 0 - +M V30 0 0 0) CSTATE=(4 7 -0.93 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 8) BRKXYZ=(9 -13.87 2.71 0 -13.84 3.41 - +M V30 0 0 0 0) CSTATE=(4 8 0.01 -1.01 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(10 6 7 4 5 8 1 12 13 10 9) XBONDS=(3 7 8 6) BRKXYZ=(9 - +M V30 -14.39 0.61 0 -14.38 -0.09 0 0 0 0) BRKXYZ=(9 -12.94 2.75 0 - +M V30 -12.97 2.05 0 0 0 0) BRKXYZ=(9 -16.46 -0.11 0 -16.46 0.59 0 - +M V30 0 0 0) CSTATE=(4 7 0.93 0.01 0) CSTATE=(4 8 -0.01 1.01 0) - +M V30 CSTATE=(4 6 -0.83 -0.01 0) LABEL=H CLASS=AA SAP=(3 6 2 Al) - +M V30 SAP=(3 5 3 Br) SAP=(3 13 11 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 3.5033 -2.6912 0 0 +M V30 2 H 1.8241 -2.6775 0 0 +M V30 3 C 3.3512 -2.6646 0 0 +M V30 4 C 2.6882 -2.2195 0 0 CFG=2 +M V30 5 C 2.6882 -1.4139 0 0 +M V30 6 C 1.8317 -1.2885 0 0 +M V30 7 C 1.4465 -2.0649 0 0 +M V30 8 N 2.0634 -2.6791 0 0 CFG=3 +M V30 9 O 3.3512 -3.464 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 8 2 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 7 8 +M V30 8 1 8 4 +M V30 9 2 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 1) BRKXYZ=(9 3.87 -2.87 0 3.88 -2.47 0 - +M V30 0 0 0) CSTATE=(4 1 -0.8 0.02 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 2) BRKXYZ=(9 1.46 -2.47 0 1.47 -2.88 0 - +M V30 0 0 0) CSTATE=(4 2 0.88 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(7 3 4 5 6 7 8 9) XBONDS=(2 2 1) BRKXYZ=(9 0.8 -3.9 0 - +M V30 0.8 -0.91 0 0 0 0) CSTATE=(4 2 -0.88 -0.01 0) CSTATE=(4 1 0.8 - +M V30 -0.02 0) LABEL=P CLASS=AA SAP=(3 8 2 Al) SAP=(3 3 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.9063 -6.8946 0 0 +M V30 2 S 11.0183 -5.1898 0 0 +M V30 3 C 9.8926 -5.8385 0 0 +M V30 4 C 9.8926 -7.1376 0 0 CFG=1 +M V30 5 C 10.9757 -7.8552 0 0 +M V30 6 O 11.1331 -7.875 0 0 +M V30 7 O 10.9757 -9.1545 0 0 +M V30 8 N 8.8368 -7.8948 0 0 CFG=3 +M V30 9 H 8.633 -7.8748 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 CFG=1 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 8 4 +M V30 8 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 8 4 7 5 3 2) XBONDS=(3 8 5 1) CSTATE=(4 8 -1.27 0 0) - +M V30 CSTATE=(4 5 1.23 -0 0) CSTATE=(4 1 0 0.98 0) LABEL=C - +M V30 CLASS=AA SAP=(3 8 9 Al) SAP=(3 5 6 Br) SAP=(3 2 1 Cx) +M V30 2 SUP 2 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 -0 -0.98 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -1.23 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.27 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/badClass.mol b/Code/GraphMol/FileParsers/test_data/macromols/badClass.mol new file mode 100644 index 000000000..aaad7c34c --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/badClass.mol @@ -0,0 +1,267 @@ + + ACCLDraw11122415482D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 7 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.6016 -11.5026 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Glu 2.5464 -11.5026 0 0 CLASS=BB ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 Gly 3.4913 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Br 2 Al) SEQID=3 +M V30 4 His 5.3811 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Al 5 Br) SEQID=5 +M V30 5 His 6.326 -11.5026 0 0 CLASS=AA ATTCHORD=(4 4 Al 7 Br) SEQID=6 +M V30 6 Pro 8.2157 -11.5026 0 0 CLASS=AA ATTCHORD=(2 7 Al) SEQID=8 +M V30 7 Cys 7.2709 -11.5026 0 0 CLASS=AA ATTCHORD=(4 5 Al 6 Br) SEQID=7 +M V30 8 Cys 4.4362 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Al 4 Br) SEQID=4 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 8 3 +M V30 4 1 4 8 +M V30 5 1 5 4 +M V30 6 1 5 7 +M V30 7 1 7 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.6016 -11.5026 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.8895 -7.3751 0 0 +M V30 2 H 9.8607 -7.3749 0 0 +M V30 3 H 10.9063 -6.5064 0 0 +M V30 4 O 11.929 -8.5562 0 0 +M V30 5 C 11.929 -7.3751 0 0 +M V30 6 O 10.9061 -3.241 0 0 +M V30 7 O 12.952 -3.241 0 0 +M V30 8 C 11.929 -3.8316 0 0 +M V30 9 C 11.929 -5.0128 0 0 +M V30 10 C 10.9061 -5.6034 0 0 +M V30 11 C 10.9061 -6.7845 0 0 CFG=2 +M V30 12 N 9.8835 -7.3749 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 5 4 +M V30 2 1 5 1 +M V30 3 1 6 3 +M V30 4 2 8 7 +M V30 5 1 8 6 +M V30 6 1 9 8 +M V30 7 1 10 9 +M V30 8 1 11 10 CFG=1 +M V30 9 1 11 5 +M V30 10 1 12 11 +M V30 11 1 12 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 3) CSTATE=(4 3 -0 -0.87 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 11) CSTATE=(4 11 1.05 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 2) CSTATE=(4 2 -0.98 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 12 11 10 5 9 8 7 6 4) XBONDS=(3 3 11 2) CSTATE=(4 3 0 - +M V30 0.87 0) CSTATE=(4 11 -1.05 0 0) CSTATE=(4 2 0.98 -0 0) LABEL=E - +M V30 CLASS=AA SAP=(3 5 1 Br) SAP=(3 12 2 Al) SAP=(3 6 3 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 11) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/His/H/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 13.6621 -5.9337 0 0 +M V30 2 H 12.1156 -8.5455 0 0 +M V30 3 O 13.8674 -8.5328 0 0 +M V30 4 O 13.6279 -9.3828 0 0 +M V30 5 C 13.6279 -8.5328 0 0 +M V30 6 N 12.2569 -8.5455 0 0 CFG=3 +M V30 7 C 12.9246 -8.0574 0 0 CFG=1 +M V30 8 C 12.9246 -7.2051 0 0 +M V30 9 C 13.6621 -6.7803 0 0 +M V30 10 C 14.4645 -7.0501 0 0 +M V30 11 H 12.9332 -7.5261 0 0 +M V30 12 C 14.4785 -5.6803 0 0 +M V30 13 N 14.9691 -6.3703 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 12 +M V30 2 1 9 1 +M V30 3 2 10 9 +M V30 4 1 13 10 +M V30 5 1 12 13 +M V30 6 1 6 2 +M V30 7 1 5 3 +M V30 8 1 13 11 +M V30 9 2 5 4 +M V30 10 1 7 5 +M V30 11 1 6 7 +M V30 12 1 7 8 CFG=1 +M V30 13 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 6) BRKXYZ=(9 -16.63 0.59 0 -16.62 -0.11 - +M V30 0 0 0 0) CSTATE=(4 6 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 7) BRKXYZ=(9 -14.2 -0.09 0 -14.2 0.61 0 - +M V30 0 0 0) CSTATE=(4 7 -0.93 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 8) BRKXYZ=(9 -13.87 2.71 0 -13.84 3.41 - +M V30 0 0 0 0) CSTATE=(4 8 0.01 -1.01 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(10 6 7 4 5 8 1 12 13 10 9) XBONDS=(3 7 8 6) BRKXYZ=(9 - +M V30 -14.39 0.61 0 -14.38 -0.09 0 0 0 0) BRKXYZ=(9 -12.94 2.75 0 - +M V30 -12.97 2.05 0 0 0 0) BRKXYZ=(9 -16.46 -0.11 0 -16.46 0.59 0 - +M V30 0 0 0) CSTATE=(4 7 0.93 0.01 0) CSTATE=(4 8 -0.01 1.01 0) - +M V30 CSTATE=(4 6 -0.83 -0.01 0) LABEL=H CLASS=AA SAP=(3 6 2 Al) - +M V30 SAP=(3 5 3 Br) SAP=(3 13 11 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 3.5033 -2.6912 0 0 +M V30 2 H 1.8241 -2.6775 0 0 +M V30 3 C 3.3512 -2.6646 0 0 +M V30 4 C 2.6882 -2.2195 0 0 CFG=2 +M V30 5 C 2.6882 -1.4139 0 0 +M V30 6 C 1.8317 -1.2885 0 0 +M V30 7 C 1.4465 -2.0649 0 0 +M V30 8 N 2.0634 -2.6791 0 0 CFG=3 +M V30 9 O 3.3512 -3.464 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 8 2 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 7 8 +M V30 8 1 8 4 +M V30 9 2 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 1) BRKXYZ=(9 3.87 -2.87 0 3.88 -2.47 0 - +M V30 0 0 0) CSTATE=(4 1 -0.8 0.02 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 2) BRKXYZ=(9 1.46 -2.47 0 1.47 -2.88 0 - +M V30 0 0 0) CSTATE=(4 2 0.88 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(7 3 4 5 6 7 8 9) XBONDS=(2 2 1) BRKXYZ=(9 0.8 -3.9 0 - +M V30 0.8 -0.91 0 0 0 0) CSTATE=(4 2 -0.88 -0.01 0) CSTATE=(4 1 0.8 - +M V30 -0.02 0) LABEL=P CLASS=AA SAP=(3 8 2 Al) SAP=(3 3 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.9063 -6.8946 0 0 +M V30 2 S 11.0183 -5.1898 0 0 +M V30 3 C 9.8926 -5.8385 0 0 +M V30 4 C 9.8926 -7.1376 0 0 CFG=1 +M V30 5 C 10.9757 -7.8552 0 0 +M V30 6 O 11.1331 -7.875 0 0 +M V30 7 O 10.9757 -9.1545 0 0 +M V30 8 N 8.8368 -7.8948 0 0 CFG=3 +M V30 9 H 8.633 -7.8748 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 CFG=1 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 8 4 +M V30 8 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 8 4 7 5 3 2) XBONDS=(3 8 5 1) CSTATE=(4 8 -1.27 0 0) - +M V30 CSTATE=(4 5 1.23 -0 0) CSTATE=(4 1 0 0.98 0) LABEL=C - +M V30 CLASS=AA SAP=(3 8 9 Al) SAP=(3 5 6 Br) SAP=(3 2 1 Cx) +M V30 2 SUP 2 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 -0 -0.98 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -1.23 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.27 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/badClassTemlate.mol b/Code/GraphMol/FileParsers/test_data/macromols/badClassTemlate.mol new file mode 100644 index 000000000..fb8e88915 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/badClassTemlate.mol @@ -0,0 +1,267 @@ + + ACCLDraw11122415482D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 7 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.6016 -11.5026 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Glu 2.5464 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 Gly 3.4913 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Br 2 Al) SEQID=3 +M V30 4 His 5.3811 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Al 5 Br) SEQID=5 +M V30 5 His 6.326 -11.5026 0 0 CLASS=AA ATTCHORD=(4 4 Al 7 Br) SEQID=6 +M V30 6 Pro 8.2157 -11.5026 0 0 CLASS=AA ATTCHORD=(2 7 Al) SEQID=8 +M V30 7 Cys 7.2709 -11.5026 0 0 CLASS=AA ATTCHORD=(4 5 Al 6 Br) SEQID=7 +M V30 8 Cys 4.4362 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Al 4 Br) SEQID=4 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 8 3 +M V30 4 1 4 8 +M V30 5 1 5 4 +M V30 6 1 5 7 +M V30 7 1 7 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.6016 -11.5026 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 BB/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.8895 -7.3751 0 0 +M V30 2 H 9.8607 -7.3749 0 0 +M V30 3 H 10.9063 -6.5064 0 0 +M V30 4 O 11.929 -8.5562 0 0 +M V30 5 C 11.929 -7.3751 0 0 +M V30 6 O 10.9061 -3.241 0 0 +M V30 7 O 12.952 -3.241 0 0 +M V30 8 C 11.929 -3.8316 0 0 +M V30 9 C 11.929 -5.0128 0 0 +M V30 10 C 10.9061 -5.6034 0 0 +M V30 11 C 10.9061 -6.7845 0 0 CFG=2 +M V30 12 N 9.8835 -7.3749 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 5 4 +M V30 2 1 5 1 +M V30 3 1 6 3 +M V30 4 2 8 7 +M V30 5 1 8 6 +M V30 6 1 9 8 +M V30 7 1 10 9 +M V30 8 1 11 10 CFG=1 +M V30 9 1 11 5 +M V30 10 1 12 11 +M V30 11 1 12 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 3) CSTATE=(4 3 -0 -0.87 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 11) CSTATE=(4 11 1.05 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 2) CSTATE=(4 2 -0.98 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 12 11 10 5 9 8 7 6 4) XBONDS=(3 3 11 2) CSTATE=(4 3 0 - +M V30 0.87 0) CSTATE=(4 11 -1.05 0 0) CSTATE=(4 2 0.98 -0 0) LABEL=E - +M V30 CLASS=AA SAP=(3 5 1 Br) SAP=(3 12 2 Al) SAP=(3 6 3 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 11) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/His/H/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 13.6621 -5.9337 0 0 +M V30 2 H 12.1156 -8.5455 0 0 +M V30 3 O 13.8674 -8.5328 0 0 +M V30 4 O 13.6279 -9.3828 0 0 +M V30 5 C 13.6279 -8.5328 0 0 +M V30 6 N 12.2569 -8.5455 0 0 CFG=3 +M V30 7 C 12.9246 -8.0574 0 0 CFG=1 +M V30 8 C 12.9246 -7.2051 0 0 +M V30 9 C 13.6621 -6.7803 0 0 +M V30 10 C 14.4645 -7.0501 0 0 +M V30 11 H 12.9332 -7.5261 0 0 +M V30 12 C 14.4785 -5.6803 0 0 +M V30 13 N 14.9691 -6.3703 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 12 +M V30 2 1 9 1 +M V30 3 2 10 9 +M V30 4 1 13 10 +M V30 5 1 12 13 +M V30 6 1 6 2 +M V30 7 1 5 3 +M V30 8 1 13 11 +M V30 9 2 5 4 +M V30 10 1 7 5 +M V30 11 1 6 7 +M V30 12 1 7 8 CFG=1 +M V30 13 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 6) BRKXYZ=(9 -16.63 0.59 0 -16.62 -0.11 - +M V30 0 0 0 0) CSTATE=(4 6 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 7) BRKXYZ=(9 -14.2 -0.09 0 -14.2 0.61 0 - +M V30 0 0 0) CSTATE=(4 7 -0.93 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 8) BRKXYZ=(9 -13.87 2.71 0 -13.84 3.41 - +M V30 0 0 0 0) CSTATE=(4 8 0.01 -1.01 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(10 6 7 4 5 8 1 12 13 10 9) XBONDS=(3 7 8 6) BRKXYZ=(9 - +M V30 -14.39 0.61 0 -14.38 -0.09 0 0 0 0) BRKXYZ=(9 -12.94 2.75 0 - +M V30 -12.97 2.05 0 0 0 0) BRKXYZ=(9 -16.46 -0.11 0 -16.46 0.59 0 - +M V30 0 0 0) CSTATE=(4 7 0.93 0.01 0) CSTATE=(4 8 -0.01 1.01 0) - +M V30 CSTATE=(4 6 -0.83 -0.01 0) LABEL=H CLASS=AA SAP=(3 6 2 Al) - +M V30 SAP=(3 5 3 Br) SAP=(3 13 11 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 3.5033 -2.6912 0 0 +M V30 2 H 1.8241 -2.6775 0 0 +M V30 3 C 3.3512 -2.6646 0 0 +M V30 4 C 2.6882 -2.2195 0 0 CFG=2 +M V30 5 C 2.6882 -1.4139 0 0 +M V30 6 C 1.8317 -1.2885 0 0 +M V30 7 C 1.4465 -2.0649 0 0 +M V30 8 N 2.0634 -2.6791 0 0 CFG=3 +M V30 9 O 3.3512 -3.464 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 8 2 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 7 8 +M V30 8 1 8 4 +M V30 9 2 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 1) BRKXYZ=(9 3.87 -2.87 0 3.88 -2.47 0 - +M V30 0 0 0) CSTATE=(4 1 -0.8 0.02 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 2) BRKXYZ=(9 1.46 -2.47 0 1.47 -2.88 0 - +M V30 0 0 0) CSTATE=(4 2 0.88 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(7 3 4 5 6 7 8 9) XBONDS=(2 2 1) BRKXYZ=(9 0.8 -3.9 0 - +M V30 0.8 -0.91 0 0 0 0) CSTATE=(4 2 -0.88 -0.01 0) CSTATE=(4 1 0.8 - +M V30 -0.02 0) LABEL=P CLASS=AA SAP=(3 8 2 Al) SAP=(3 3 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.9063 -6.8946 0 0 +M V30 2 S 11.0183 -5.1898 0 0 +M V30 3 C 9.8926 -5.8385 0 0 +M V30 4 C 9.8926 -7.1376 0 0 CFG=1 +M V30 5 C 10.9757 -7.8552 0 0 +M V30 6 O 11.1331 -7.875 0 0 +M V30 7 O 10.9757 -9.1545 0 0 +M V30 8 N 8.8368 -7.8948 0 0 CFG=3 +M V30 9 H 8.633 -7.8748 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 CFG=1 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 8 4 +M V30 8 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 8 4 7 5 3 2) XBONDS=(3 8 5 1) CSTATE=(4 8 -1.27 0 0) - +M V30 CSTATE=(4 5 1.23 -0 0) CSTATE=(4 1 0 0.98 0) LABEL=C - +M V30 CLASS=AA SAP=(3 8 9 Al) SAP=(3 5 6 Br) SAP=(3 2 1 Cx) +M V30 2 SUP 2 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 -0 -0.98 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -1.23 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.27 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/badConnection.mol b/Code/GraphMol/FileParsers/test_data/macromols/badConnection.mol new file mode 100644 index 000000000..5a8874c1b --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/badConnection.mol @@ -0,0 +1,267 @@ + + ACCLDraw11122415482D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 7 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.6016 -11.5026 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Glu 2.5464 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Qq) SEQID=2 +M V30 3 Gly 3.4913 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Br 2 Al) SEQID=3 +M V30 4 His 5.3811 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Al 5 Br) SEQID=5 +M V30 5 His 6.326 -11.5026 0 0 CLASS=AA ATTCHORD=(4 4 Al 7 Br) SEQID=6 +M V30 6 Pro 8.2157 -11.5026 0 0 CLASS=AA ATTCHORD=(2 7 Al) SEQID=8 +M V30 7 Cys 7.2709 -11.5026 0 0 CLASS=AA ATTCHORD=(4 5 Al 6 Br) SEQID=7 +M V30 8 Cys 4.4362 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Al 4 Br) SEQID=4 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 8 3 +M V30 4 1 4 8 +M V30 5 1 5 4 +M V30 6 1 5 7 +M V30 7 1 7 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.6016 -11.5026 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.8895 -7.3751 0 0 +M V30 2 H 9.8607 -7.3749 0 0 +M V30 3 H 10.9063 -6.5064 0 0 +M V30 4 O 11.929 -8.5562 0 0 +M V30 5 C 11.929 -7.3751 0 0 +M V30 6 O 10.9061 -3.241 0 0 +M V30 7 O 12.952 -3.241 0 0 +M V30 8 C 11.929 -3.8316 0 0 +M V30 9 C 11.929 -5.0128 0 0 +M V30 10 C 10.9061 -5.6034 0 0 +M V30 11 C 10.9061 -6.7845 0 0 CFG=2 +M V30 12 N 9.8835 -7.3749 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 5 4 +M V30 2 1 5 1 +M V30 3 1 6 3 +M V30 4 2 8 7 +M V30 5 1 8 6 +M V30 6 1 9 8 +M V30 7 1 10 9 +M V30 8 1 11 10 CFG=1 +M V30 9 1 11 5 +M V30 10 1 12 11 +M V30 11 1 12 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 3) CSTATE=(4 3 -0 -0.87 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 11) CSTATE=(4 11 1.05 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 2) CSTATE=(4 2 -0.98 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 12 11 10 5 9 8 7 6 4) XBONDS=(3 3 11 2) CSTATE=(4 3 0 - +M V30 0.87 0) CSTATE=(4 11 -1.05 0 0) CSTATE=(4 2 0.98 -0 0) LABEL=E - +M V30 CLASS=AA SAP=(3 5 1 Br) SAP=(3 12 2 Al) SAP=(3 6 3 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 11) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/His/H/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 13.6621 -5.9337 0 0 +M V30 2 H 12.1156 -8.5455 0 0 +M V30 3 O 13.8674 -8.5328 0 0 +M V30 4 O 13.6279 -9.3828 0 0 +M V30 5 C 13.6279 -8.5328 0 0 +M V30 6 N 12.2569 -8.5455 0 0 CFG=3 +M V30 7 C 12.9246 -8.0574 0 0 CFG=1 +M V30 8 C 12.9246 -7.2051 0 0 +M V30 9 C 13.6621 -6.7803 0 0 +M V30 10 C 14.4645 -7.0501 0 0 +M V30 11 H 12.9332 -7.5261 0 0 +M V30 12 C 14.4785 -5.6803 0 0 +M V30 13 N 14.9691 -6.3703 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 12 +M V30 2 1 9 1 +M V30 3 2 10 9 +M V30 4 1 13 10 +M V30 5 1 12 13 +M V30 6 1 6 2 +M V30 7 1 5 3 +M V30 8 1 13 11 +M V30 9 2 5 4 +M V30 10 1 7 5 +M V30 11 1 6 7 +M V30 12 1 7 8 CFG=1 +M V30 13 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 6) BRKXYZ=(9 -16.63 0.59 0 -16.62 -0.11 - +M V30 0 0 0 0) CSTATE=(4 6 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 7) BRKXYZ=(9 -14.2 -0.09 0 -14.2 0.61 0 - +M V30 0 0 0) CSTATE=(4 7 -0.93 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 8) BRKXYZ=(9 -13.87 2.71 0 -13.84 3.41 - +M V30 0 0 0 0) CSTATE=(4 8 0.01 -1.01 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(10 6 7 4 5 8 1 12 13 10 9) XBONDS=(3 7 8 6) BRKXYZ=(9 - +M V30 -14.39 0.61 0 -14.38 -0.09 0 0 0 0) BRKXYZ=(9 -12.94 2.75 0 - +M V30 -12.97 2.05 0 0 0 0) BRKXYZ=(9 -16.46 -0.11 0 -16.46 0.59 0 - +M V30 0 0 0) CSTATE=(4 7 0.93 0.01 0) CSTATE=(4 8 -0.01 1.01 0) - +M V30 CSTATE=(4 6 -0.83 -0.01 0) LABEL=H CLASS=AA SAP=(3 6 2 Al) - +M V30 SAP=(3 5 3 Br) SAP=(3 13 11 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 3.5033 -2.6912 0 0 +M V30 2 H 1.8241 -2.6775 0 0 +M V30 3 C 3.3512 -2.6646 0 0 +M V30 4 C 2.6882 -2.2195 0 0 CFG=2 +M V30 5 C 2.6882 -1.4139 0 0 +M V30 6 C 1.8317 -1.2885 0 0 +M V30 7 C 1.4465 -2.0649 0 0 +M V30 8 N 2.0634 -2.6791 0 0 CFG=3 +M V30 9 O 3.3512 -3.464 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 8 2 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 7 8 +M V30 8 1 8 4 +M V30 9 2 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 1) BRKXYZ=(9 3.87 -2.87 0 3.88 -2.47 0 - +M V30 0 0 0) CSTATE=(4 1 -0.8 0.02 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 2) BRKXYZ=(9 1.46 -2.47 0 1.47 -2.88 0 - +M V30 0 0 0) CSTATE=(4 2 0.88 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(7 3 4 5 6 7 8 9) XBONDS=(2 2 1) BRKXYZ=(9 0.8 -3.9 0 - +M V30 0.8 -0.91 0 0 0 0) CSTATE=(4 2 -0.88 -0.01 0) CSTATE=(4 1 0.8 - +M V30 -0.02 0) LABEL=P CLASS=AA SAP=(3 8 2 Al) SAP=(3 3 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.9063 -6.8946 0 0 +M V30 2 S 11.0183 -5.1898 0 0 +M V30 3 C 9.8926 -5.8385 0 0 +M V30 4 C 9.8926 -7.1376 0 0 CFG=1 +M V30 5 C 10.9757 -7.8552 0 0 +M V30 6 O 11.1331 -7.875 0 0 +M V30 7 O 10.9757 -9.1545 0 0 +M V30 8 N 8.8368 -7.8948 0 0 CFG=3 +M V30 9 H 8.633 -7.8748 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 CFG=1 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 8 4 +M V30 8 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 8 4 7 5 3 2) XBONDS=(3 8 5 1) CSTATE=(4 8 -1.27 0 0) - +M V30 CSTATE=(4 5 1.23 -0 0) CSTATE=(4 1 0 0.98 0) LABEL=C - +M V30 CLASS=AA SAP=(3 8 9 Al) SAP=(3 5 6 Br) SAP=(3 2 1 Cx) +M V30 2 SUP 2 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 -0 -0.98 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -1.23 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.27 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/badMissingTemplate.mol b/Code/GraphMol/FileParsers/test_data/macromols/badMissingTemplate.mol new file mode 100644 index 000000000..cc42210e7 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/badMissingTemplate.mol @@ -0,0 +1,233 @@ + + ACCLDraw11122415482D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 7 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.6016 -11.5026 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Glu 2.5464 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 Gly 3.4913 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Br 2 Al) SEQID=3 +M V30 4 His 5.3811 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Al 5 Br) SEQID=5 +M V30 5 His 6.326 -11.5026 0 0 CLASS=AA ATTCHORD=(4 4 Al 7 Br) SEQID=6 +M V30 6 Pro 8.2157 -11.5026 0 0 CLASS=AA ATTCHORD=(2 7 Al) SEQID=8 +M V30 7 Cys 7.2709 -11.5026 0 0 CLASS=AA ATTCHORD=(4 5 Al 6 Br) SEQID=7 +M V30 8 Cys 4.4362 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Al 4 Br) SEQID=4 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 8 3 +M V30 4 1 4 8 +M V30 5 1 5 4 +M V30 6 1 5 7 +M V30 7 1 7 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.6016 -11.5026 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.8895 -7.3751 0 0 +M V30 2 H 9.8607 -7.3749 0 0 +M V30 3 H 10.9063 -6.5064 0 0 +M V30 4 O 11.929 -8.5562 0 0 +M V30 5 C 11.929 -7.3751 0 0 +M V30 6 O 10.9061 -3.241 0 0 +M V30 7 O 12.952 -3.241 0 0 +M V30 8 C 11.929 -3.8316 0 0 +M V30 9 C 11.929 -5.0128 0 0 +M V30 10 C 10.9061 -5.6034 0 0 +M V30 11 C 10.9061 -6.7845 0 0 CFG=2 +M V30 12 N 9.8835 -7.3749 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 5 4 +M V30 2 1 5 1 +M V30 3 1 6 3 +M V30 4 2 8 7 +M V30 5 1 8 6 +M V30 6 1 9 8 +M V30 7 1 10 9 +M V30 8 1 11 10 CFG=1 +M V30 9 1 11 5 +M V30 10 1 12 11 +M V30 11 1 12 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 3) CSTATE=(4 3 -0 -0.87 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 11) CSTATE=(4 11 1.05 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 2) CSTATE=(4 2 -0.98 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 12 11 10 5 9 8 7 6 4) XBONDS=(3 3 11 2) CSTATE=(4 3 0 - +M V30 0.87 0) CSTATE=(4 11 -1.05 0 0) CSTATE=(4 2 0.98 -0 0) LABEL=E - +M V30 CLASS=AA SAP=(3 5 1 Br) SAP=(3 12 2 Al) SAP=(3 6 3 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 11) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/His/H/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 13.6621 -5.9337 0 0 +M V30 2 H 12.1156 -8.5455 0 0 +M V30 3 O 13.8674 -8.5328 0 0 +M V30 4 O 13.6279 -9.3828 0 0 +M V30 5 C 13.6279 -8.5328 0 0 +M V30 6 N 12.2569 -8.5455 0 0 CFG=3 +M V30 7 C 12.9246 -8.0574 0 0 CFG=1 +M V30 8 C 12.9246 -7.2051 0 0 +M V30 9 C 13.6621 -6.7803 0 0 +M V30 10 C 14.4645 -7.0501 0 0 +M V30 11 H 12.9332 -7.5261 0 0 +M V30 12 C 14.4785 -5.6803 0 0 +M V30 13 N 14.9691 -6.3703 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 12 +M V30 2 1 9 1 +M V30 3 2 10 9 +M V30 4 1 13 10 +M V30 5 1 12 13 +M V30 6 1 6 2 +M V30 7 1 5 3 +M V30 8 1 13 11 +M V30 9 2 5 4 +M V30 10 1 7 5 +M V30 11 1 6 7 +M V30 12 1 7 8 CFG=1 +M V30 13 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 6) BRKXYZ=(9 -16.63 0.59 0 -16.62 -0.11 - +M V30 0 0 0 0) CSTATE=(4 6 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 7) BRKXYZ=(9 -14.2 -0.09 0 -14.2 0.61 0 - +M V30 0 0 0) CSTATE=(4 7 -0.93 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 8) BRKXYZ=(9 -13.87 2.71 0 -13.84 3.41 - +M V30 0 0 0 0) CSTATE=(4 8 0.01 -1.01 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(10 6 7 4 5 8 1 12 13 10 9) XBONDS=(3 7 8 6) BRKXYZ=(9 - +M V30 -14.39 0.61 0 -14.38 -0.09 0 0 0 0) BRKXYZ=(9 -12.94 2.75 0 - +M V30 -12.97 2.05 0 0 0 0) BRKXYZ=(9 -16.46 -0.11 0 -16.46 0.59 0 - +M V30 0 0 0) CSTATE=(4 7 0.93 0.01 0) CSTATE=(4 8 -0.01 1.01 0) - +M V30 CSTATE=(4 6 -0.83 -0.01 0) LABEL=H CLASS=AA SAP=(3 6 2 Al) - +M V30 SAP=(3 5 3 Br) SAP=(3 13 11 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 3.5033 -2.6912 0 0 +M V30 2 H 1.8241 -2.6775 0 0 +M V30 3 C 3.3512 -2.6646 0 0 +M V30 4 C 2.6882 -2.2195 0 0 CFG=2 +M V30 5 C 2.6882 -1.4139 0 0 +M V30 6 C 1.8317 -1.2885 0 0 +M V30 7 C 1.4465 -2.0649 0 0 +M V30 8 N 2.0634 -2.6791 0 0 CFG=3 +M V30 9 O 3.3512 -3.464 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 8 2 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 7 8 +M V30 8 1 8 4 +M V30 9 2 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 1) BRKXYZ=(9 3.87 -2.87 0 3.88 -2.47 0 - +M V30 0 0 0) CSTATE=(4 1 -0.8 0.02 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 2) BRKXYZ=(9 1.46 -2.47 0 1.47 -2.88 0 - +M V30 0 0 0) CSTATE=(4 2 0.88 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(7 3 4 5 6 7 8 9) XBONDS=(2 2 1) BRKXYZ=(9 0.8 -3.9 0 - +M V30 0.8 -0.91 0 0 0 0) CSTATE=(4 2 -0.88 -0.01 0) CSTATE=(4 1 0.8 - +M V30 -0.02 0) LABEL=P CLASS=AA SAP=(3 8 2 Al) SAP=(3 3 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.9063 -6.8946 0 0 +M V30 2 S 11.0183 -5.1898 0 0 +M V30 3 C 9.8926 -5.8385 0 0 +M V30 4 C 9.8926 -7.1376 0 0 CFG=1 +M V30 5 C 10.9757 -7.8552 0 0 +M V30 6 O 11.1331 -7.875 0 0 +M V30 7 O 10.9757 -9.1545 0 0 +M V30 8 N 8.8368 -7.8948 0 0 CFG=3 +M V30 9 H 8.633 -7.8748 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 CFG=1 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 8 4 +M V30 8 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 8 4 7 5 3 2) XBONDS=(3 8 5 1) CSTATE=(4 8 -1.27 0 0) - +M V30 CSTATE=(4 5 1.23 -0 0) CSTATE=(4 1 0 0.98 0) LABEL=C - +M V30 CLASS=AA SAP=(3 8 9 Al) SAP=(3 5 6 Br) SAP=(3 2 1 Cx) +M V30 2 SUP 2 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 -0 -0.98 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -1.23 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.27 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/cyclic.mol b/Code/GraphMol/FileParsers/test_data/macromols/cyclic.mol new file mode 100644 index 000000000..8f1e45bf4 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/cyclic.mol @@ -0,0 +1,221 @@ + + -INDIGO-12312410052D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 9 0 0 0 +M V30 BEGIN ATOM +M V30 1 A 1.025 -2.875 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(4 8 Al 2 Br) +M V30 2 G 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(4 3 Br 1 Al) +M V30 3 G 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 2 Al 4 Br) +M V30 4 C 4.25 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(6 3 Al 5 Br 7 Cx) +M V30 5 L 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 4 Al 6 Br) +M V30 6 P 5.825 -2.8 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 5 Al 7 Br) +M V30 7 C 4.225 -2.925 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(6 6 Al 8 Br 4 Cx) +M V30 8 A 2.475 -2.975 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 7 Al 1 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 3 +M V30 2 1 3 4 +M V30 3 1 4 5 +M V30 4 1 5 6 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 1 8 1 +M V30 8 1 4 7 +M V30 9 1 1 2 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.0018 1.6555 0.0 0 +M V30 2 C -1.4799 1.889 0.0 0 +M V30 3 C -2.1599 0.5519 0.0 0 +M V30 4 N -1.0984 -0.5079 0.0 0 +M V30 5 C 0.2376 0.1741 0.0 0 CFG=2 +M V30 6 C 1.5717 -0.5079 0.0 0 +M V30 7 O 1.6336 -1.7063 0.0 0 +M V30 8 O 2.5787 0.1448 0.0 0 +M V30 9 H -1.2852 -1.6933 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.093400 0.592700 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.503500 -0.326350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.093400 -0.- +M V30 592700 0.000000 0.503500 0.326350 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/obj3dFoundTwice.mol b/Code/GraphMol/FileParsers/test_data/macromols/obj3dFoundTwice.mol new file mode 100644 index 000000000..5371b7200 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/obj3dFoundTwice.mol @@ -0,0 +1,143 @@ +1 A G meS A G +ACCLDraw03281611052D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 5 4 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.5563 -9.2328 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Gly 2.7137 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 meS 3.8712 -9.23 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Ala 5.4539 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 Gly 6.6114 -9.23 0 0 CLASS=AA ATTCHORD=(2 4 Al) SEQID=5 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 +M V30 4 1 5 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.5563 -9.2328 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 7 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN OBJ3D +M V30 1 -7 6 "" 0 0 BASIS=(3 6 4 2) +M V30 2 -5 13 "" 0 0 BASIS=(6 1 2 3 4 5 6) +M V30 3 -8 7 "" 0 0 BASIS=(2 O3D.1 O3D.2) +M V30 4 -3 6 "" -2 0 BASIS=(2 O3D.1 O3D.3) PNTDIR=1 +M V30 5 -16 12 "" 1.5 0 BASIS=(1 O3D.4) UNCONNOK=1 +M V30 6 -12 10 "" 75 105 BASIS=(3 O3D.4 O3D.1 7) +M V30 7 -9 3 "" 4.4 5.7 BASIS=(2 7 O3D.1) +M V30 END OBJ3D +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 BEGIN OBJ3D +M V30 1 -7 6 "" 0 0 BASIS=(3 6 4 2) +M V30 2 -5 13 "" 0 0 BASIS=(6 1 2 3 4 5 6) +M V30 3 -8 7 "" 0 0 BASIS=(2 O3D.1 O3D.2) +M V30 4 -3 6 "" -2 0 BASIS=(2 O3D.1 O3D.3) PNTDIR=1 +M V30 5 -16 12 "" 1.5 0 BASIS=(1 O3D.4) UNCONNOK=1 +M V30 6 -12 10 "" 75 105 BASIS=(3 O3D.4 O3D.1 7) +M V30 7 -9 3 "" 4.4 5.7 BASIS=(2 7 O3D.1) +M V30 END OBJ3D +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/meS/meS/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 C 9.9525 -5.6641 0 0 +M V30 2 O 9.9451 -6.8641 0 0 +M V30 3 N 7.3518 -5.6442 0 0 CFG=3 +M V30 4 C 8.6579 -4.9049 0 0 CFG=1 +M V30 5 C 8.6671 -3.4041 0 0 +M V30 6 O 7.6319 -2.7971 0 0 +M V30 7 C 6.3173 -5.0361 0 0 +M V30 8 O 10.8217 -5.1697 0 0 +M V30 9 H 7.3436 -6.6442 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 4 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 5 6 +M V30 6 1 3 7 +M V30 7 1 1 8 +M V30 8 1 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 7 8) CSTATE=(4 7 2.17 0.48 - +M V30 0) CSTATE=(4 8 -1.31 -0.99 0) LABEL=meS CLASS=AA SAP=(3 1 8 Br) - +M V30 SAP=(3 3 9 Al) NATREPLACE=AA/S +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 -2.17 -0.48 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.31 0.99 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/obj3dTest.mol b/Code/GraphMol/FileParsers/test_data/macromols/obj3dTest.mol new file mode 100644 index 000000000..6335cdb61 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/obj3dTest.mol @@ -0,0 +1,134 @@ +1 A G meS A G +ACCLDraw03281611052D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 5 4 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.5563 -9.2328 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Gly 2.7137 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 meS 3.8712 -9.23 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Ala 5.4539 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 Gly 6.6114 -9.23 0 0 CLASS=AA ATTCHORD=(2 4 Al) SEQID=5 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 +M V30 4 1 5 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.5563 -9.2328 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 7 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN OBJ3D +M V30 1 -7 6 "" 0 0 BASIS=(3 6 4 2) +M V30 2 -5 13 "" 0 0 BASIS=(6 1 2 3 4 5 6) +M V30 3 -8 7 "" 0 0 BASIS=(2 O3D.1 O3D.2) +M V30 4 -3 6 "" -2 0 BASIS=(2 O3D.1 O3D.3) PNTDIR=1 +M V30 5 -16 12 "" 1.5 0 BASIS=(1 O3D.4) UNCONNOK=1 +M V30 6 -12 10 "" 75 105 BASIS=(3 O3D.4 O3D.1 7) +M V30 7 -9 3 "" 4.4 5.7 BASIS=(2 7 O3D.1) +M V30 END OBJ3D +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/meS/meS/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 C 9.9525 -5.6641 0 0 +M V30 2 O 9.9451 -6.8641 0 0 +M V30 3 N 7.3518 -5.6442 0 0 CFG=3 +M V30 4 C 8.6579 -4.9049 0 0 CFG=1 +M V30 5 C 8.6671 -3.4041 0 0 +M V30 6 O 7.6319 -2.7971 0 0 +M V30 7 C 6.3173 -5.0361 0 0 +M V30 8 O 10.8217 -5.1697 0 0 +M V30 9 H 7.3436 -6.6442 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 4 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 5 6 +M V30 6 1 3 7 +M V30 7 1 1 8 +M V30 8 1 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 7 8) CSTATE=(4 7 2.17 0.48 - +M V30 0) CSTATE=(4 8 -1.31 -0.99 0) LABEL=meS CLASS=AA SAP=(3 1 8 Br) - +M V30 SAP=(3 3 9 Al) NATREPLACE=AA/S +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 -2.17 -0.48 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.31 0.99 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/obj3dTest2.mol b/Code/GraphMol/FileParsers/test_data/macromols/obj3dTest2.mol new file mode 100644 index 000000000..700e8ffff --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/obj3dTest2.mol @@ -0,0 +1,134 @@ +1 A G meS A G +ACCLDraw03281611052D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 5 4 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.5563 -9.2328 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Gly 2.7137 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 meS 3.8712 -9.23 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Ala 5.4539 -9.23 0 0 CLASS=AA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 Gly 6.6114 -9.23 0 0 CLASS=AA ATTCHORD=(2 4 Al) SEQID=5 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 +M V30 4 1 5 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.5563 -9.2328 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 7 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 BEGIN OBJ3D +M V30 1 -7 6 "" 0 0 BASIS=(3 6 4 2) +M V30 2 -5 13 "" 0 0 BASIS=(6 1 2 3 4 5 6) +M V30 3 -8 7 "" 0 0 BASIS=(2 O3D.1 O3D.2) +M V30 4 -3 6 "" -2 0 BASIS=(2 O3D.1 O3D.3) PNTDIR=1 +M V30 5 -16 12 "" 1.5 0 BASIS=(1 O3D.4) UNCONNOK=1 +M V30 6 -12 10 "" 75 105 BASIS=(3 O3D.4 O3D.1 7) +M V30 7 -9 3 "" 4.4 5.7 BASIS=(2 7 O3D.1) +M V30 END OBJ3D +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/meS/meS/ NATREPLACE=AA/S +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 C 9.9525 -5.6641 0 0 +M V30 2 O 9.9451 -6.8641 0 0 +M V30 3 N 7.3518 -5.6442 0 0 CFG=3 +M V30 4 C 8.6579 -4.9049 0 0 CFG=1 +M V30 5 C 8.6671 -3.4041 0 0 +M V30 6 O 7.6319 -2.7971 0 0 +M V30 7 C 6.3173 -5.0361 0 0 +M V30 8 O 10.8217 -5.1697 0 0 +M V30 9 H 7.3436 -6.6442 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 2 1 +M V30 2 1 1 4 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 5 6 +M V30 6 1 3 7 +M V30 7 1 1 8 +M V30 8 1 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 7 8) CSTATE=(4 7 2.17 0.48 - +M V30 0) CSTATE=(4 8 -1.31 -0.99 0) LABEL=meS CLASS=AA SAP=(3 1 8 Br) - +M V30 SAP=(3 3 9 Al) NATREPLACE=AA/S +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 -2.17 -0.48 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.31 0.99 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/testSCSR.mol b/Code/GraphMol/FileParsers/test_data/macromols/testSCSR.mol new file mode 100644 index 000000000..6b1b03435 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/testSCSR.mol @@ -0,0 +1,267 @@ + + ACCLDraw11122415482D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 7 1 0 1 +M V30 BEGIN ATOM +M V30 1 Ala 1.6016 -11.5026 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Glu 2.5464 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Br 1 Al) SEQID=2 +M V30 3 Gly 3.4913 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Br 2 Al) SEQID=3 +M V30 4 His 5.3811 -11.5026 0 0 CLASS=AA ATTCHORD=(4 8 Al 5 Br) SEQID=5 +M V30 5 His 6.326 -11.5026 0 0 CLASS=AA ATTCHORD=(4 4 Al 7 Br) SEQID=6 +M V30 6 Pro 8.2157 -11.5026 0 0 CLASS=AA ATTCHORD=(2 7 Al) SEQID=8 +M V30 7 Cys 7.2709 -11.5026 0 0 CLASS=AA ATTCHORD=(4 5 Al 6 Br) SEQID=7 +M V30 8 Cys 4.4362 -11.5026 0 0 CLASS=AA ATTCHORD=(4 3 Al 4 Br) SEQID=4 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 8 3 +M V30 4 1 4 8 +M V30 5 1 5 4 +M V30 6 1 5 7 +M V30 7 1 7 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 DAT 1 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 1.6016 -11.5026 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 6.6266 -2.0662 0 0 +M V30 2 H 5.0016 -2.0876 0 0 +M V30 3 N 5.1358 -2.0784 0 0 CFG=3 +M V30 4 C 5.7844 -1.5983 0 0 CFG=2 +M V30 5 C 6.4753 -2.0653 0 0 +M V30 6 O 6.4753 -2.8977 0 0 +M V30 7 C 5.7844 -0.7662 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 4 +M V30 2 1 4 5 +M V30 3 2 5 6 +M V30 4 1 4 7 CFG=1 +M V30 5 1 3 2 +M V30 6 1 5 1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 6) BRKXYZ=(9 7.02 -2.26 0 7.02 -1.85 0 - +M V30 0 0 0) CSTATE=(4 6 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 5) BRKXYZ=(9 4.58 -1.87 0 4.6 -2.28 0 - +M V30 0 0 0) CSTATE=(4 5 0.8 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(5 3 4 5 6 7) XBONDS=(2 5 6) BRKXYZ=(9 3.95 -3.33 0 3.95 - +M V30 -0.38 0 0 0 0) CSTATE=(4 5 -0.8 -0.02 0) CSTATE=(4 6 0.82 0.01 - +M V30 0) LABEL=A CLASS=AA SAP=(3 3 2 Al) SAP=(3 5 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.8895 -7.3751 0 0 +M V30 2 H 9.8607 -7.3749 0 0 +M V30 3 H 10.9063 -6.5064 0 0 +M V30 4 O 11.929 -8.5562 0 0 +M V30 5 C 11.929 -7.3751 0 0 +M V30 6 O 10.9061 -3.241 0 0 +M V30 7 O 12.952 -3.241 0 0 +M V30 8 C 11.929 -3.8316 0 0 +M V30 9 C 11.929 -5.0128 0 0 +M V30 10 C 10.9061 -5.6034 0 0 +M V30 11 C 10.9061 -6.7845 0 0 CFG=2 +M V30 12 N 9.8835 -7.3749 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 5 4 +M V30 2 1 5 1 +M V30 3 1 6 3 +M V30 4 2 8 7 +M V30 5 1 8 6 +M V30 6 1 9 8 +M V30 7 1 10 9 +M V30 8 1 11 10 CFG=1 +M V30 9 1 11 5 +M V30 10 1 12 11 +M V30 11 1 12 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 3) XBONDS=(1 3) CSTATE=(4 3 -0 -0.87 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 11) CSTATE=(4 11 1.05 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 2) CSTATE=(4 2 -0.98 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 12 11 10 5 9 8 7 6 4) XBONDS=(3 3 11 2) CSTATE=(4 3 0 - +M V30 0.87 0) CSTATE=(4 11 -1.05 0 0) CSTATE=(4 2 0.98 -0 0) LABEL=E - +M V30 CLASS=AA SAP=(3 5 1 Br) SAP=(3 12 2 Al) SAP=(3 6 3 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 11) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 AA/Gly/G/ +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 N 3.676 -12.5274 0 0 CFG=3 +M V30 2 C 4.2675 -12.095 0 0 +M V30 3 O 4.8932 -13.2691 0 0 +M V30 4 C 4.8904 -12.5161 0 0 +M V30 5 O 5.1042 -12.5167 0 0 +M V30 6 H 3.4542 -12.5125 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 4 +M V30 3 2 4 3 +M V30 4 1 4 5 +M V30 5 1 1 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 5) XBONDS=(1 4) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(4 1 2 3 4) XBONDS=(2 4 5) CSTATE=(4 4 0.82 0.01 0) - +M V30 CSTATE=(4 5 -0.83 0.01 0) LABEL=G CLASS=AA SAP=(3 4 5 Br) - +M V30 SAP=(3 1 6 Al) +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/His/H/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 13.6621 -5.9337 0 0 +M V30 2 H 12.1156 -8.5455 0 0 +M V30 3 O 13.8674 -8.5328 0 0 +M V30 4 O 13.6279 -9.3828 0 0 +M V30 5 C 13.6279 -8.5328 0 0 +M V30 6 N 12.2569 -8.5455 0 0 CFG=3 +M V30 7 C 12.9246 -8.0574 0 0 CFG=1 +M V30 8 C 12.9246 -7.2051 0 0 +M V30 9 C 13.6621 -6.7803 0 0 +M V30 10 C 14.4645 -7.0501 0 0 +M V30 11 H 12.9332 -7.5261 0 0 +M V30 12 C 14.4785 -5.6803 0 0 +M V30 13 N 14.9691 -6.3703 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 12 +M V30 2 1 9 1 +M V30 3 2 10 9 +M V30 4 1 13 10 +M V30 5 1 12 13 +M V30 6 1 6 2 +M V30 7 1 5 3 +M V30 8 1 13 11 +M V30 9 2 5 4 +M V30 10 1 7 5 +M V30 11 1 6 7 +M V30 12 1 7 8 CFG=1 +M V30 13 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 6) BRKXYZ=(9 -16.63 0.59 0 -16.62 -0.11 - +M V30 0 0 0 0) CSTATE=(4 6 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 7) BRKXYZ=(9 -14.2 -0.09 0 -14.2 0.61 0 - +M V30 0 0 0) CSTATE=(4 7 -0.93 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 11) XBONDS=(1 8) BRKXYZ=(9 -13.87 2.71 0 -13.84 3.41 - +M V30 0 0 0 0) CSTATE=(4 8 0.01 -1.01 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(10 6 7 4 5 8 1 12 13 10 9) XBONDS=(3 7 8 6) BRKXYZ=(9 - +M V30 -14.39 0.61 0 -14.38 -0.09 0 0 0 0) BRKXYZ=(9 -12.94 2.75 0 - +M V30 -12.97 2.05 0 0 0 0) BRKXYZ=(9 -16.46 -0.11 0 -16.46 0.59 0 - +M V30 0 0 0) CSTATE=(4 7 0.93 0.01 0) CSTATE=(4 8 -0.01 1.01 0) - +M V30 CSTATE=(4 6 -0.83 -0.01 0) LABEL=H CLASS=AA SAP=(3 6 2 Al) - +M V30 SAP=(3 5 3 Br) SAP=(3 13 11 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 3.5033 -2.6912 0 0 +M V30 2 H 1.8241 -2.6775 0 0 +M V30 3 C 3.3512 -2.6646 0 0 +M V30 4 C 2.6882 -2.2195 0 0 CFG=2 +M V30 5 C 2.6882 -1.4139 0 0 +M V30 6 C 1.8317 -1.2885 0 0 +M V30 7 C 1.4465 -2.0649 0 0 +M V30 8 N 2.0634 -2.6791 0 0 CFG=3 +M V30 9 O 3.3512 -3.464 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 8 2 +M V30 3 1 4 3 +M V30 4 1 4 5 CFG=1 +M V30 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 7 8 +M V30 8 1 8 4 +M V30 9 2 3 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 1) XBONDS=(1 1) BRKXYZ=(9 3.87 -2.87 0 3.88 -2.47 0 - +M V30 0 0 0) CSTATE=(4 1 -0.8 0.02 0) LABEL=OH CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 2) XBONDS=(1 2) BRKXYZ=(9 1.46 -2.47 0 1.47 -2.88 0 - +M V30 0 0 0) CSTATE=(4 2 0.88 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(7 3 4 5 6 7 8 9) XBONDS=(2 2 1) BRKXYZ=(9 0.8 -3.9 0 - +M V30 0.8 -0.91 0 0 0 0) CSTATE=(4 2 -0.88 -0.01 0) CSTATE=(4 1 0.8 - +M V30 -0.02 0) LABEL=P CLASS=AA SAP=(3 8 2 Al) SAP=(3 3 1 Br) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.9063 -6.8946 0 0 +M V30 2 S 11.0183 -5.1898 0 0 +M V30 3 C 9.8926 -5.8385 0 0 +M V30 4 C 9.8926 -7.1376 0 0 CFG=1 +M V30 5 C 10.9757 -7.8552 0 0 +M V30 6 O 11.1331 -7.875 0 0 +M V30 7 O 10.9757 -9.1545 0 0 +M V30 8 N 8.8368 -7.8948 0 0 CFG=3 +M V30 9 H 8.633 -7.8748 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 4 3 CFG=1 +M V30 4 1 4 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 8 4 +M V30 8 1 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 8 4 7 5 3 2) XBONDS=(3 8 5 1) CSTATE=(4 8 -1.27 0 0) - +M V30 CSTATE=(4 5 1.23 -0 0) CSTATE=(4 1 0 0.98 0) LABEL=C - +M V30 CLASS=AA SAP=(3 8 9 Al) SAP=(3 5 6 Br) SAP=(3 2 1 Cx) +M V30 2 SUP 2 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 -0 -0.98 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -1.23 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 8) CSTATE=(4 8 1.27 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 4) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/wobblePairs.mol b/Code/GraphMol/FileParsers/test_data/macromols/wobblePairs.mol new file mode 100644 index 000000000..1f5fff32e --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/wobblePairs.mol @@ -0,0 +1,328 @@ + + -INDIGO-01232511012D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 22 24 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 In 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 11 Ch) +M V30 3 R 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8 Br) +M V30 4 In 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 14 Ch) +M V30 5 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 Br) +M V30 6 R 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 10 Br) +M V30 7 In 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 6 Al 17 Ch) +M V30 8 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 6 Br 3 Al) +M V30 9 R 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 10 Al 21 Cx) +M V30 10 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 Br) +M V30 11 C 1.25 -4.25 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 12 Al 2 Ch) +M V30 12 R 1.25 -5.75 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 11 Cx 13 Br) +M V30 13 P 2.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 12 Al 15 Br) +M V30 14 U 4.25 -4.25 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 15 Al 4 Ch) +M V30 15 R 4.25 -5.75 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 14 Cx 13 Al 16 B- +M V30 r) +M V30 16 P 5.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 18 Br 15 Al) +M V30 17 A 7.25 -4.25 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 18 Al 7 Ch) +M V30 18 R 7.25 -5.75 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 17 Cx 19 Br 16 A- +M V30 l) +M V30 19 P 8.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 18 Al 20 Br) +M V30 20 R 10.25 -5.75 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 19 Al 22 Cx) +M V30 21 G 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 9 Al 22 Ch) +M V30 22 U 10.25 -4.25 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 20 Al 21 Ch) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 8 6 +M V30 7 1 6 10 +M V30 8 1 10 9 +M V30 9 1 11 12 +M V30 10 1 12 13 +M V30 11 10 2 11 +M V30 12 1 14 15 +M V30 13 1 13 15 +M V30 14 10 4 14 +M V30 15 1 17 18 +M V30 16 1 18 19 +M V30 17 1 16 18 +M V30 18 10 7 17 +M V30 19 1 19 20 +M V30 20 1 22 20 +M V30 21 1 9 21 +M V30 22 10 21 22 +M V30 23 1 3 8 +M V30 24 1 15 16 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 BASE/In/In NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=I CLASS=BASE SAP=(3 7 11 Al) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FileParsers/test_data/macromols/wobblePairs2.mol b/Code/GraphMol/FileParsers/test_data/macromols/wobblePairs2.mol new file mode 100644 index 000000000..0d1cf9217 --- /dev/null +++ b/Code/GraphMol/FileParsers/test_data/macromols/wobblePairs2.mol @@ -0,0 +1,328 @@ + + -INDIGO-01272508152D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 22 24 0 0 0 +M V30 BEGIN ATOM +M V30 1 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 C 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 20 Ch) +M V30 3 R 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8 Br) +M V30 4 U 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 21 Ch) +M V30 5 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 Br) +M V30 6 R 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 11 Br) +M V30 7 A 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 6 Al 22 Ch) +M V30 8 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 3 Al 6 Br) +M V30 9 R 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 10 Cx 11 Al) +M V30 10 U 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 9 Al 19 Ch) +M V30 11 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 Br) +M V30 12 R 1.25 -5.75 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 13 Br 20 Cx) +M V30 13 P 2.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 12 Al 14 Br) +M V30 14 R 4.25 -5.75 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 15 Br 13 Al 21 C- +M V30 x) +M V30 15 P 5.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 14 Al 16 Br) +M V30 16 R 7.25 -5.75 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 17 Br 15 Al 22 C- +M V30 x) +M V30 17 P 8.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 16 Al 18 Br) +M V30 18 R 10.25 -5.75 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 19 Cx 17 Al) +M V30 19 G 10.25 -4.25 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 18 Al 10 Ch) +M V30 20 In 1.29737 -4.21062 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 12 Al 2 Ch) +M V30 21 In 4.34142 -4.29677 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 14 Al 4 Ch) +M V30 22 In 7.29932 -4.44036 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 16 Al 7 Ch) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 3 8 +M V30 7 1 8 6 +M V30 8 1 9 10 +M V30 9 1 6 11 +M V30 10 1 11 9 +M V30 11 1 12 13 +M V30 12 1 14 15 +M V30 13 1 13 14 +M V30 14 1 16 17 +M V30 15 1 15 16 +M V30 16 1 18 19 +M V30 17 1 17 18 +M V30 18 10 10 19 +M V30 19 1 12 20 +M V30 20 1 14 21 +M V30 21 1 16 22 +M V30 22 10 7 22 +M V30 23 10 4 21 +M V30 24 10 2 20 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/In/I NATREPLACE=BASE/X +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=In CLASS=BASE SAP=(3 7 11 Al) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/X +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Code/GraphMol/FindRings.cpp b/Code/GraphMol/FindRings.cpp index 9f10e448e..7866762c2 100644 --- a/Code/GraphMol/FindRings.cpp +++ b/Code/GraphMol/FindRings.cpp @@ -825,16 +825,18 @@ bool findRingConnectingAtoms(const ROMol &tMol, const Bond *bond, namespace RDKit { namespace MolOps { -int findSSSR(const ROMol &mol, VECT_INT_VECT *res, bool includeDativeBonds) { +int findSSSR(const ROMol &mol, VECT_INT_VECT *res, bool includeDativeBonds, + bool includeHydrogenBonds) { if (!res) { VECT_INT_VECT rings; - return findSSSR(mol, rings, includeDativeBonds); + return findSSSR(mol, rings, includeDativeBonds, includeHydrogenBonds); } else { - return findSSSR(mol, (*res), includeDativeBonds); + return findSSSR(mol, (*res), includeDativeBonds, includeHydrogenBonds); } } -int findSSSR(const ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds) { +int findSSSR(const ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds, + bool includeHydrogenBonds) { res.resize(0); if (mol.getRingInfo()->isInitialized()) { mol.getRingInfo()->reset(); @@ -849,14 +851,15 @@ int findSSSR(const ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds) { boost::dynamic_bitset<> activeBonds(nbnds); activeBonds.set(); - // Zero-order bonds are not candidates for rings, and dative bonds may also be - // out + // Zero-order bonds are not candidates for rings, and dative bonds and + // hydrogen bonds may also be out ROMol::EDGE_ITER firstB, lastB; boost::tie(firstB, lastB) = mol.getEdges(); while (firstB != lastB) { const Bond *bond = mol[*firstB]; - if (bond->getBondType() == Bond::ZERO || - (!includeDativeBonds && isDative(*bond))) { + auto bt = bond->getBondType(); + if (bt == Bond::ZERO || (!includeDativeBonds && isDative(bt)) || + (!includeHydrogenBonds && bt == Bond::HYDROGEN)) { activeBonds[bond->getIdx()] = 0; } ++firstB; @@ -873,8 +876,9 @@ int findSSSR(const ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds) { atomDegrees[i] = deg; atomDegreesWithZeroOrderBonds[i] = deg; for (const auto bond : mol.atomBonds(atom)) { - if (bond->getBondType() == Bond::ZERO || - (!includeDativeBonds && isDative(*bond))) { + auto bt = bond->getBondType(); + if (bt == Bond::ZERO || (!includeHydrogenBonds && bt == Bond::HYDROGEN) || + (!includeDativeBonds && isDative(bt))) { atomDegrees[i]--; } } @@ -1066,18 +1070,20 @@ int findSSSR(const ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds) { return rdcast(res.size()); } -int symmetrizeSSSR(ROMol &mol, bool includeDativeBonds) { +int symmetrizeSSSR(ROMol &mol, bool includeDativeBonds, + bool includeHydrogenBonds) { VECT_INT_VECT tmp; - return symmetrizeSSSR(mol, tmp, includeDativeBonds); + return symmetrizeSSSR(mol, tmp, includeDativeBonds, includeHydrogenBonds); }; -int symmetrizeSSSR(ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds) { +int symmetrizeSSSR(ROMol &mol, VECT_INT_VECT &res, bool includeDativeBonds, + bool includeHydrogenBonds) { res.clear(); VECT_INT_VECT sssrs; // FIX: need to set flag here the symmetrization has been done in order to // avoid repeating this work - findSSSR(mol, sssrs, includeDativeBonds); + findSSSR(mol, sssrs, includeDativeBonds, includeHydrogenBonds); // reinit as SYMM_SSSR mol.getRingInfo()->initialize(FIND_RING_TYPE_SYMM_SSSR); diff --git a/Code/GraphMol/MolOps.h b/Code/GraphMol/MolOps.h index 60984810f..ed25e4ba9 100644 --- a/Code/GraphMol/MolOps.h +++ b/Code/GraphMol/MolOps.h @@ -831,11 +831,13 @@ RDKIT_GRAPHMOL_EXPORT void setHybridization(ROMol &mol); */ RDKIT_GRAPHMOL_EXPORT int findSSSR(const ROMol &mol, std::vector> &res, - bool includeDativeBonds = false); + bool includeDativeBonds = false, + bool includeHydrogenBonds = false); //! \overload RDKIT_GRAPHMOL_EXPORT int findSSSR(const ROMol &mol, std::vector> *res = nullptr, - bool includeDativeBonds = false); + bool includeDativeBonds = false, + bool includeHydrogenBonds = false); //! use a DFS algorithm to identify ring bonds and atoms in a molecule /*! @@ -876,10 +878,12 @@ RDKIT_GRAPHMOL_EXPORT void findRingFamilies(const ROMol &mol); */ RDKIT_GRAPHMOL_EXPORT int symmetrizeSSSR(ROMol &mol, std::vector> &res, - bool includeDativeBonds = false); + bool includeDativeBonds = false, + bool includeHydrogenBonds = false); //! \overload RDKIT_GRAPHMOL_EXPORT int symmetrizeSSSR(ROMol &mol, - bool includeDativeBonds = false); + bool includeDativeBonds = false, + bool includeHydrogenBonds = false); //! @} diff --git a/Code/GraphMol/SmilesParse/CXSmilesOps.cpp b/Code/GraphMol/SmilesParse/CXSmilesOps.cpp index ffa05d967..0f045b0a5 100644 --- a/Code/GraphMol/SmilesParse/CXSmilesOps.cpp +++ b/Code/GraphMol/SmilesParse/CXSmilesOps.cpp @@ -2255,14 +2255,15 @@ std::string get_bond_config_block( return res; } -std::string get_coordbonds_block(const ROMol &mol, - const std::vector &atomOrder, - const std::vector &bondOrder) { +std::string get_coord_or_hydrogen_bonds_block( + const ROMol &mol, Bond::BondType bondType, std::string symbol, + const std::vector &atomOrder, + const std::vector &bondOrder) { std::string res = ""; for (unsigned int i = 0; i < bondOrder.size(); ++i) { auto idx = bondOrder[i]; const auto bond = mol.getBondWithIdx(idx); - if (bond->getBondType() != Bond::BondType::DATIVE) { + if (bond->getBondType() != bondType) { continue; } auto begAtomOrder = @@ -2271,7 +2272,7 @@ std::string get_coordbonds_block(const ROMol &mol, if (!res.empty()) { res += ","; } else { - res = "C:"; + res = symbol + ":"; } res += boost::str(boost::format("%d.%d") % begAtomOrder % i); } @@ -2589,7 +2590,14 @@ std::string getCXExtensions(const ROMol &mol, std::uint32_t flags) { } if (flags & SmilesWrite::CXSmilesFields::CX_COORDINATE_BONDS) { - const auto block = get_coordbonds_block(mol, atomOrder, bondOrder); + const auto block = get_coord_or_hydrogen_bonds_block( + mol, Bond::BondType::DATIVE, "C", atomOrder, bondOrder); + appendToCXExtension(block, res); + } + + if (flags & SmilesWrite::CXSmilesFields::CX_HYDROGEN_BONDS) { + const auto block = get_coord_or_hydrogen_bonds_block( + mol, Bond::BondType::HYDROGEN, "H", atomOrder, bondOrder); appendToCXExtension(block, res); } diff --git a/Code/GraphMol/SmilesParse/SmilesWrite.cpp b/Code/GraphMol/SmilesParse/SmilesWrite.cpp index fe542305f..1b58dbba6 100644 --- a/Code/GraphMol/SmilesParse/SmilesWrite.cpp +++ b/Code/GraphMol/SmilesParse/SmilesWrite.cpp @@ -601,7 +601,22 @@ std::string MolToSmiles(const ROMol &mol, const SmilesWriteParams ¶ms, } } + + // if we are doing CXSMILES, Hydrogen bonds are shown as single bonds + // in the smiles part, and are indicated with the H: block of the CX + // extensions + + if (doingCXSmiles) { + for (auto bond : tmol->bonds()) { + if (bond->getBondType() == Bond::HYDROGEN) { + bond->setBondType(Bond::SINGLE); + } + } + } + + rootedAtAtom = fragsRootedAtAtom[fragIdx]; + if (params.doRandom && rootedAtAtom == -1) { // need to find a random atom id between 0 and mol.getNumAtoms() // exclusively diff --git a/Code/GraphMol/SmilesParse/SmilesWrite.h b/Code/GraphMol/SmilesParse/SmilesWrite.h index f7d77384c..4bb8e3907 100644 --- a/Code/GraphMol/SmilesParse/SmilesWrite.h +++ b/Code/GraphMol/SmilesParse/SmilesWrite.h @@ -68,7 +68,8 @@ BETTER_ENUM(CXSmilesFields, uint32_t, // clang-format off CX_BOND_CFG = 1 << 9, CX_BOND_ATROPISOMER = 1 << 10, CX_COORDINATE_BONDS = 1 << 11, - CX_ZERO_BONDS = 1 << 12, + CX_HYDROGEN_BONDS = 1 << 12, + CX_ZERO_BONDS = 1 << 13, CX_ALL = 0x7fffffff, CX_ALL_BUT_COORDS = CX_ALL ^ CX_COORDS ); diff --git a/Code/GraphMol/SmilesParse/catch_tests.cpp b/Code/GraphMol/SmilesParse/catch_tests.cpp index eb5d2d553..356f0e343 100644 --- a/Code/GraphMol/SmilesParse/catch_tests.cpp +++ b/Code/GraphMol/SmilesParse/catch_tests.cpp @@ -29,6 +29,7 @@ #include #include #include +#include using namespace RDKit; @@ -3082,6 +3083,74 @@ TEST_CASE("trimethylcyclohexane") { } } +TEST_CASE("DnaTestError", "DnaTestError") { + SECTION("basics") { + auto smi = + "[H]OC[C@H]1O[C@@H]2[C@H](O)[C@@H]1OP(=O)(O)OC[C@H]1O[C@@H]3[C@H](O)[C@@H]1OP(=O)(O)OC[C@H]1O[C@@H]4[C@H](O)[C@@H]1OP(=O)(O)OC[C@H]1O[C@@H]5[C@H](O)[C@@H]1OP(=O)(O)OC[C@H]1O[C@@H]6[C@H](O)[C@@H]1OP(=O)(O)OC[C@H]1O[C@H]([C@H](O)[C@@H]1O[H])N1C=CC7=N8~N9C(=NC%10=C(N=CN%10[C@@H]%10O[C@H](COP(=O)(O)O[C@H]%11[C@@H](O)[C@@H](O[C@@H]%11COP(=O)(O)O[C@H]%11[C@@H](O)[C@@H](O[C@@H]%11COP(=O)(O)O[C@H]%11[C@@H](O)[C@@H](O[C@@H]%11COP(=O)(O)O[C@H]%11[C@@H](O)[C@@H](O[C@@H]%11COP(=O)(O)O[C@H]%11[C@@H](O)[C@@H](O[C@@H]%11CO[H])N%11C=NC%12=C%11N=C%11~O=C%13N2C=CC2=O~NC%12=N%11~N2%13)N2C=NC%11=C2N=C2N~O=C%12N3C=CC3=N%12~N2C%11=O~N3)N2C=CC3=N%11~N%12C(=NC%13=C(N=CN%134)C%12=O~N3)N~O=C2%11)N2C=C(C)C3=O~NC4=N%11~N3C2=O~C%11=NC2=C4N=CN25)N2C=NC3=C2N=C2~O=C4N6C=CC5=O~NC3=N2~N54)[C@@H](O[H])[C@H]%10O)C9=O~N7)N~O=C18 |(4.67218,-35.5914,;5.34598,-36.5843,;6.84288,-36.4764,;7.68418,-37.7162,;7.17218,-39.1261,;8.35478,-40.0487,;9.59778,-39.2091,;10.7257,-39.6187,;9.18338,-37.7674,;10.1024,-36.5843,;17.9626,-38.0598,;18.5623,-39.0992,;18.5623,-37.0204,;25.2033,-36.5843,;26.7002,-36.4764,;27.5415,-37.7162,;27.0295,-39.1261,;28.2121,-40.0487,;29.4551,-39.2091,;30.583,-39.6187,;29.0407,-37.7674,;29.9597,-36.5843,;37.8199,-38.0598,;38.4196,-39.0992,;38.4196,-37.0204,;45.0606,-36.5843,;46.5575,-36.4764,;47.3988,-37.7162,;46.8868,-39.1261,;48.0694,-40.0487,;49.3124,-39.2091,;50.4403,-39.6187,;48.898,-37.7674,;49.817,-36.5843,;57.6772,-38.0598,;58.2769,-39.0992,;58.2769,-37.0204,;64.9179,-36.5843,;66.4148,-36.4764,;67.2561,-37.7162,;66.7441,-39.1261,;67.9267,-40.0487,;69.1697,-39.2091,;70.2976,-39.6187,;68.7553,-37.7674,;69.6743,-36.5843,;77.5345,-38.0598,;78.1342,-39.0992,;78.1342,-37.0204,;84.7752,-36.5843,;86.2721,-36.4764,;87.1134,-37.7162,;86.6014,-39.1261,;87.784,-40.0487,;89.027,-39.2091,;90.1549,-39.6187,;88.6126,-37.7674,;89.5316,-36.5843,;97.3918,-38.0598,;97.9915,-39.0992,;97.9915,-37.0204,;104.632,-36.5843,;106.129,-36.4764,;106.971,-37.7162,;106.459,-39.1261,;107.641,-40.0487,;108.884,-39.2091,;110.012,-39.6187,;108.47,-37.7674,;109.389,-36.5843,;110.578,-36.7473,;106.21,-27.8713,;106.96,-26.5723,;108.46,-26.5724,;109.21,-27.8714,;108.46,-29.1704,;109.007,-16.4468,;107.581,-15.9834,;106.466,-16.9872,;106.778,-18.4544,;108.205,-18.9178,;108.205,-20.417,;106.778,-20.8806,;105.897,-19.6672,;107.641,-10.2628,;106.459,-9.34016,;106.971,-7.93026,;106.129,-6.69046,;104.632,-6.79836,;97.3918,-8.27388,;97.9915,-9.31328,;97.9915,-7.23447,;89.5316,-6.79836,;88.6126,-7.98146,;89.027,-9.42316,;90.1549,-9.83276,;87.784,-10.2628,;86.6014,-9.34016,;87.1134,-7.93026,;86.2721,-6.69046,;84.7752,-6.79836,;77.5345,-8.27388,;78.1342,-9.31328,;78.1342,-7.23447,;69.6743,-6.79836,;68.7553,-7.98146,;69.1697,-9.42316,;70.2976,-9.83276,;67.9267,-10.2628,;66.7441,-9.34016,;67.2561,-7.93026,;66.4148,-6.69046,;64.9179,-6.79836,;57.6772,-8.27388,;58.2769,-9.31328,;58.2769,-7.23447,;49.817,-6.79836,;48.898,-7.98146,;49.3124,-9.42316,;50.4403,-9.83276,;48.0694,-10.2628,;46.8868,-9.34016,;47.3988,-7.93026,;46.5575,-6.69046,;45.0606,-6.79836,;37.8199,-8.27388,;38.4196,-9.31328,;38.4196,-7.23447,;29.9597,-6.79836,;29.0407,-7.98146,;29.4551,-9.42316,;30.583,-9.83276,;28.2121,-10.2628,;27.0295,-9.34016,;27.5415,-7.93026,;26.7002,-6.69046,;25.2033,-6.79836,;17.9626,-8.27388,;18.5623,-9.31328,;18.5623,-7.23447,;10.1024,-6.79836,;9.18338,-7.98146,;9.59778,-9.42316,;10.7257,-9.83276,;8.35478,-10.2628,;7.17218,-9.34016,;7.68418,-7.93026,;6.84288,-6.69046,;5.34598,-6.79836,;4.67218,-5.80546,;6.58934,-19.3588,;7.47114,-20.5722,;8.89774,-20.1086,;8.89724,-18.6094,;7.47074,-18.146,;7.15874,-16.6788,;8.27334,-15.675,;7.07393,-26.0527,;7.67393,-27.0919,;6.92393,-28.3909,;7.67383,-29.69,;9.17383,-29.69,;9.92383,-28.391,;11.1239,-28.391,;11.1532,-17.9763,;10.0118,-17.6056,;9.69994,-16.1384,;9.17383,-27.092,;26.4675,-19.6672,;27.3493,-20.8806,;28.7759,-20.417,;28.7754,-18.9178,;27.3489,-18.4544,;27.0369,-16.9872,;28.1515,-15.9834,;27.9019,-14.8096,;26.9311,-30.2096,;27.5312,-29.1704,;26.7813,-27.8713,;27.5313,-26.5723,;29.0312,-26.5724,;29.7812,-27.8714,;29.0312,-29.1704,;29.5781,-16.4468,;29.89,-17.914,;31.0314,-18.2847,;30.9813,-27.8714,;46.6386,-17.9427,;47.3886,-16.6437,;48.8885,-16.6438,;49.6385,-17.9428,;48.8885,-19.2418,;49.4354,-26.3755,;48.0088,-25.9121,;46.8942,-26.9159,;47.2062,-28.3831,;48.6327,-28.8465,;48.6332,-30.3457,;47.2066,-30.8093,;46.3248,-29.5959,;49.7473,-27.8427,;50.8887,-28.2134,;50.8386,-17.9428,;47.7592,-24.7383,;46.7884,-20.281,;47.3885,-19.2418,;66.3458,-18.2025,;67.0957,-19.5016,;68.5957,-19.5016,;69.1957,-20.5409,;69.3457,-18.2026,;70.5458,-18.2026,;70.7251,-27.9049,;69.5837,-27.5342,;69.2718,-26.067,;68.5957,-16.9036,;67.0958,-16.9035,;66.4958,-15.8643,;67.8452,-25.6036,;66.7306,-26.6074,;67.0426,-28.0746,;68.4691,-28.538,;68.4696,-30.0372,;67.043,-30.5008,;66.1612,-29.2874,;86.0185,-19.3588,;86.9003,-20.5722,;88.3269,-20.1086,;88.3264,-18.6094,;86.8999,-18.146,;86.5879,-16.6788,;87.7025,-15.675,;86.5031,-26.0527,;87.1031,-27.0919,;86.3531,-28.3909,;87.103,-29.69,;88.603,-29.69,;89.353,-28.391,;90.5531,-28.391,;90.5824,-17.9763,;89.441,-17.6056,;89.1291,-16.1384,;88.603,-27.092,;108.47,-7.98146,;109.389,-6.79836,;110.578,-6.96136,;108.884,-9.42316,;110.012,-9.83276,;109.319,-17.914,;110.461,-18.2847,;110.41,-27.8714,;107.331,-14.8096,;106.36,-30.2096,;106.96,-29.1704,),wD:3.2,15.15,27.28,39.41,51.54,63.67,65.76,84.90,86.93,96.103,98.106,108.116,110.119,120.129,122.132,132.142,134.145,144.155,146.158,wU:5.4,6.6,8.9,17.17,18.19,20.22,29.30,30.32,32.35,41.43,42.45,44.48,53.56,54.58,56.61,66.71,68.74,93.99,94.101,105.112,106.114,117.125,118.127,129.138,130.140,141.151,142.153,243.285,246.289,H:76.81,156.169,164.177,166.182,175.194,183.203,185.208,191.215,202.228,204.231,211.241,215.244,217.249,231.268,239.276,241.281,249.293,251.296,a:3,5,6,8,15,17,18,20,27,29,30,32,39,41,42,44,51,53,54,56,63,65,66,68,84,86,93,94,96,98,105,106,108,110,117,118,120,122,129,130,132,134,141,142,144,146,243,246|"; + RDKit::v2::SmilesParse::SmilesParserParams sp; + sp.sanitize = false; + sp.removeHs = false; + sp.strictCXSMILES = false; + sp.removeHs = false; + + auto mol = MolFromSmiles(smi, sp); + RDKit::Chirality::removeNonExplicit3DChirality(*(mol.get())); + + CHECK(mol); + CHECK(mol->getNumAtoms() == 254); + CHECK(mol->getNumBonds() == 300); + + // do the operations to the mol + + unsigned int operationThatFailed = 0; + const unsigned int sanitizeOps = RDKit::MolOps::SANITIZE_ALL ^ + RDKit::MolOps::SANITIZE_CLEANUP ^ + RDKit::MolOps::SANITIZE_PROPERTIES; + + RDKit::MolOps::sanitizeMol(*mol, operationThatFailed, sanitizeOps); + + RDKit::MolOps::RemoveHsParameters removeParams; + removeParams.removeHydrides = true; + removeParams.removeInSGroups = true; + removeParams.removeMapped = true; + removeParams.removeNonimplicit = true; + removeParams.removeWithWedgedBond = true; + + RDKit::MolOps::removeHs(*mol, removeParams, false); + + // 2nd sanitize pass + + RDKit::MolOps::sanitizeMol(*mol, operationThatFailed, sanitizeOps); + + std::string expectedOutSmi = + "Cc1cn2[C@@H]3O[C@@H]4COP(=O)(O)O[C@H]5[C@@H](O)[C@@H]6n7ccc8NO=c9c%10ncn([C@@H]%11O[C@H](COP(=O)(O)O[C@H]%12[C@@H](O)[C@@H]%13n%14ccc%15NO=c%16c%17ncn([C@@H]%18O[C@H](COP(=O)(O)O[C@H]%19[C@@H](O)[C@H](n%20cnc%21c%22NO=c%23ccn([C@@H]%24O[C@H](CO)[C@@H](OP(=O)(O)OC[C@H]%12O%13)[C@H]%24O)c%12=Oc(nc%21%20)n%22-[nH]%23%12)O[C@@H]%19CO)[C@@H](OP(=O)(O)OC[C@H]5O6)[C@H]%18O)c%17nc5NO=c%14n%15-[nH]5%16)[C@@H](OP(=O)(O)OC[C@H]5O[C@@H](n6cnc%12c%13NO=c1[nH]1-n%13c(O=c21)nc%126)[C@H](O)[C@@H]5OP(=O)(O)OC[C@H]1O[C@H]2n5ccc6=ONc%12c%13ncn([C@@H]%14O[C@H](COP(=O)(O)O[C@H]4[C@H]3O)[C@@H](OP(=O)(O)OC[C@H]3O[C@@H](n4cnc%15c%16=ONc%17ccn([C@@H]%18O[C@H](COP(=O)(O)O[C@H]1[C@H]2O)[C@@H](O)[C@H]%18O)c1=ONc(nc%154)[nH]%16-n%171)[C@H](O)[C@@H]3O)[C@H]%14O)c%13nc1O=c5[nH]6-n%121)[C@H]%11O)c%10nc1NO=c7n8-[nH]19 |(69.1957,-20.5409,;68.5957,-19.5016,;67.0957,-19.5016,;66.3458,-18.2025,;67.9267,-10.2628,;66.7441,-9.34016,;67.2561,-7.93026,;66.4148,-6.69046,;64.9179,-6.79836,;57.6772,-8.27388,;58.2769,-9.31328,;58.2769,-7.23447,;49.817,-6.79836,;48.898,-7.98146,;49.3124,-9.42316,;50.4403,-9.83276,;48.0694,-10.2628,;46.6386,-17.9427,;47.3886,-16.6437,;48.8885,-16.6438,;49.6385,-17.9428,;50.8386,-17.9428,;50.8887,-28.2134,;49.7473,-27.8427,;48.6327,-28.8465,;48.6332,-30.3457,;47.2066,-30.8093,;46.3248,-29.5959,;48.0694,-40.0487,;46.8868,-39.1261,;47.3988,-37.7162,;46.5575,-36.4764,;45.0606,-36.5843,;37.8199,-38.0598,;38.4196,-39.0992,;38.4196,-37.0204,;29.9597,-36.5843,;29.0407,-37.7674,;29.4551,-39.2091,;30.583,-39.6187,;28.2121,-40.0487,;26.7813,-27.8713,;27.5313,-26.5723,;29.0312,-26.5724,;29.7812,-27.8714,;30.9813,-27.8714,;31.0314,-18.2847,;29.89,-17.914,;28.7754,-18.9178,;28.7759,-20.417,;27.3493,-20.8806,;26.4675,-19.6672,;28.2121,-10.2628,;27.0295,-9.34016,;27.5415,-7.93026,;26.7002,-6.69046,;25.2033,-6.79836,;17.9626,-8.27388,;18.5623,-9.31328,;18.5623,-7.23447,;10.1024,-6.79836,;9.18338,-7.98146,;9.59778,-9.42316,;10.7257,-9.83276,;8.35478,-10.2628,;6.58934,-19.3588,;7.47114,-20.5722,;8.89774,-20.1086,;8.89724,-18.6094,;10.0118,-17.6056,;11.1532,-17.9763,;11.1239,-28.391,;9.92383,-28.391,;9.17383,-29.69,;7.67383,-29.69,;6.92393,-28.3909,;8.35478,-40.0487,;7.17218,-39.1261,;7.68418,-37.7162,;6.84288,-36.4764,;5.34598,-36.5843,;9.18338,-37.7674,;10.1024,-36.5843,;17.9626,-38.0598,;18.5623,-39.0992,;18.5623,-37.0204,;25.2033,-36.5843,;26.7002,-36.4764,;27.5415,-37.7162,;27.0295,-39.1261,;9.59778,-39.2091,;10.7257,-39.6187,;7.67393,-27.0919,;7.07393,-26.0527,;8.27334,-15.675,;7.15874,-16.6788,;7.47074,-18.146,;9.69994,-16.1384,;9.17383,-27.092,;7.17218,-9.34016,;7.68418,-7.93026,;6.84288,-6.69046,;5.34598,-6.79836,;29.0407,-7.98146,;29.9597,-6.79836,;37.8199,-8.27388,;38.4196,-9.31328,;38.4196,-7.23447,;45.0606,-6.79836,;46.5575,-6.69046,;47.3988,-7.93026,;46.8868,-9.34016,;29.4551,-9.42316,;30.583,-9.83276,;27.3489,-18.4544,;27.0369,-16.9872,;28.1515,-15.9834,;27.9019,-14.8096,;26.9311,-30.2096,;27.5312,-29.1704,;29.0312,-29.1704,;29.5781,-16.4468,;48.898,-37.7674,;49.817,-36.5843,;57.6772,-38.0598,;58.2769,-39.0992,;58.2769,-37.0204,;64.9179,-36.5843,;66.4148,-36.4764,;67.2561,-37.7162,;66.7441,-39.1261,;67.9267,-40.0487,;66.1612,-29.2874,;67.043,-30.5008,;68.4696,-30.0372,;68.4691,-28.538,;69.5837,-27.5342,;70.7251,-27.9049,;70.5458,-18.2026,;69.3457,-18.2026,;68.5957,-16.9036,;69.2718,-26.067,;67.8452,-25.6036,;66.4958,-15.8643,;67.0958,-16.9035,;66.7306,-26.6074,;67.0426,-28.0746,;69.1697,-39.2091,;70.2976,-39.6187,;68.7553,-37.7674,;69.6743,-36.5843,;77.5345,-38.0598,;78.1342,-39.0992,;78.1342,-37.0204,;84.7752,-36.5843,;86.2721,-36.4764,;87.1134,-37.7162,;86.6014,-39.1261,;87.784,-40.0487,;86.3531,-28.3909,;87.103,-29.69,;88.603,-29.69,;89.353,-28.391,;90.5531,-28.391,;90.5824,-17.9763,;89.441,-17.6056,;88.3264,-18.6094,;88.3269,-20.1086,;86.9003,-20.5722,;86.0185,-19.3588,;87.784,-10.2628,;86.6014,-9.34016,;87.1134,-7.93026,;86.2721,-6.69046,;84.7752,-6.79836,;77.5345,-8.27388,;78.1342,-9.31328,;78.1342,-7.23447,;69.6743,-6.79836,;68.7553,-7.98146,;69.1697,-9.42316,;70.2976,-9.83276,;88.6126,-7.98146,;89.5316,-6.79836,;97.3918,-8.27388,;97.9915,-9.31328,;97.9915,-7.23447,;104.632,-6.79836,;106.129,-6.69046,;106.971,-7.93026,;106.459,-9.34016,;107.641,-10.2628,;105.897,-19.6672,;106.778,-20.8806,;108.205,-20.417,;108.205,-18.9178,;109.319,-17.914,;110.461,-18.2847,;110.41,-27.8714,;109.21,-27.8714,;108.46,-26.5724,;106.96,-26.5723,;106.21,-27.8713,;107.641,-40.0487,;106.459,-39.1261,;106.971,-37.7162,;106.129,-36.4764,;104.632,-36.5843,;97.3918,-38.0598,;97.9915,-39.0992,;97.9915,-37.0204,;89.5316,-36.5843,;88.6126,-37.7674,;89.027,-39.2091,;90.1549,-39.6187,;108.47,-37.7674,;109.389,-36.5843,;108.884,-39.2091,;110.012,-39.6187,;106.96,-29.1704,;106.36,-30.2096,;107.331,-14.8096,;107.581,-15.9834,;106.466,-16.9872,;106.778,-18.4544,;109.007,-16.4468,;108.46,-29.1704,;108.884,-9.42316,;110.012,-9.83276,;108.47,-7.98146,;109.389,-6.79836,;89.027,-9.42316,;90.1549,-9.83276,;86.8999,-18.146,;86.5879,-16.6788,;87.7025,-15.675,;86.5031,-26.0527,;87.1031,-27.0919,;88.603,-27.092,;89.1291,-16.1384,;49.3124,-39.2091,;50.4403,-39.6187,;47.2062,-28.3831,;46.8942,-26.9159,;48.0088,-25.9121,;47.7592,-24.7383,;46.7884,-20.281,;47.3885,-19.2418,;48.8885,-19.2418,;49.4354,-26.3755,),wD:4.4,6.6,30.30,52.52,54.54,78.78,88.87,64.106,100.109,110.118,16.121,129.145,156.179,170.194,172.196,189.214,191.217,203.228,205.231,wU:13.12,14.14,28.28,37.36,38.38,61.60,62.62,76.76,81.81,40.90,90.93,103.112,112.124,122.139,131.147,147.170,149.173,158.181,179.202,180.206,182.208,212.237,213.241,215.243,217.246,227.261,229.264,231.267,240.282,H:21.21,46.45,70.70,94.96,97.103,117.130,121.135,138.154,140.158,143.161,164.187,197.223,221.249,225.257,235.272,239.277,246.288,248.293,a:4,6,13,14,16,28,30,37,38,40,52,54,61,62,64,76,78,81,88,90,100,103,110,112,122,129,131,147,149,156,158,170,172,179,180,182,189,191,203,205,212,213,215,217,227,229,231,240|"; + std::string outMolSmi = ""; + RDKit::SmilesWriteParams swp; + + swp.doIsomericSmiles = true; + swp.doKekule = false; + swp.canonical = true; + swp.cleanStereo = true; + swp.allBondsExplicit = false; + swp.allHsExplicit = false; + swp.doRandom = false; + swp.rootedAtAtom = -1; + swp.includeDativeBonds = true; + swp.ignoreAtomMapNumbers = false; + + try { + outMolSmi = + MolToCXSmiles(*mol, swp, RDKit::SmilesWrite::CXSmilesFields::CX_ALL, + RestoreBondDirOption::RestoreBondDirOptionTrue); + + } catch (const RDKit::KekulizeException &) { + outMolSmi = ""; + } + + CHECK(expectedOutSmi == outMolSmi); + } +} + TEST_CASE("Github 8328", "MolToSmiles with rootedAtAtom for multiple fragments") { SECTION("basics") { auto mol = "[C:1][C:2].[N:3]([C:4])=[O:5]"_smiles; diff --git a/Code/GraphMol/SubstanceGroup.cpp b/Code/GraphMol/SubstanceGroup.cpp index 013280cd3..9100b6680 100644 --- a/Code/GraphMol/SubstanceGroup.cpp +++ b/Code/GraphMol/SubstanceGroup.cpp @@ -335,6 +335,12 @@ bool SubstanceGroupChecks::isValidConnectType(const std::string &type) { type) != SubstanceGroupChecks::sGroupConnectTypes.end(); } +bool SubstanceGroupChecks::isValidClass(const std::string &sgroupClass) { + return std::find(SubstanceGroupChecks::sGroupClasses.begin(), + SubstanceGroupChecks::sGroupClasses.end(), + sgroupClass) != SubstanceGroupChecks::sGroupClasses.end(); +} + bool SubstanceGroupChecks::isSubstanceGroupIdFree(const ROMol &mol, unsigned int id) { auto match_sgroup = [id](const SubstanceGroup &sg) { diff --git a/Code/GraphMol/SubstanceGroup.h b/Code/GraphMol/SubstanceGroup.h index 294a465e7..9f50f443c 100644 --- a/Code/GraphMol/SubstanceGroup.h +++ b/Code/GraphMol/SubstanceGroup.h @@ -250,6 +250,11 @@ const std::vector sGroupTypes = { const std::vector sGroupSubtypes = {"ALT", "RAN", "BLO"}; const std::vector sGroupConnectTypes = {"HH", "HT", "EU"}; +const std::vector sGroupClasses = { + "AA", "dAA", "DNA", "RNA", "SUGAR", "BASE", + "PHOSPHATE", "LINKER", "CHEM", "LGRP", "MODAA", "MODdAA", + "MODDNA", "MODRNA", "XLINKAA", "XLINKdAA", "XLINKDNA", "XLINKRNA", +}; RDKIT_GRAPHMOL_EXPORT bool isValidType(const std::string &type); @@ -257,6 +262,8 @@ RDKIT_GRAPHMOL_EXPORT bool isValidSubType(const std::string &type); RDKIT_GRAPHMOL_EXPORT bool isValidConnectType(const std::string &type); +RDKIT_GRAPHMOL_EXPORT bool isValidClass(const std::string &sgroupClass); + RDKIT_GRAPHMOL_EXPORT bool isSubstanceGroupIdFree(const ROMol &mol, unsigned int id); diff --git a/Code/GraphMol/Wrap/CMakeLists.txt b/Code/GraphMol/Wrap/CMakeLists.txt index fd0379aca..5f01f1e68 100644 --- a/Code/GraphMol/Wrap/CMakeLists.txt +++ b/Code/GraphMol/Wrap/CMakeLists.txt @@ -70,6 +70,10 @@ add_pytest(pyTestTrajectory add_pytest(pyTestSGroups ${CMAKE_CURRENT_SOURCE_DIR}/testSGroups.py) +add_pytest(pyTestSCSR + ${CMAKE_CURRENT_SOURCE_DIR}/testSCSR.py) + + if (RDK_TEST_MULTITHREADED) add_pytest(pyTestThreads ${CMAKE_CURRENT_SOURCE_DIR}/testThreads.py) diff --git a/Code/GraphMol/Wrap/rdmolfiles.cpp b/Code/GraphMol/Wrap/rdmolfiles.cpp index bec39347b..0b573c55c 100644 --- a/Code/GraphMol/Wrap/rdmolfiles.cpp +++ b/Code/GraphMol/Wrap/rdmolfiles.cpp @@ -171,6 +171,59 @@ ROMol *MolFromMolFile(const std::string &molFilename, bool sanitize, return static_cast(newM); } +RDKit::ROMol *MolFromSCSRBlock(const std::string &molBlock, bool sanitize, + bool removeHs, python::object pyParams) { + RDKit::v2::FileParsers::MolFromSCSRParams scsrParams; + if (pyParams) { + scsrParams = + python::extract(pyParams); + } + std::istringstream inStream(molBlock); + unsigned int line = 0; + try { + RDKit::v2::FileParsers::MolFileParserParams params; + params.sanitize = sanitize; + params.removeHs = removeHs; + params.strictParsing = false; + auto mol = RDKit::v2::FileParsers::MolFromSCSRDataStream( + inStream, line, params, scsrParams); + + return static_cast(mol.release()); + + } catch (RDKit::FileParseException &e) { + BOOST_LOG(rdWarningLog) << e.what() << std::endl; + } catch (...) { + } + return static_cast(nullptr); +} + +RDKit::ROMol *MolFromSCSRFile(const std::string &molFilename, bool sanitize, + bool removeHs, python::object pyParams) { + RDKit::v2::FileParsers::MolFromSCSRParams scsrParams; + if (pyParams) { + scsrParams = + python::extract(pyParams); + } + try { + RDKit::v2::FileParsers::MolFileParserParams params; + params.sanitize = sanitize; + params.removeHs = removeHs; + params.strictParsing = false; + auto mol = RDKit::v2::FileParsers::MolFromSCSRFile(molFilename, params, + scsrParams); + + return static_cast(mol.release()); + + } catch (RDKit::BadFileException &e) { + PyErr_SetString(PyExc_IOError, e.what()); + throw python::error_already_set(); + } catch (RDKit::FileParseException &e) { + BOOST_LOG(rdWarningLog) << e.what() << std::endl; + } catch (...) { + } + return static_cast(nullptr); +} + ROMol *MolFromMrvFile(const std::string &molFilename, bool sanitize, bool removeHs) { RWMol *newM = nullptr; @@ -1101,6 +1154,70 @@ BOOST_PYTHON_MODULE(rdmolfiles) { "precision of coordinates (only available in V3000)(default=false)") .def("__setattr__",&safeSetattr); + python::class_( + "MolFromSCSRParams", + "Parameters controlling conversion of an SCSRMol to a Mol") + .def_readwrite( + "includeLeavingGroups", + &RDKit::v2::FileParsers::MolFromSCSRParams::includeLeavingGroups, + "include leaving groups atoms if not substited at that position") + .def_readwrite( + "scsrTemplateNames", + &RDKit::v2::FileParsers::MolFromSCSRParams::scsrTemplateNames, + "If True, the first template name in the Sgroup is used as the Sgroup label") + .def_readwrite( + "scsrBaseHbondOptions", + &RDKit::v2::FileParsers::MolFromSCSRParams::scsrBaseHbondOptions, + "One of Ignore, UseSapAll(default) , UseSapOne, Auto"); + + docString = + "Construct a molecule from an SCSR Mol block.\n\n\ + ARGUMENTS:\n\ + \n\ + - molBlock: string containing the SCSR Mol block\n\ + \n\ + - sanitize: (optional) toggles sanitization of the molecule.\n\ + Defaults to True.\n\ + \n\ + - removeHs: (optional) toggles removing hydrogens from the molecule.\n\ + This only make sense when sanitization is done.\n\ + Defaults to true.\n\ + \n\ + - molFromSCSRParams : MolFromSCSRParams to control conversion\n\ + \n RETURNS :\n\ + \n a Mol object, None on failure.\n\ + \n "; + python::def("MolFromSCSRBlock", RDKit::MolFromSCSRBlock, + (python::arg("molBlock"), python::arg("sanitize") = true, + python::arg("removeHs") = true, + python::arg("molFromSCSRParams") = python::object()), + docString.c_str(), + python::return_value_policy()); + + docString = + "Construct a molecule from an SCSR Mol block.\n\n\ + ARGUMENTS:\n\ + \n\ + - filename: string containing the SCSR filename\n\ + \n\ + - sanitize: (optional) toggles sanitization of the molecule.\n\ + Defaults to True.\n\ + \n\ + - removeHs: (optional) toggles removing hydrogens from the molecule.\n\ + This only make sense when sanitization is done.\n\ + Defaults to true.\n\ + \n\ + - molFromSCSRParams : MolFromSCSRParams to control conversion\n\ + \n RETURNS :\n\ + \n a Mol object, None on failure.\n\ + \n "; + python::def("MolFromSCSRFile", RDKit::MolFromSCSRFile, + (python::arg("filename"), python::arg("sanitize") = true, + python::arg("removeHs") = true, + python::arg("molFromSCSRParams") = python::object()), + docString.c_str(), + python::return_value_policy()); + docString = "Returns a Mol block for a molecule\n\ Arguments:\n\ @@ -1736,6 +1853,22 @@ BOOST_PYTHON_MODULE(rdmolfiles) { .value("CX_ALL_BUT_COORDS", RDKit::SmilesWrite::CXSmilesFields::CX_ALL_BUT_COORDS); + python::enum_( + "SCSRBaseHbondOptions") + .value("Ignore", RDKit::v2::FileParsers::SCSRBaseHbondOptions::Ignore) + .value("UseSapAll", + RDKit::v2::FileParsers::SCSRBaseHbondOptions::UseSapAll) + .value("UseSapOne", + RDKit::v2::FileParsers::SCSRBaseHbondOptions::UseSapOne) + .value("Auto", RDKit::v2::FileParsers::SCSRBaseHbondOptions::Auto); + + python::enum_("SCSRTemplateNames") + .value("UseFirstName", + RDKit::v2::FileParsers::SCSRTemplateNames::UseFirstName) + .value("UseSecondName", + RDKit::v2::FileParsers::SCSRTemplateNames::UseSecondName) + .value("AsEntered", RDKit::v2::FileParsers::SCSRTemplateNames::AsEntered); + python::enum_("RestoreBondDirOption") .value("RestoreBondDirOptionClear", RDKit::RestoreBondDirOption::RestoreBondDirOptionClear) diff --git a/Code/GraphMol/Wrap/testSCSR.py b/Code/GraphMol/Wrap/testSCSR.py new file mode 100644 index 000000000..8e151a056 --- /dev/null +++ b/Code/GraphMol/Wrap/testSCSR.py @@ -0,0 +1,121 @@ +# +# Copyright (C) 2024 Tad Hurst +# All Rights Reserved +# +# This file is part of the RDKit. +# The contents are covered by the terms of the BSD license +# which is included in the file license.txt, found at the root +# of the RDKit source tree. +# + +# +import os +import sys +import unittest + +from rdkit import Chem +from rdkit.Chem import RDConfig + + +class TestCase(unittest.TestCase): + + def setUp(self): + pass + + def testSCSR(self): + """Test the SCSR system""" + + ofile = os.path.join(RDConfig.RDBaseDir, 'Code', 'GraphMol', 'FileParsers', 'test_data', + 'macromols', 'Triplet.mol') + with open(ofile) as inf: + scsrBlock = inf.read() + + molFromSCSRParams = Chem.MolFromSCSRParams() + molFromSCSRParams.includeLeavingGroups = True + molFromSCSRParams.scsrTemplateNames = Chem.SCSRTemplateNames.AsEntered + molFromSCSRParams.scsrBaseHbondOptions = Chem.SCSRBaseHbondOptions.Ignore + + for mol in (Chem.MolFromSCSRBlock(scsrBlock, False, False, molFromSCSRParams), + Chem.MolFromSCSRFile(ofile, False, False, molFromSCSRParams)): + + self.assertTrue(mol.GetNumAtoms() == 30) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertEqual(len(sgs), 6) + + # check defaults: + for mol in (Chem.MolFromSCSRBlock(scsrBlock), Chem.MolFromSCSRFile(ofile)): + self.assertTrue(mol.GetNumAtoms() == 30) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertEqual(len(sgs), 6) + + def testSCSRRna(self): + """Test the SCSR system with and RNA double strand""" + + ofile = os.path.join(RDConfig.RDBaseDir, 'Code', 'GraphMol', 'FileParsers', 'test_data', + 'macromols', 'DnaTest.mol') + with open(ofile) as inf: + scsrBlock = inf.read() + + molFromSCSRParams = Chem.MolFromSCSRParams() + molFromSCSRParams.includeLeavingGroups = True + molFromSCSRParams.scsrTemplateNames = Chem.SCSRTemplateNames.AsEntered + molFromSCSRParams.scsrBaseHbondOptions = Chem.SCSRBaseHbondOptions.Auto + + mol = Chem.MolFromSCSRBlock(scsrBlock, False, False, molFromSCSRParams) + + self.assertTrue(mol.GetNumAtoms() == 254) + self.assertTrue(mol.GetNumBonds() == 300) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertTrue(len(sgs) == 38) + + molFromSCSRParams.scsrBaseHbondOptions = Chem.SCSRBaseHbondOptions.Ignore + mol = Chem.MolFromSCSRBlock(scsrBlock, False, False, molFromSCSRParams) + + self.assertTrue(mol.GetNumAtoms() == 254) + self.assertTrue(mol.GetNumBonds() == 282) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertTrue(len(sgs) == 38) + + def testThreeLetterCodes(self): + """Test the SCSR system with three letter codes""" + + ofile = os.path.join(RDConfig.RDBaseDir, 'Code', 'GraphMol', 'FileParsers', 'test_data', + 'macromols', 'PepTla.mol') + with open(ofile) as inf: + scsrBlock = inf.read() + + molFromSCSRParams = Chem.MolFromSCSRParams() + molFromSCSRParams.includeLeavingGroups = True + molFromSCSRParams.scsrTemplateNames = Chem.SCSRTemplateNames.AsEntered + + mol = Chem.MolFromSCSRBlock(scsrBlock, False, False, molFromSCSRParams) + + self.assertEqual(mol.GetNumAtoms(), 26) + self.assertEqual(mol.GetNumBonds(), 25) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertTrue(len(sgs) == 7) + sgs[0].GetProp('LABEL') + self.assertEqual(sgs[0].GetProp('LABEL'), 'Ala_4') + + molFromSCSRParams.scsrTemplateNames = Chem.SCSRTemplateNames.UseFirstName + + mol = Chem.MolFromSCSRBlock(scsrBlock, False, False, molFromSCSRParams) + + self.assertEqual(mol.GetNumAtoms(), 26) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertEqual(len(sgs), 7) + + self.assertEqual(sgs[0].GetProp('LABEL'), 'Ala_4') + + molFromSCSRParams.scsrTemplateNames = Chem.SCSRTemplateNames.UseSecondName + mol = Chem.MolFromSCSRBlock(scsrBlock, False, False, molFromSCSRParams) + + self.assertEqual(mol.GetNumAtoms(), 26) + sgs = Chem.GetMolSubstanceGroups(mol) + self.assertEqual(len(sgs), 7) + + self.assertEqual(sgs[0].GetProp('LABEL'), 'A_4') + + +if __name__ == '__main__': + unittest.main() diff --git a/Code/GraphMol/testSGroup.cpp b/Code/GraphMol/testSGroup.cpp index 596852d69..01396f4e2 100644 --- a/Code/GraphMol/testSGroup.cpp +++ b/Code/GraphMol/testSGroup.cpp @@ -101,7 +101,7 @@ RWMol buildSampleMolecule() { // Vector should not be parsed (not a SUP group) sg.addCState(2, RDGeom::Point3D()); - sg.setProp("CLASS", "TEST CLASS"); + sg.setProp("CLASS", "DNA"); sg.addAttachPoint(0, 0, "XX"); @@ -209,7 +209,7 @@ void checkSampleMolecule(const RWMol &mol) { TEST_ASSERT(cstates[0].vector.y == 0.); TEST_ASSERT(cstates[0].vector.z == 0.); - TEST_ASSERT(sg.getProp("CLASS") == "TEST CLASS"); + TEST_ASSERT(sg.getProp("CLASS") == "DNA"); auto ap = sg.getAttachPoints(); TEST_ASSERT(ap.size() == 1); @@ -371,7 +371,7 @@ void testParseSubstanceGroups(const std::string &rdbase) { const auto sgroup = sgroups.at(0); TEST_ASSERT(sgroup.getProp("TYPE") == "SUP"); - TEST_ASSERT(sgroup.getProp("CLASS") == "DEMOCLASS"); + TEST_ASSERT(sgroup.getProp("CLASS") == "AA"); TEST_ASSERT(sgroup.getProp("LABEL") == "abbrev"); std::vector atoms_reference = {6, 7, 8, 9, 11, 12}; diff --git a/Code/RDGeneral/types.cpp b/Code/RDGeneral/types.cpp index bb54c33cc..8ff43d854 100644 --- a/Code/RDGeneral/types.cpp +++ b/Code/RDGeneral/types.cpp @@ -129,11 +129,14 @@ const std::string molRingBondCount = "molRingBondCount"; const std::string molSubstCount = "molSubstCount"; const std::string molAttachPoint = "molAttchpt"; const std::string molAttachOrder = "molAttchord"; +const std::string molAttachOrderTemplate = "molAttachOrderTemplate"; const std::string molAtomClass = "molClass"; const std::string molAtomSeqId = "molSeqid"; const std::string molRxnExactChange = "molRxnExachg"; const std::string molReactStatus = "molReactStatus"; const std::string _fromAttachPoint = "_fromAttchpt"; +const std::string natReplace = "natReplace"; +const std::string templateNames = "templateNames"; const std::string molNote = "molNote"; const std::string atomNote = "atomNote"; diff --git a/Code/RDGeneral/types.h b/Code/RDGeneral/types.h index 7d8d25078..9e5e59a3f 100644 --- a/Code/RDGeneral/types.h +++ b/Code/RDGeneral/types.h @@ -164,20 +164,26 @@ RDKIT_RDGENERAL_EXPORT extern const std::string RDKIT_RDGENERAL_EXPORT extern const std::string OxidationNumber; // int // MDL Style Properties (MolFileParser) -RDKIT_RDGENERAL_EXPORT extern const std::string molAtomMapNumber; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molFileAlias; // string -RDKIT_RDGENERAL_EXPORT extern const std::string molFileValue; // string -RDKIT_RDGENERAL_EXPORT extern const std::string molInversionFlag; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molParity; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molStereoCare; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molRxnComponent; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molRxnRole; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molTotValence; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molRingBondCount; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molSubstCount; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molAttachPoint; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molAttachOrder; // int -RDKIT_RDGENERAL_EXPORT extern const std::string molAtomClass; // string +RDKIT_RDGENERAL_EXPORT extern const std::string molAtomMapNumber; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molFileAlias; // string +RDKIT_RDGENERAL_EXPORT extern const std::string molFileValue; // string +RDKIT_RDGENERAL_EXPORT extern const std::string molInversionFlag; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molParity; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molStereoCare; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molRxnComponent; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molRxnRole; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molTotValence; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molRingBondCount; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molSubstCount; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molAttachPoint; // int +RDKIT_RDGENERAL_EXPORT extern const std::string molAttachOrder; // int +RDKIT_RDGENERAL_EXPORT extern const std::string + molAttachOrderTemplate; // std::vector + +RDKIT_RDGENERAL_EXPORT extern const std::string molAtomClass; // string +RDKIT_RDGENERAL_EXPORT extern const std::string natReplace; // string +RDKIT_RDGENERAL_EXPORT extern const std::string + templateNames; // vector of strings RDKIT_RDGENERAL_EXPORT extern const std::string molAtomSeqId; // int RDKIT_RDGENERAL_EXPORT extern const std::string molRxnExactChange; // int RDKIT_RDGENERAL_EXPORT extern const std::string molReactStatus; // int diff --git a/Docs/Book/RDKit_Book.rst b/Docs/Book/RDKit_Book.rst index 8d537dea3..39e1f2030 100644 --- a/Docs/Book/RDKit_Book.rst +++ b/Docs/Book/RDKit_Book.rst @@ -2704,6 +2704,208 @@ path) enumeration algorithm used in the RDKit fingerprint. After a subgraph has been generated, it is used to set multiple bits based on different atom and bond type definitions. +Self-Contained Structure Representations (SCSR) for Macromolecules +******************* + +The SCSR support added to RDKit follows the description in the BIOVIA document “biovia_ctfileformats_2020.pdf” available from +“CTfile Formats - Dassault Systèmes”. That document does not provide any real detail for that format, and contains one example file. + +In addition, Biovia Draw supports reading and writing this format. As much as possible, the RDKit support allows the functionality +supported by Biovia Draw. One exception is the RDKit treatment of hydrogen bonds in SCSR files/blocks (vide infra). + +Representation +============== + +Main mol +-------- +An SCSR file contains a mol with a CTAB in v3000 format. That CTAB can contain elemental atoms and macro atoms corresponding to amino acids (AA), RNA, and DNA elements. +The RNA and DNA elements are represented by three parts – a phosphate group, a sugar, and a base. + +Each atom line in the CTAB can refer to an elemental atom or a macro atom. Macro atom lines have a text description of the macro name and must have a CLASS and an +ATTCHORD attributed. They can also have an optional SEQID attribute. + +According to the Biovia doc, the CLASS attribute must have a value that is one of: AA, dAA, DNA, RNA, SUGAR, BASE, PHOSPHATE, LINKER, CHEM, LGRP, MODAA, MODdAA, MODDNA, MODRNA, XLINKAA, XLINKdAA, XLINKDNA, XLINKRNA. +For an SCSR mol block, (and for any SGROUP), RDKit requires that the CLASS attribute be one of these values. + +The SEQID is a sequential integer and is ignored by this treatment. Typically, the three parts of an RNA or DNA element have the same SEQID. + +The ATTCHORD attribute must have a specification for each bond that comes from the macro atom. The specification is contained between parentheses, and the first +character is a integer that indicates the number of items that follow. Each connection is specified with the atom ID (1 offset) for the connected atom in the main +CTAB, and a string that indicates the attachment point for this macro atom. The attachment point string is always two characters. +The first indicates the order, and is a capital letter starting at A. The second char is one of “l” (left), “r” (right), “x” (cross connections – e.g. for cysteine). +In this implementation, the second character can also be “h” for hydrogen bond. +Thus, the attach connections are almost always in the list: “Al”, “Br”, “Cx” or “Ch”. For example:: + + ATTCHORD=(6 15 Br 13 Al 21 Cx) + +Templates +--------- + +Template Header +^^^^^^^^^^^^^^^ + +In addition to the CTAB for the main molecule, each macro atom is detailed automatically in a TEMPLATE. The TEMPLATES are numbered and appear between a +BEGIN TEMPLATES line and an END TEMPLATES line. Each template starts with a TEMPLATE line that indicates the template number (1 to n), the template Class and +Name, and the NATREPLACE attribute. + +The Class and Name consists of three (or more) parts separated by forward slashes. The first part is the CLASS, and must match the CLASS attribute in +one or more of the atoms in the main CTAB. The second and third (and subsequent) items are choices for names of the macro atom template. Typically, the +first name is the long form and second is the short form, as in “AA/Ala/A” for alanine. This treatment does not enforce any restrictions on the name lengths. +The name given the macro atom in the main CTAB must match one of the names in one of the templates with the correct class. +The NATREPLACE attribute specifies the natural replacement for this macro atom, and is ignored by this treatment. Example:: + + M V30 TEMPLATE 1 SUGAR/Rib/R NATREPLACE=SUGAR/R + +Main Template CTAB and SGROUPs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +After the TEMPLATE is a full CTAB with the atoms and bonds of the template. Each CTAB must contain an SGROUP for the main macro definition atoms and bonds, +and one for each leaving group. The main SGROUP for the template must have a LABEL attribute that is the same as one of the names in the TEMPLATE line, and +it must have a CLASS attribute that matches the TEMPLATE line class. + +In addition, the main SGROUP must have ATOMS, XBONDS, NATREPLACE attributes. ATOMS is a list of all atom IDs (1-offset). XBONDS are the IDs of the connecting +bonds. NATRELACE is the natural replacement as discussed above. The XBONDS and NATREPLACE attributes are ignored by this treatment. + +The main SGROUP must also contain a list of SAP (SGROUP attachment points) attributes. Each one is enclosed in parentheses, and starts with a “3”. +That is followed by two atom IDs of a bond that starts in this SGROUP and goes to an atom NOT in this SGROUP, and this is followed by a string indicating +the connection name. The connection name, as discussed above, is usually one of “Al”, “Br”, “Cx” or “Ch”. SAPs “Al”, “Br”, “Cx” will have one SAP, and +“Ch” will typically have two or three distinct SAP attributes. The order of the SAP attributes for hydrogen bonds (“Ch”) matters, and should go from the H-bond +atom nearest to the connecting “Al” atom to the most distant. Hydrogen bonds do not have a leaving group, so the second ID of the designation is “0”. + +Example:: + + M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7)- + M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch)- + NATREPLACE=BASE/U + +In addition to the main SGROUP, there will be an SGROUP that identifies each leaving group. Most leaving groups have one atom, but they could have multiple +atoms. The leaving group SGROUPS have ATOMS, XBONDS, LABEL, and CLASS attributes. The XBONDS attribute is ignored in this treatment. LABEL must be +“LGRP” (leaving group). + +Example:: + + M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) LABEL=H CLASS=LGRP + + +Parsing SCSR files and text blocks +================================== + +RDKit converts the SCSR data into a fully atomistic representation. + +An SGROUP is produced in the resulting RWMol for each template and retained leaving group from the SCSRMol. The name of each SGROUP is derived from the +template name, the sequence number if present, and, for leaving groups, the leaving group SAP ID (e.g. “Al”, “Br”, “Cx” or “Ch”). + +The following calls parse the SCSR mol or block produces a fully atomistic RDKit mol.: + + * MolFromSCSRDataStream (stream to mol) + * MolFromSCSRBlock (SCSR text block to mol) + * MolFromSCSRFile (SCSR file to mol) + +These functions all take, in addition to the strean, text block, or file name, a MolFileParserParams and a MolFromSCSRParams parameter. +The MolFileParserParams parameter is used to control the parsing of the SCSR data, as is describe elsewhere in this document. +The MolFromSCSRParams parameter is used to control the conversion of the SCSR data into a full atomistic representation. + +MolFromScsrParams has three properties: + + * The “ScsrTemplateNames” property controls how the Sgoups of the expanded file are generated, and must be one of: ScsrTemplateNamesAsEntered, + ScsrTemplateNamesUseFirstName, or ScsrTemplateNamesUseLastName. If ScsrTemplateNamesAsEntered is specified, the name as referenced in the main + SCSR CTAB will be used. + + * The ”includeLeavingGroups” property controls whether leaving groups that are not replaced in the main CTAB are included in the resulting atomistic file. + The leaving groups that are so retained become end caps and caps on unused cross-link sites. Setting this property to “false” causes the end caps and cross-link caps to remain unsubstituted. This allows the results to be used as a full atom query for the sub-units from the SCSR mol. + + * The "SCSRBaseHbondOptions" property controls the treatment of hydrogen bonds in the SCSR file. This is described in the following section. + +Hydrogen Bonds +------- + +For sense-antisense pairings in DNA and RNA, the hydrogen bonds are represented as a single hydrogen bond in the SCSR representation. +When converted to a full atomistic representation, each such hydrogen bond can represent up to 3 hydrogen bonds between the full-atomistic representations of +the Base groups. + +The processing of H-bonds is contorlled by the ScsrBaseHbondOptions +member of the ScsrMolFileParserParams parameter. The options are: + + 1. ScsrBaseHbondOptionsIgnore - if this is selected, all H-bonds are + ignored and not processed. + + 2. ScsrBaseHbondOptionsUseSapAll = 1 + If this is selected, all SAPs + for the hbond are used. They must be defined in the template in the + correct order, which starts with the first atom nearest the "Al" + connection, and continues sequentially + + If there are 3 sites on each side and they are complimentary (the + donors match acceptors and vice versa), we add the bonds. and + we are done. THis is the standard Watson-Crick binding (“https://water.lsbu.ac.uk/water/nucleic_acid_hydration.html”) + + If not, we check to check to see if they comply to a wobble bond + configuration. There are four generally accepted wobble bonds, and we + deal with these four types only. The four known wobble bonds are: + + 1. I-C + 2. I-U + 3. I-A + 4. G-U + + "I" stands for inosine - it has only two available hbond sites . The + pair G-U has three sites on each end, but they are not complimentary. + (https://en.wikipedia.org/wiki/Wobble_base_pair#:~:text=A%20wobble%20base%20pair%20is,hypoxanthine%2Dcytosine%20(I%2DC). + + For pairs that have I (inosine) or something like it, the configuration must be + DA, so those two atoms form the two H bonds. The other side (C,U or A) + has confiuration of AAD (C), ADA (U), or DAD (A). For C-type bases and + A type bases, the second and third atoms are used (AD), and for U + types, the first two atoms are used (AD). + + For the GU pair, both sides have 3 atoms, but they are not + complimentary. The second and third sites on the G side are used (DA), + and the first two sites on the U side are used (AD). + + In any other case, we punt and add just one bond between the first + hydrogen-bond atom on both sides even if they are NOT complemenary. This just + indicates that the sides are h-bonded somehow and keeps the overall + pairing straight. + + 3. ScsrBaseHbondOptionsUseSapOne + If this is selected, only one SAP hbond per base is used. + If multiple SAPs are defined, the first hbond site is used + even if it is not the best. No attempt is made to match the Donor/Acceptor + status of the chosen bond sites. + (this just maintains the relationship between + the to base pairs) + + 4. ScsrBaseHbondOptionsAuto + For bases that are C,G,A,T,U,In (and + derivatives) the standard Watson-Crick + Hbonding is used, and is determined by substructure matching. + No Hbond SAPs ("Ch") need to be defined in the template, and if + defined, they are ignored. + + Processing of the H-bond sites so determined is done just as it is when ScsrBaseHbondOptionsUseSapAll is selected. + (see above). + +Example of Peptide conversion: + +.. image:: images/PeptideConversion.png + +Example of DNA-RNA paired strands conversion: + +.. image:: images/DnaDoubleStrand.png + +Example of “Wobble” pairing conversion: + +.. image:: images/WobbleRna.png + + Full Example of SCSR files: +=========================== + + Here are two examples of SCSR files: + +`DnaTest3 `_. + +`CrossLink.mol `_. + Feature Flags: global variables affecting RDKit behavior ******************************************************** @@ -2780,3 +2982,4 @@ To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/ The intent of this license is similar to that of the RDKit itself. In simple words: “Do whatever you want with it, but please give us some credit.” + diff --git a/Docs/Book/data/CrossLink.mol b/Docs/Book/data/CrossLink.mol new file mode 100644 index 000000000..184c07666 --- /dev/null +++ b/Docs/Book/data/CrossLink.mol @@ -0,0 +1,220 @@ + + -INDIGO-12312410022D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 8 8 0 0 0 +M V30 BEGIN ATOM +M V30 1 A 1.15 -3.75 0.0 0 CLASS=AA SEQID=8 ATTCHORD=(2 8 Al) +M V30 2 G 1.25 -1.25 0.0 0 CLASS=AA SEQID=1 ATTCHORD=(2 3 Br) +M V30 3 G 2.75 -1.25 0.0 0 CLASS=AA SEQID=2 ATTCHORD=(4 2 Al 4 Br) +M V30 4 C 4.075 -1.25 0.0 0 CLASS=AA SEQID=3 ATTCHORD=(6 3 Al 5 Br 7 Cx) +M V30 5 L 5.75 -1.25 0.0 0 CLASS=AA SEQID=4 ATTCHORD=(4 4 Al 6 Br) +M V30 6 P 6.45 -3.65 0.0 0 CLASS=AA SEQID=5 ATTCHORD=(4 5 Al 7 Br) +M V30 7 C 4.5 -3.675 0.0 0 CLASS=AA SEQID=6 ATTCHORD=(6 6 Al 8 Br 4 Cx) +M V30 8 A 3.05 -3.625 0.0 0 CLASS=AA SEQID=7 ATTCHORD=(4 7 Al 1 Br) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 3 +M V30 2 1 3 4 +M V30 3 1 4 5 +M V30 4 1 5 6 +M V30 5 1 6 7 +M V30 6 1 7 8 +M V30 7 1 8 1 +M V30 8 1 4 7 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Ala/A/ NATREPLACE=AA/A +M V30 BEGIN CTAB +M V30 COUNTS 7 6 3 0 0 +M V30 BEGIN ATOM +M V30 1 N -1.2549 -0.392 0.0 0 +M V30 2 C -0.272 0.2633 0.0 0 CFG=1 +M V30 3 C -0.3103 1.7393 0.0 0 +M V30 4 C 1.0523 -0.392 0.0 0 +M V30 5 O 1.0829 -1.5722 0.0 0 +M V30 6 O 2.0353 0.2633 0.0 0 +M V30 7 H -2.3334 0.0905 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 CFG=1 +M V30 3 1 2 4 +M V30 4 2 4 5 +M V30 5 1 4 6 +M V30 6 1 1 7 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 0.539250 -0.241250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 -0.491500 -0.327650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(5 1 2 3 4 5) XBONDS=(2 6 5) BRKXYZ=(9 -0.539250 0.24125- +M V30 0 0.000000 0.491500 0.327650 0.000000 0.000000 0.000000 0.000000) LABE- +M V30 L=A CLASS=AA SAP=(3 1 7 Al) SAP=(3 4 6 Br) NATREPLACE=AA/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 AA/Gly/G/ NATREPLACE=AA/G +M V30 BEGIN CTAB +M V30 COUNTS 6 5 3 0 0 +M V30 BEGIN ATOM +M V30 1 C -0.3363 0.5346 0.0 0 +M V30 2 C 0.9929 -0.1107 0.0 0 +M V30 3 O 1.0782 -1.289 0.0 0 +M V30 4 O 1.9709 0.552 0.0 0 +M V30 5 N -1.326 -0.1107 0.0 0 +M V30 6 H -2.3797 0.4238 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 2 3 +M V30 3 1 2 4 +M V30 4 1 1 5 +M V30 5 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 6) XBONDS=(1 5) BRKXYZ=(9 0.526850 -0.267250 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.489000 -0.331350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(4 1 2 3 5) XBONDS=(2 3 5) BRKXYZ=(9 0.489000 0.331350 0- +M V30 .000000 -0.526850 0.267250 0.000000 0.000000 0.000000 0.000000) LABEL=- +M V30 G CLASS=AA SAP=(3 5 6 Al) SAP=(3 2 4 Br) NATREPLACE=AA/G +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 AA/Cys/C/ NATREPLACE=AA/C +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.4457 -1.1333 0.0 0 +M V30 2 C 0.1453 -0.384 0.0 0 CFG=2 +M V30 3 C 0.143 1.1168 0.0 0 +M V30 4 S -1.1573 1.8661 0.0 0 +M V30 5 N -1.1551 -1.1333 0.0 0 +M V30 6 O 1.4475 -2.3333 0.0 0 +M V30 7 O 2.4842 -0.532 0.0 0 +M V30 8 H -2.1942 -0.5331 0.0 0 +M V30 9 H -1.1591 3.0661 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 6 1 +M V30 2 1 1 2 +M V30 3 1 1 7 +M V30 4 1 2 5 +M V30 5 1 2 3 CFG=1 +M V30 6 1 3 4 +M V30 7 1 5 8 +M V30 8 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 0.519550 -0.300100 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 7) XBONDS=(1 3) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 0.000900 -0.600000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 3 8 7) BRKXYZ=(9 0.519250 0.30- +M V30 0650 0.000000 -0.000900 0.600000 0.000000 0.000000 0.000000 0.000000) - +M V30 BRKXYZ=(9 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000 0.000- +M V30 000 0.000000 0.000000) LABEL=C CLASS=AA SAP=(3 5 8 Al) SAP=(3 1 7 Br) - +M V30 SAP=(3 4 9 Cx) NATREPLACE=AA/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 AA/Leu/L/ NATREPLACE=AA/L +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.3626 0.9903 0.0 0 +M V30 2 C -0.9395 2.9396 0.0 0 +M V30 3 C -0.9377 1.7396 0.0 0 +M V30 4 C -1.9763 1.1383 0.0 0 +M V30 5 C 0.3649 -0.5105 0.0 0 CFG=1 +M V30 6 C 1.6653 -1.2598 0.0 0 +M V30 7 O 1.6671 -2.4598 0.0 0 +M V30 8 N -0.9355 -1.2598 0.0 0 +M V30 9 O 2.7038 -0.6585 0.0 0 +M V30 10 H -1.9746 -0.6596 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 3 1 +M V30 2 1 5 1 CFG=1 +M V30 3 1 3 2 +M V30 4 1 3 4 +M V30 5 1 5 8 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 9 +M V30 9 1 8 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 9) BRKXYZ=(9 0.519550 -0.300100 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 8) BRKXYZ=(9 -0.519250 -0.300650 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 8 9) BRKXYZ=(9 0.519250 0.- +M V30 300650 0.000000 -0.519550 0.300100 0.000000 0.000000 0.000000 0.000000- +M V30 ) LABEL=L CLASS=AA SAP=(3 8 10 Al) SAP=(3 6 9 Br) NATREPLACE=AA/L +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 AA/Pro/P/ NATREPLACE=AA/P +M V30 BEGIN CTAB +M V30 COUNTS 9 9 3 0 0 +M V30 BEGIN ATOM +M V30 1 C 0.0018 1.6555 0.0 0 +M V30 2 C -1.4799 1.889 0.0 0 +M V30 3 C -2.1599 0.5519 0.0 0 +M V30 4 N -1.0984 -0.5079 0.0 0 +M V30 5 C 0.2376 0.1741 0.0 0 CFG=2 +M V30 6 C 1.5717 -0.5079 0.0 0 +M V30 7 O 1.6336 -1.7063 0.0 0 +M V30 8 O 2.5787 0.1448 0.0 0 +M V30 9 H -1.2852 -1.6933 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 5 1 CFG=1 +M V30 3 1 2 3 +M V30 4 1 3 4 +M V30 5 1 4 5 +M V30 6 1 5 6 +M V30 7 2 6 7 +M V30 8 1 6 8 +M V30 9 1 4 9 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 9) BRKXYZ=(9 0.093400 0.592700 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 8) BRKXYZ=(9 -0.503500 -0.326350 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 9 8) BRKXYZ=(9 -0.093400 -0.- +M V30 592700 0.000000 0.503500 0.326350 0.000000 0.000000 0.000000 0.000000)- +M V30 LABEL=P CLASS=AA SAP=(3 4 9 Al) SAP=(3 6 8 Br) NATREPLACE=AA/P +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Docs/Book/data/DnaTest3.mol b/Docs/Book/data/DnaTest3.mol new file mode 100644 index 000000000..7032488d6 --- /dev/null +++ b/Docs/Book/data/DnaTest3.mol @@ -0,0 +1,374 @@ + + -INDIGO-01232511012D + + 0 0 0 0 0 0 0 0 0 0 0 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 22 24 0 0 0 +M V30 BEGIN ATOM +M V30 1 dR 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br) +M V30 2 A 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 11 Ch) +M V30 3 dR 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8 Br) +M V30 4 C 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 14 Ch) +M V30 5 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 Br) +M V30 6 dR 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 10 Br) +M V30 7 T 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 6 Al 17 Ch) +M V30 8 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 6 Br 3 Al) +M V30 9 dR 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 10 Al 21 Cx) +M V30 10 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 Br) +M V30 11 U 1.25 -4.25 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 12 Al 2 Ch) +M V30 12 R 1.25 -5.75 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 11 Cx 13 Br) +M V30 13 P 2.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 12 Al 15 Br) +M V30 14 G 4.25 -4.25 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 15 Al 4 Ch) +M V30 15 R 4.25 -5.75 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 14 Cx 13 Al 16 B- +M V30 r) +M V30 16 P 5.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 18 Br 15 Al) +M V30 17 A 7.25 -4.25 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 18 Al 7 Ch) +M V30 18 R 7.25 -5.75 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 17 Cx 19 Br 16 A- +M V30 l) +M V30 19 P 8.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 18 Al 20 Br) +M V30 20 R 10.25 -5.75 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 19 Al 22 Cx) +M V30 21 G 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 9 Al 22 Ch) +M V30 22 U 10.25 -4.25 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 20 Al 21 Ch) +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 4 +M V30 3 1 1 5 +M V30 4 1 5 3 +M V30 5 1 6 7 +M V30 6 1 8 6 +M V30 7 1 6 10 +M V30 8 1 10 9 +M V30 9 1 11 12 +M V30 10 1 12 13 +M V30 11 10 2 11 +M V30 12 1 14 15 +M V30 13 1 13 15 +M V30 14 10 4 14 +M V30 15 1 17 18 +M V30 16 1 18 19 +M V30 17 1 16 18 +M V30 18 10 7 17 +M V30 19 1 19 20 +M V30 20 1 22 20 +M V30 21 1 9 21 +M V30 22 10 21 22 +M V30 23 1 3 8 +M V30 24 1 15 16 +M V30 END BOND +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 SUGAR/dRib/dR NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 11 11 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -0.8788 -1.208 0.0 0 +M V30 2 C -0.3668 0.2019 0.0 0 CFG=1 +M V30 3 C 0.3038 -2.1307 0.0 0 CFG=2 +M V30 4 C 1.1323 0.1506 0.0 0 CFG=2 +M V30 5 C 1.5468 -1.291 0.0 0 +M V30 6 O 2.0515 1.3338 0.0 0 +M V30 7 C -1.2081 1.4417 0.0 0 +M V30 8 O 0.2628 -3.3299 0.0 0 +M V30 9 O -2.705 1.3338 0.0 0 +M V30 10 H -3.3788 2.3267 0.0 0 +M V30 11 H 3.2403 1.1709 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 7 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 8 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 6 11 +M V30 10 1 7 9 +M V30 11 1 9 10 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 2 3 4) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 11) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 9) BRKXYZ=(9 -0.594400 0.081450 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(1 8) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(8 1 2 3 4 5 6 7 9) XBONDS=(3 6 9 11) BRKXYZ=(9 -0.02050- +M V30 0 -0.599600 0.000000 0.594400 -0.081450 0.000000 0.000000 0.000000 0.0- +M V30 00000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000) LABEL=dR CLASS=SUGAR SAP=(3 9 10 Al) SAP- +M V30 =(3 6 11 Br) SAP=(3 3 8 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A +M V30 BEGIN CTAB +M V30 COUNTS 11 12 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 N 2.1768 -0.1209 0.0 0 +M V30 11 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 2 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 7 8 +M V30 11 1 7 11 +M V30 12 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600- +M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0- +M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 3 BASE/Cyt/C NATREPLACE=BASE/C +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 2.6489 0.0 0 +M V30 3 C -0.3882 2.649 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3883 0.0509 0.0 0 +M V30 6 N 1.1117 0.0509 0.0 0 +M V30 7 N 3.0618 1.3499 0.0 0 +M V30 8 O -0.9884 -0.9883 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 6 +M V30 3 1 1 7 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 1 5 6 +M V30 9 2 5 8 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P +M V30 BEGIN CTAB +M V30 COUNTS 5 4 3 0 0 +M V30 BEGIN ATOM +M V30 1 P -0.2399 0.0 0.0 0 +M V30 2 O -1.4399 0.0 0.0 0 +M V30 3 O 0.3598 -1.0394 0.0 0 +M V30 4 O 0.9601 0.0 0.0 0 +M V30 5 O 0.3598 1.0394 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 2 1 3 +M V30 3 1 1 4 +M V30 4 1 1 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000- +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS- +M V30 =LGRP +M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.- +M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P - +M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 5 BASE/Thy/T NATREPLACE=BASE/T +M V30 BEGIN CTAB +M V30 COUNTS 10 10 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 10 C 1.7117 -0.9884 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 10 1 2 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(1 7) BRKXYZ=(9 -0.600050 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.00000- +M V30 0) LABEL=T CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/T +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 6 BASE/Ura/U NATREPLACE=BASE/U +M V30 BEGIN CTAB +M V30 COUNTS 9 9 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.8617 1.3499 0.0 0 +M V30 2 C 1.1117 0.0509 0.0 0 +M V30 3 C -0.3883 0.0509 0.0 0 +M V30 4 N -1.1382 1.35 0.0 0 +M V30 5 C -0.3882 2.649 0.0 0 +M V30 6 N 1.1117 2.6489 0.0 0 +M V30 7 O 3.0618 1.3499 0.0 0 +M V30 8 O -0.9882 3.6882 0.0 0 +M V30 9 H -2.3383 1.35 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 7 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 2 2 3 +M V30 5 1 3 4 +M V30 6 1 4 5 +M V30 7 1 4 9 +M V30 8 2 5 8 +M V30 9 1 5 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L- +M V30 GRP +M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0- +M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) - +M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/U +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 7 SUGAR/Rib/R NATREPLACE=SUGAR/R +M V30 BEGIN CTAB +M V30 COUNTS 12 12 4 0 0 +M V30 BEGIN ATOM +M V30 1 O -1.1017 -1.0663 0.0 0 +M V30 2 C -0.5897 0.3436 0.0 0 CFG=1 +M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2 +M V30 4 C 0.9095 0.2924 0.0 0 CFG=2 +M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1 +M V30 6 O 1.8285 1.4755 0.0 0 +M V30 7 O 2.4518 -1.5589 0.0 0 +M V30 8 C -1.431 1.5834 0.0 0 +M V30 9 O 0.0399 -3.1881 0.0 0 +M V30 10 O -2.9279 1.4755 0.0 0 +M V30 11 H -3.6017 2.4684 0.0 0 +M V30 12 H 3.0174 1.3125 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 1 3 +M V30 3 1 2 4 +M V30 4 1 2 8 CFG=3 +M V30 5 1 3 5 +M V30 6 1 3 9 CFG=3 +M V30 7 1 4 5 +M V30 8 1 4 6 CFG=1 +M V30 9 1 5 7 CFG=1 +M V30 10 1 6 12 +M V30 11 1 8 10 +M V30 12 1 10 11 +M V30 END BOND +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5) +M V30 END COLLECTION +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000- +M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS- +M V30 S=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 - +M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=- +M V30 LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0- +M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000- +M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0- +M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)- +M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R +M V30 END SGROUP +M V30 END CTAB +M V30 TEMPLATE 8 BASE/Gua/G NATREPLACE=BASE/G +M V30 BEGIN CTAB +M V30 COUNTS 12 13 2 0 0 +M V30 BEGIN ATOM +M V30 1 C 1.0354 0.2498 0.0 0 +M V30 2 C -0.0792 -0.754 0.0 0 +M V30 3 C -1.5057 -0.2906 0.0 0 +M V30 4 N -1.8177 1.1766 0.0 0 +M V30 5 C -0.7031 2.1804 0.0 0 +M V30 6 N 0.7235 1.717 0.0 0 +M V30 7 N -2.3871 -1.5034 0.0 0 +M V30 8 C -1.5053 -2.7168 0.0 0 +M V30 9 N -0.0787 -2.2532 0.0 0 +M V30 10 O 2.1768 -0.1209 0.0 0 +M V30 11 N -0.9527 3.3542 0.0 0 +M V30 12 H -3.5871 -1.5034 0.0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 2 1 10 +M V30 2 1 1 6 +M V30 3 1 1 2 +M V30 4 1 9 2 +M V30 5 2 2 3 +M V30 6 1 7 3 +M V30 7 1 3 4 +M V30 8 2 4 5 +M V30 9 1 5 6 +M V30 10 1 5 11 +M V30 11 1 7 8 +M V30 12 1 7 12 +M V30 13 2 8 9 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000- +M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS- +M V30 =LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.- +M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - +M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G +M V30 END SGROUP +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/Docs/Book/images/DnaDoubleStrand.png b/Docs/Book/images/DnaDoubleStrand.png new file mode 100644 index 000000000..a963a86d3 Binary files /dev/null and b/Docs/Book/images/DnaDoubleStrand.png differ diff --git a/Docs/Book/images/PeptideConversion.png b/Docs/Book/images/PeptideConversion.png new file mode 100644 index 000000000..1854f78da Binary files /dev/null and b/Docs/Book/images/PeptideConversion.png differ diff --git a/Docs/Book/images/WobbleRna.png b/Docs/Book/images/WobbleRna.png new file mode 100644 index 000000000..ecc883e49 Binary files /dev/null and b/Docs/Book/images/WobbleRna.png differ