From 66c418106b059760fc743940ebd8b9a502ada03e Mon Sep 17 00:00:00 2001 From: Roman Porozhnetov Date: Thu, 19 Oct 2023 10:17:26 +0200 Subject: [PATCH 01/27] monomer fixes --- .../molecule/src/molfile_loader.cpp | 155 +++++++++--------- .../molecule/src/smiles_loader.cpp | 2 +- 2 files changed, 77 insertions(+), 80 deletions(-) diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index 6384e76abf..342ce2acbe 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -2233,7 +2233,6 @@ void MolfileLoader::_readCtab3000() strscan.readWord(buf, " ["); char stopchar = strscan.readChar(); - if (stopchar == '[') { if (_qmol == 0) @@ -2311,93 +2310,90 @@ void MolfileLoader::_readCtab3000() break; } } - else if (buf.size() == 2 && buf[0] == 'D') - { - label = ELEM_H; - isotope = 2; - } - else if (buf.size() == 2 && buf[0] == 'T') - { - label = ELEM_H; - isotope = 3; - } - else if (buf.size() == 2 && buf[0] == 'Q') - { - if (_qmol == 0) - throw Error("'Q' atom is allowed only for queries"); - - atom_type = _ATOM_Q; - } - else if (buf.size() == 3 && buf[0] == 'Q' && buf[1] == 'H') + else { - if (_qmol == 0) - throw Error("'QH' atom is allowed only for queries"); + label = Element::fromString2(buf.ptr()); + long long cur_pos = strscan.tell(); + QS_DEF(ReusableObjArray>, strs); + strs.clear(); + strs.push().readString("CLASS", false); + strs.push().readString("SEQID", false); + auto fw_res = strscan.findWord(strs); + strscan.seek(cur_pos, SEEK_SET); + if (fw_res != -1) + atom_type = _ATOM_TEMPLATE; + else if (label == -1) + atom_type = _ATOM_PSEUDO; + else if (buf.size() == 2 && buf[0] == 'D') + { + label = ELEM_H; + isotope = 2; + } + else if (buf.size() == 2 && buf[0] == 'T') + { + label = ELEM_H; + isotope = 3; + } + else if (buf.size() == 2 && buf[0] == 'Q') + { + if (_qmol == 0) + throw Error("'Q' atom is allowed only for queries"); - atom_type = _ATOM_QH; - } - else if (buf.size() == 2 && buf[0] == 'A') - { - if (_qmol == 0) - throw Error("'A' atom is allowed only for queries"); + atom_type = _ATOM_Q; + } + else if (buf.size() == 3 && buf[0] == 'Q' && buf[1] == 'H') + { + if (_qmol == 0) + throw Error("'QH' atom is allowed only for queries"); - atom_type = _ATOM_A; - } - else if (buf.size() == 3 && buf[0] == 'A' && buf[1] == 'H') - { - if (_qmol == 0) - throw Error("'AH' atom is allowed only for queries"); + atom_type = _ATOM_QH; + } + else if (buf.size() == 2 && buf[0] == 'A') + { + if (_qmol == 0) + throw Error("'A' atom is allowed only for queries"); - atom_type = _ATOM_AH; - } - else if (buf.size() == 2 && buf[0] == 'X' && !treat_x_as_pseudoatom) - { - if (_qmol == 0) - throw Error("'X' atom is allowed only for queries"); + atom_type = _ATOM_A; + } + else if (buf.size() == 3 && buf[0] == 'A' && buf[1] == 'H') + { + if (_qmol == 0) + throw Error("'AH' atom is allowed only for queries"); - atom_type = _ATOM_X; - } - else if (buf.size() == 3 && buf[0] == 'X' && buf[1] == 'H' && !treat_x_as_pseudoatom) - { - if (_qmol == 0) - throw Error("'XH' atom is allowed only for queries"); + atom_type = _ATOM_AH; + } + else if (buf.size() == 2 && buf[0] == 'X' && !treat_x_as_pseudoatom) + { + if (_qmol == 0) + throw Error("'X' atom is allowed only for queries"); - atom_type = _ATOM_XH; - } - else if (buf.size() == 2 && buf[0] == 'M') - { - if (_qmol == 0) - throw Error("'M' atom is allowed only for queries"); + atom_type = _ATOM_X; + } + else if (buf.size() == 3 && buf[0] == 'X' && buf[1] == 'H' && !treat_x_as_pseudoatom) + { + if (_qmol == 0) + throw Error("'XH' atom is allowed only for queries"); - atom_type = _ATOM_M; - } - else if (buf.size() == 3 && buf[0] == 'M' && buf[1] == 'H') - { - if (_qmol == 0) - throw Error("'MH' atom is allowed only for queries"); + atom_type = _ATOM_XH; + } + else if (buf.size() == 2 && buf[0] == 'M') + { + if (_qmol == 0) + throw Error("'M' atom is allowed only for queries"); - atom_type = _ATOM_MH; - } - else if (buf.size() == 3 && buf[0] == 'R' && buf[1] == '#') - { - atom_type = _ATOM_R; - label = ELEM_RSITE; - } - else - { - label = Element::fromString2(buf.ptr()); + atom_type = _ATOM_M; + } + else if (buf.size() == 3 && buf[0] == 'M' && buf[1] == 'H') + { + if (_qmol == 0) + throw Error("'MH' atom is allowed only for queries"); - if (label == -1) + atom_type = _ATOM_MH; + } + else if (buf.size() == 3 && buf[0] == 'R' && buf[1] == '#') { - long long cur_pos = strscan.tell(); - QS_DEF(ReusableObjArray>, strs); - strs.clear(); - strs.push().readString("CLASS", false); - strs.push().readString("SEQID", false); - if (strscan.findWord(strs) != -1) - _atom_types[i] = _ATOM_TEMPLATE; - else - _atom_types[i] = _ATOM_PSEUDO; - strscan.seek(cur_pos, SEEK_SET); + atom_type = _ATOM_R; + label = ELEM_RSITE; } } @@ -2529,11 +2525,12 @@ void MolfileLoader::_readCtab3000() _qmol->addAtom(new QueryMolecule::Atom(QueryMolecule::ATOM_RSITE, 0)); } - // int hcount = 0; + // int hcount = 0; int irflag = 0; int ecflag = 0; int radical = 0; + // read remaining atom properties while (true) { strscan.skipSpace(); diff --git a/core/indigo-core/molecule/src/smiles_loader.cpp b/core/indigo-core/molecule/src/smiles_loader.cpp index c3790d0b3f..f120bbb69b 100644 --- a/core/indigo-core/molecule/src/smiles_loader.cpp +++ b/core/indigo-core/molecule/src/smiles_loader.cpp @@ -381,13 +381,13 @@ void SmilesLoader::_readOtherStuff() if (_bmol->stereocenters.exists(idx)) { _bmol->stereocenters.setType(idx, MoleculeStereocenters::ATOM_ABS, 0); - _overtly_defined_abs.insert(idx); } else { _bmol->addStereocenters(idx, MoleculeStereocenters::ATOM_ABS, 0, false); _bmol->stereocenters.setTetrahydral(idx, false); } + _overtly_defined_abs.insert(idx); if (_scanner.lookNext() == ',') _scanner.skip(1); From b38ee9eae61213e44aa7580069be74d3b46f3242 Mon Sep 17 00:00:00 2001 From: even1024 Date: Mon, 23 Oct 2023 16:00:20 +0200 Subject: [PATCH 02/27] molv3000-fix --- core/indigo-core/molecule/ket_commons.h | 33 ++++ .../molecule/molecule_json_saver.h | 8 + .../molecule/src/molecule_json_saver.cpp | 175 ++++++++++++++---- .../molecule/src/molfile_loader.cpp | 4 +- utils/indigo-depict/main.c | 4 +- 5 files changed, 184 insertions(+), 40 deletions(-) diff --git a/core/indigo-core/molecule/ket_commons.h b/core/indigo-core/molecule/ket_commons.h index b2b070914d..3792cd4787 100644 --- a/core/indigo-core/molecule/ket_commons.h +++ b/core/indigo-core/molecule/ket_commons.h @@ -119,6 +119,20 @@ namespace indigo } } + inline std::string convertAPToHELM(const std::string& atp_id_str) + { + if (::isupper(atp_id_str[0]) && atp_id_str.size() == 2) + { + if (atp_id_str == "Al") + return "R1"; + else if (atp_id_str == "Br") + return "R2"; + else if (atp_id_str[1] == 'x') + return std::string("R") + std::to_string(atp_id_str[0] - 'A' + 1); + } + return atp_id_str; + } + class KETSimpleObject : public MetaObject { public: @@ -358,5 +372,24 @@ namespace indigo int index; }; + // hash for pairs taken from boost library + template + struct std::hash> + { + private: + const hash ah; + const hash bh; + + public: + hash() : ah(), bh() + { + } + + size_t operator()(const std::pair& p) const + { + size_t seed = ah(p.first); + return bh(p.second) + 0x9e3779b9 + (seed << 6) + (seed >> 2); + } + }; } #endif diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 46c8e0cf7b..979fd3c811 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -178,6 +178,7 @@ namespace indigo explicit MoleculeJsonSaver(Output& output); void saveMolecule(BaseMolecule& bmol); void saveMolecule(BaseMolecule& bmol, JsonWriter& writer); + static void saveMetaData(JsonWriter& writer, MetaDataStorage& meta); static std::string monomerId(const TGroup& tg); static std::string monomerAlias(const TGroup& tg); @@ -190,6 +191,10 @@ namespace indigo bool pretty_json; protected: + void saveRoot(BaseMolecule& mol, JsonWriter& writer); + void saveEndpoint(BaseMolecule& mol, const std::string& ep, int beg_idx, int end_idx, JsonWriter& writer); + void collectTemplates(BaseMolecule& mol); + void saveAtoms(BaseMolecule& mol, JsonWriter& writer); void saveBonds(BaseMolecule& mol, JsonWriter& writer); void saveRGroup(PtrPool& fragments, int rgnum, JsonWriter& writer); @@ -214,6 +219,9 @@ namespace indigo Molecule* _pmol; QueryMolecule* _pqmol; Output& _output; + std::list> _s_neighbors; + std::unordered_map> _templates; + std::unordered_map, std::string> _monomer_connections; private: MoleculeJsonSaver(const MoleculeJsonSaver&); // no implicit copy diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index 149c381bf4..26696d9301 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1228,16 +1228,7 @@ void MoleculeJsonSaver::saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writ else writer.String("side"); writer.Key("label"); - if (::isupper(atp_id_str[0]) && atp_id_str.size() == 2) - { - if (atp_id_str == "Al") - atp_id_str = "R1"; - else if (atp_id_str == "Br") - atp_id_str = "R2"; - else if (atp_id_str[1] == 'x') - atp_id_str = std::string("R") + std::to_string(atp_id_str[0] - 'A' + 1); - } - writer.String(atp_id_str.c_str()); + writer.String(convertAPToHELM(atp_id_str).c_str()); } writer.Key("attachmentAtom"); writer.Int(atp.aidx); @@ -1316,34 +1307,44 @@ bool MoleculeJsonSaver::_checkAttPointOrder(BaseMolecule& mol, int rsite) return true; } -void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) +void MoleculeJsonSaver::collectTemplates(BaseMolecule& mol) { - if (add_stereo_desc) - bmol.addCIP(); - - std::unique_ptr mol(bmol.neu()); - mol->clone_KeepIndices(bmol); + for (int i = mol.tgroups.begin(); i != mol.tgroups.end(); i = mol.tgroups.next(i)) + { + auto& tg = mol.tgroups.getTGroup(i); + _templates.emplace(monomerAlias(tg), std::ref(tg)); + } +} - if (!BaseMolecule::hasCoord(*mol)) +void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, int beg_idx, int end_idx, JsonWriter& writer) +{ + writer.Key(ep.c_str()); + writer.StartObject(); + writer.Key("monomerId"); + writer.String((std::string("monomer") + std::to_string(beg_idx)).c_str()); + // find backward connection + auto dst_ap_it = _monomer_connections.find(std::make_pair(end_idx, beg_idx)); + if (dst_ap_it != _monomer_connections.end()) { - MoleculeLayout ml(*mol, false); - ml.layout_orientation = UNCPECIFIED; - ml.make(); + writer.Key("attachmentPointId"); + writer.String(convertAPToHELM(dst_ap_it->second).c_str()); } - BaseMolecule::collapse(*mol); + writer.EndObject(); +} +void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) +{ QS_DEF(Array, buf); ArrayOutput out(buf); writer.StartObject(); - writer.Key("root"); writer.StartObject(); writer.Key("nodes"); writer.StartArray(); - std::list> s_neighbors; - getSGroupAtoms(*mol, s_neighbors); - for (int idx = 0; idx < mol->countComponents(s_neighbors); ++idx) + getSGroupAtoms(mol, _s_neighbors); + // save mol references + for (int idx = 0; idx < mol.countComponents(_s_neighbors); ++idx) { writer.StartObject(); writer.Key("$ref"); @@ -1352,12 +1353,12 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) writer.EndObject(); } - saveMetaData(writer, mol->meta()); + saveMetaData(writer, mol.meta()); - int n_rgroups = mol->rgroups.getRGroupCount(); - for (int i = 1; i <= n_rgroups; ++i) + // save rgroups + for (int i = 1; i <= mol.rgroups.getRGroupCount(); ++i) { - RGroup& rgroup = mol->rgroups.getRGroup(i); + RGroup& rgroup = mol.rgroups.getRGroup(i); if (rgroup.fragments.size() == 0) continue; @@ -1370,16 +1371,55 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) writer.EndObject(); } + // save references to monomer's instances + for (auto i : mol.vertices()) + { + if (mol.isTemplateAtom(i)) + { + writer.StartObject(); + writer.Key("$ref"); + writer.String((std::string("monomer") + std::to_string(i)).c_str()); + writer.EndObject(); + } + } + writer.EndArray(); // nodes - if (mol->tgroups.getTGroupCount()) + if (mol.tgroups.getTGroupCount()) { + // collect attachment points into unordered map -> destination attachment point name + _monomer_connections.clear(); + for (int i = mol.template_attachment_points.begin(); i != mol.template_attachment_points.end(); i = mol.template_attachment_points.next(i)) + { + BaseMolecule::TemplateAttPoint& sap = mol.template_attachment_points.at(i); + _monomer_connections.emplace(std::make_pair(sap.ap_occur_idx, sap.ap_aidx), sap.ap_id.ptr()); + } + + // save connections + writer.Key("connections"); + writer.StartArray(); + for (auto i : mol.edges()) + { + auto& e = mol.getEdge(i); + if (mol.isTemplateAtom(e.beg) && mol.isTemplateAtom(e.end)) + { + writer.StartObject(); + writer.Key("connectionType"); + writer.String(mol.getBondOrder(i) == _BOND_HYDROGEN ? "hydrogen" : "single"); + writer.Key("label"); + writer.String(mol.getTemplateAtom(e.beg)); + // save endpoints + saveEndpoint(mol, "endpoint1", e.beg, e.end, writer); + saveEndpoint(mol, "endpoint2", e.end, e.beg, writer); + writer.EndObject(); // connection + } + } + writer.EndArray(); // connections writer.Key("templates"); writer.StartArray(); - - for (int i = mol->tgroups.begin(); i != mol->tgroups.end(); i = mol->tgroups.next(i)) + for (int i = mol.tgroups.begin(); i != mol.tgroups.end(); i = mol.tgroups.next(i)) { - TGroup& tg = mol->tgroups.getTGroup(i); + TGroup& tg = mol.tgroups.getTGroup(i); auto template_name = std::string("monomerTemplate-") + monomerId(tg); writer.StartObject(); writer.Key("$ref"); @@ -1388,10 +1428,30 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) } writer.EndArray(); // templates } - writer.EndObject(); // root +} + +void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) +{ + if (add_stereo_desc) + bmol.addCIP(); + + std::unique_ptr mol(bmol.neu()); + mol->clone_KeepIndices(bmol); + + if (!BaseMolecule::hasCoord(*mol)) + { + MoleculeLayout ml(*mol, false); + ml.layout_orientation = UNCPECIFIED; + ml.make(); + } + BaseMolecule::collapse(*mol); + + collectTemplates(*mol); + saveRoot(*mol, writer); - for (int idx = 0; idx < mol->countComponents(s_neighbors); idx++) + // save molecules + for (int idx = 0; idx < mol->countComponents(_s_neighbors); idx++) { Filter filt(mol->getDecomposition().ptr(), Filter::EQ, idx); std::unique_ptr component(mol->neu()); @@ -1423,13 +1483,56 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) } } - for (int i = 1; i <= n_rgroups; i++) + // save R-Groups + for (int i = 1; i <= mol->rgroups.getRGroupCount(); i++) { auto& rgrp = mol->rgroups.getRGroup(i); if (rgrp.fragments.size()) saveRGroup(rgrp.fragments, i, writer); } + // save monomers + for (auto i : mol->vertices()) + { + if (mol->isTemplateAtom(i)) + { + writer.Key((std::string("monomer") + std::to_string(i)).c_str()); + writer.StartObject(); + writer.Key("type"); + writer.String("monomer"); + writer.Key("id"); + writer.String(std::to_string(i).c_str()); + auto seqid = mol->getTemplateAtomSeqid(i); + if (seqid != VALUE_UNKNOWN) + { + writer.Key("seqid"); + writer.Int(seqid); + } + // location + writer.Key("position"); + writer.StartObject(); + const auto& pos = mol->getAtomXyz(i); + writer.Key("x"); + writer.Double(pos.x); + writer.Key("y"); + writer.Double(pos.y); + writer.EndObject(); // pos + + // find template! + writer.Key("alias"); + auto alias = mol->getTemplateAtom(i); + writer.String(alias); + auto tg_it = _templates.find(alias); + if (tg_it != _templates.end()) + { + writer.Key("templateId"); + writer.String(monomerId(tg_it->second.get()).c_str()); + } + writer.EndObject(); // monomer + } + } + + // save templates for (int i = mol->tgroups.begin(); i != mol->tgroups.end(); i = mol->tgroups.next(i)) { TGroup& tg = mol->tgroups.getTGroup(i); diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index a0ba1d0bc1..306c317cd9 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -2301,8 +2301,6 @@ void MolfileLoader::_readCtab3000() strscan.seek(cur_pos, SEEK_SET); if (fw_res != -1) atom_type = _ATOM_TEMPLATE; - else if (label == -1) - atom_type = _ATOM_PSEUDO; else if (buf.size() == 2 && buf[0] == 'D') { label = ELEM_H; @@ -2374,6 +2372,8 @@ void MolfileLoader::_readCtab3000() atom_type = _ATOM_R; label = ELEM_RSITE; } + else if (label == -1) + atom_type = _ATOM_PSEUDO; } strscan.skipSpace(); diff --git a/utils/indigo-depict/main.c b/utils/indigo-depict/main.c index c97759bcf9..3b3bc47ded 100644 --- a/utils/indigo-depict/main.c +++ b/utils/indigo-depict/main.c @@ -917,7 +917,7 @@ int main(int argc, char* argv[]) _prepare(obj, p.aromatization); if (p.action == ACTION_LAYOUT) { - indigoLayout(obj); + //indigoLayout(obj); if (p.out_ext == OEXT_MOL) indigoSaveMolfileToFile(obj, p.outfile); else if (p.out_ext == OEXT_KET) @@ -1016,7 +1016,7 @@ int main(int argc, char* argv[]) _prepare(obj, p.aromatization); if (p.action == ACTION_LAYOUT) { - indigoLayout(obj); + //indigoLayout(obj); if (p.out_ext == OEXT_CML) indigoSaveCmlToFile(obj, p.outfile); else if (p.out_ext == OEXT_RXN) From 244138bf98155d645e68cb3cfd16da0d4871e0da Mon Sep 17 00:00:00 2001 From: even1024 Date: Thu, 26 Oct 2023 12:00:02 +0200 Subject: [PATCH 03/27] molv3000-fix --- .../integration/ref/formats/mol_to_ket.py.out | 2 + .../integration/tests/formats/mol_to_ket.py | 2 + .../tests/formats/molecules/conjugate.mol | 892 ++++++++++++++++++ .../tests/formats/molecules/rna_mod.mol | 516 ++++++++++ .../integration/tests/formats/ref/chem.ket | 7 +- .../tests/formats/ref/cysteine.ket | 7 +- .../tests/formats/ref/dcysteine.ket | 7 +- .../tests/formats/ref/dthymine.ket | 7 +- .../integration/tests/formats/ref/thymine.ket | 7 +- .../molecule/molecule_json_saver.h | 11 +- .../molecule/src/molecule_json_saver.cpp | 309 ++++-- 11 files changed, 1681 insertions(+), 86 deletions(-) create mode 100644 api/tests/integration/tests/formats/molecules/conjugate.mol create mode 100644 api/tests/integration/tests/formats/molecules/rna_mod.mol diff --git a/api/tests/integration/ref/formats/mol_to_ket.py.out b/api/tests/integration/ref/formats/mol_to_ket.py.out index 766ba99f34..3d4d20ea4f 100644 --- a/api/tests/integration/ref/formats/mol_to_ket.py.out +++ b/api/tests/integration/ref/formats/mol_to_ket.py.out @@ -4,9 +4,11 @@ SgroupDifferent.ket:SUCCEED atropisomer.ket:SUCCEED chem.ket:SUCCEED +conjugate.ket:SUCCEED cysteine.ket:SUCCEED dcysteine.ket:SUCCEED dthymine.ket:SUCCEED non_atrop.ket:SUCCEED +rna_mod.ket:SUCCEED suplabel.ket:SUCCEED thymine.ket:SUCCEED diff --git a/api/tests/integration/tests/formats/mol_to_ket.py b/api/tests/integration/tests/formats/mol_to_ket.py index 7e7f4a16d8..ead5ee957a 100644 --- a/api/tests/integration/tests/formats/mol_to_ket.py +++ b/api/tests/integration/tests/formats/mol_to_ket.py @@ -35,6 +35,8 @@ def find_diff(a, b): "thymine", "dthymine", "chem", + "rna_mod", + "conjugate" ] files.sort() diff --git a/api/tests/integration/tests/formats/molecules/conjugate.mol b/api/tests/integration/tests/formats/molecules/conjugate.mol new file mode 100644 index 0000000000..1e2a4f4b99 --- /dev/null +++ b/api/tests/integration/tests/formats/molecules/conjugate.mol @@ -0,0 +1,892 @@ + + ACCLDraw10172313272D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 84 87 8 0 1 +M V30 BEGIN ATOM +M V30 1 T 2.1939 -11.979 0 0 CLASS=DNA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 G 2.4679 -11.979 0 0 CLASS=DNA ATTCHORD=(4 1 Al 3 Br) SEQID=2 +M V30 3 G 2.742 -11.979 0 0 CLASS=DNA ATTCHORD=(4 2 Al 4 Br) SEQID=3 +M V30 4 C 3.016 -11.979 0 0 CLASS=DNA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 G 3.29 -11.979 0 0 CLASS=DNA ATTCHORD=(4 4 Al 6 Br) SEQID=5 +M V30 6 T 3.564 -11.979 0 0 CLASS=DNA ATTCHORD=(4 5 Al 7 Br) SEQID=6 +M V30 7 A 3.838 -11.979 0 0 CLASS=DNA ATTCHORD=(4 6 Al 8 Br) SEQID=7 +M V30 8 C 4.112 -11.979 0 0 CLASS=DNA ATTCHORD=(4 7 Al 9 Br) SEQID=8 +M V30 9 T 4.3861 -11.979 0 0 CLASS=DNA ATTCHORD=(4 8 Al 10 Br) SEQID=9 +M V30 10 C 4.6601 -11.979 0 0 CLASS=DNA ATTCHORD=(4 9 Al 11 Br) SEQID=10 +M V30 11 A 5.2081 -11.979 0 0 CLASS=DNA ATTCHORD=(4 10 Al 12 Br) SEQID=11 +M V30 12 C 5.4821 -11.979 0 0 CLASS=DNA ATTCHORD=(4 11 Al 13 Br) SEQID=12 +M V30 13 C 5.7561 -11.979 0 0 CLASS=DNA ATTCHORD=(4 12 Al 14 Br) SEQID=13 +M V30 14 A 6.0302 -11.979 0 0 CLASS=DNA ATTCHORD=(4 13 Al 15 Br) SEQID=14 +M V30 15 G 6.3042 -11.979 0 0 CLASS=DNA ATTCHORD=(4 14 Al 16 Br) SEQID=15 +M V30 16 T 6.5782 -11.979 0 0 CLASS=DNA ATTCHORD=(4 15 Al 17 Br) SEQID=16 +M V30 17 C 6.8522 -11.979 0 0 CLASS=DNA ATTCHORD=(4 16 Al 18 Br) SEQID=17 +M V30 18 G 7.1262 -11.979 0 0 CLASS=DNA ATTCHORD=(4 17 Al 19 Br) SEQID=18 +M V30 19 C 7.4002 -11.979 0 0 CLASS=DNA ATTCHORD=(4 18 Al 20 Br) SEQID=19 +M V30 20 C 7.6742 -11.979 0 0 CLASS=DNA ATTCHORD=(4 19 Al 21 Br) SEQID=20 +M V30 21 G 8.2223 -11.979 0 0 CLASS=DNA ATTCHORD=(4 20 Al 73 Br) SEQID=21 +M V30 22 Asp 12.8242 -16.6664 0 0 CLASS=AA ATTCHORD=(2 55 Br) SEQID=1 +M V30 23 Phe 15.5347 -16.6666 0 0 CLASS=AA ATTCHORD=(4 24 Br 62 Al) SEQID=3 +M V30 24 Gly 15.8703 -16.6666 0 0 CLASS=AA ATTCHORD=(4 25 Br 23 Al) SEQID=4 +M V30 25 His 16.206 -16.6666 0 0 CLASS=AA ATTCHORD=(4 24 Al 26 Br) SEQID=5 +M V30 26 Ile 16.5417 -16.6666 0 0 CLASS=AA ATTCHORD=(4 27 Br 25 Al) SEQID=6 +M V30 27 Lys 16.8773 -16.6666 0 0 CLASS=AA ATTCHORD=(4 26 Al 28 Br) SEQID=7 +M V30 28 Sec 17.213 -16.6666 0 0 CLASS=AA ATTCHORD=(4 27 Al 29 Br) SEQID=8 +M V30 29 Val 17.5487 -16.6666 0 0 CLASS=AA ATTCHORD=(4 84 Br 28 Al) SEQID=9 +M V30 30 Glu 18.494 -16.6666 0 0 CLASS=AA ATTCHORD=(4 31 Br 84 Al) SEQID=11 +M V30 31 Phe 18.8297 -16.6666 0 0 CLASS=AA ATTCHORD=(4 32 Br 30 Al) SEQID=12 +M V30 32 Gly 19.1654 -16.6666 0 0 CLASS=AA ATTCHORD=(4 33 Br 31 Al) SEQID=13 +M V30 33 Sec 19.501 -16.6666 0 0 CLASS=AA ATTCHORD=(4 32 Al 34 Br) SEQID=14 +M V30 34 Val 19.8367 -16.6666 0 0 CLASS=AA ATTCHORD=(4 83 Br 33 Al) SEQID=15 +M V30 35 Sec 20.508 -16.6666 0 0 CLASS=AA ATTCHORD=(4 83 Al 36 Br) SEQID=17 +M V30 36 Val 20.8437 -16.6666 0 0 CLASS=AA ATTCHORD=(4 37 Br 35 Al) SEQID=18 +M V30 37 Ile 21.1794 -16.6666 0 0 CLASS=AA ATTCHORD=(4 38 Br 36 Al) SEQID=19 +M V30 38 Lys 21.5151 -16.6666 0 0 CLASS=AA ATTCHORD=(2 37 Al) SEQID=20 +M V30 39 N 12.5946 -3.0402 0 0 CFG=3 +M V30 40 C 11.4287 -3.2249 0 0 +M V30 41 C 11.7274 -1.3382 0 0 +M V30 42 C 12.7485 -1.9277 0 0 +M V30 43 O 13.7713 -1.3372 0 0 +M V30 44 O 10.8381 -4.2477 0 0 +M V30 45 C 13.6175 -3.6307 0 0 +M V30 46 C 14.6404 -3.0402 0 0 CFG=3 +M V30 47 C 15.6632 -3.6307 0 0 +M V30 48 C 16.6861 -3.0402 0 0 +M V30 49 C 16.6861 -1.8591 0 0 CFG=3 +M V30 50 C 15.6632 -1.2686 0 0 +M V30 51 C 14.6404 -1.8591 0 0 +M V30 52 C 17.7089 -1.2686 0 0 +M V30 53 O 17.7089 -0.0875 0 0 +M V30 54 C 10.8927 -2.173 0 0 CFG=3 +M V30 55 N 13.1598 -16.6664 0 0 CFG=3 +M V30 56 C 14.1793 -16.0778 0 0 CFG=1 +M V30 57 C 14.1793 -14.9004 0 0 +M V30 58 C 15.199 -14.3116 0 0 +M V30 59 C 15.199 -13.1341 0 0 +M V30 60 O 16.2188 -12.5453 0 0 +M V30 61 O 14.1793 -12.5453 0 0 +M V30 62 C 15.199 -16.6666 0 0 +M V30 63 O 15.199 -17.844 0 0 +M V30 64 O 11.5459 -14.1743 0 0 +M V30 65 N 13.2631 -10.5263 0 0 CFG=3 +M V30 66 O 12.0796 -11.0333 0 0 +M V30 67 C 12.9719 -11.6889 0 0 CFG=2 +M V30 68 C 12.6404 -12.7033 0 0 +M V30 69 C 11.5459 -12.7033 0 0 CFG=1 +M V30 70 C 11.2001 -11.6744 0 0 CFG=1 +M V30 71 C 10.1723 -11.3512 0 0 +M V30 72 O 9.8446 -10.3096 0 0 +M V30 73 P 8.4963 -9.7836 0 0 CFG=3 +M V30 74 O 8.4963 -8.6986 0 0 +M V30 75 O 8.4963 -10.8685 0 0 +M V30 76 C 14.3279 -10.0793 0 0 +M V30 77 C 12.2614 -9.7266 0 0 +M V30 78 N 14.5799 -8.8958 0 0 +M V30 79 O 15.2661 -10.84 0 0 +M V30 80 C 12.5229 -8.5698 0 0 +M V30 81 C 13.5832 -8.1286 0 0 +M V30 82 N 13.8337 -6.9516 0 0 +M V30 83 Cys 20.1724 -16.6666 0 0 CLASS=AA ATTCHORD=(4 34 Al 35 Br) SEQID=16 +M V30 84 Cys 17.8843 -16.6666 0 0 CLASS=AA ATTCHORD=(4 29 Al 30 Br) SEQID=10 +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 5 1 6 5 +M V30 6 1 7 6 +M V30 7 1 8 7 +M V30 8 1 9 8 +M V30 9 1 10 9 +M V30 10 1 11 10 +M V30 11 1 12 11 +M V30 12 1 13 12 +M V30 13 1 14 13 +M V30 14 1 15 14 +M V30 15 1 16 15 +M V30 16 1 17 16 +M V30 17 1 18 17 +M V30 18 1 19 18 +M V30 19 1 20 19 +M V30 20 1 21 20 +M V30 21 1 73 21 +M V30 22 1 55 22 +M V30 23 1 62 23 +M V30 24 1 24 23 +M V30 25 1 25 24 +M V30 26 1 25 26 +M V30 27 1 27 26 +M V30 28 1 28 27 +M V30 29 1 28 29 +M V30 30 1 84 29 +M V30 31 1 30 84 +M V30 32 1 30 31 +M V30 33 1 32 31 +M V30 34 1 33 32 +M V30 35 1 33 34 +M V30 36 1 83 34 +M V30 37 1 35 83 +M V30 38 1 35 36 +M V30 39 1 37 36 +M V30 40 1 38 37 +M V30 41 2 52 53 +M V30 42 1 49 52 +M V30 43 1 51 46 +M V30 44 1 50 51 +M V30 45 1 49 50 +M V30 46 1 48 49 +M V30 47 1 47 48 +M V30 48 1 46 47 +M V30 49 1 45 46 +M V30 50 1 39 45 +M V30 51 2 40 44 +M V30 52 2 42 43 +M V30 53 1 41 42 +M V30 54 1 42 39 +M V30 55 1 54 41 +M V30 56 1 40 54 +M V30 57 1 39 40 +M V30 58 2 62 63 +M V30 59 1 56 62 +M V30 60 1 59 61 +M V30 61 2 59 60 +M V30 62 1 58 59 +M V30 63 1 57 58 +M V30 64 1 56 57 CFG=1 +M V30 65 1 55 56 +M V30 66 1 80 81 +M V30 67 1 81 82 +M V30 68 2 78 81 +M V30 69 2 77 80 +M V30 70 2 76 79 +M V30 71 1 76 78 +M V30 72 1 65 77 +M V30 73 1 65 76 +M V30 74 1 71 72 +M V30 75 1 69 64 CFG=3 +M V30 76 1 67 65 CFG=1 +M V30 77 1 70 71 CFG=1 +M V30 78 1 67 68 +M V30 79 1 69 68 +M V30 80 2 73 75 +M V30 81 1 66 67 +M V30 82 1 73 74 +M V30 83 1 70 69 +M V30 84 1 72 73 +M V30 85 1 70 66 +M V30 86 1 54 61 +M V30 87 1 52 64 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(16 39 40 54 41 42 43 44 45 46 47 48 49 50 51 52 53) - +M V30 XBONDS=(2 86 87) LABEL=SMCC ESTATE=E CLASS=LINKER SAP=(3 52 - +M V30 64 Br) SAP=(3 54 61 Al) +M V30 2 SUP 2 ATOMS=(9 55 56 57 62 58 59 60 61 63) XBONDS=(3 23 22 86) LABEL=- +M V30 E ESTATE=E SAP=(3 62 23 Br) SAP=(3 55 22 Al) SAP=(3 61 54 Cx) - +M V30 SEQID=2 +M V30 3 SUP 3 ATOMS=(19 65 64 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81- +M V30 82) XBONDS=(2 21 87) LABEL=C ESTATE=E SAP=(3 73 21 Al) SAP=(3 64 52 - +M V30 Br) SEQID=22 +M V30 4 DAT 4 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 3.7188 -7.8188 DA ALL 1 " +M V30 5 DAT 5 ATOMS=(1 22) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 13.8438 -12.5063 DA ALL 1 " +M V30 6 DAT 6 ATOMS=(16 39 40 54 41 42 43 44 45 46 47 48 49 50 51 52 53) - +M V30 FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 14.6146 -10.1625 DA ALL 1 " +M V30 7 DAT 7 PARENT=2 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=XLINKAA +M V30 8 DAT 8 PARENT=3 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=XLINKDNA +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 56 67 69 70) +M V30 END COLLECTION +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 DNA/T +M V30 BEGIN CTAB +M V30 COUNTS 22 23 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 13.2102 -15.3772 0 0 +M V30 2 N 14.5655 -12.6378 0 0 CFG=3 +M V30 3 O 13.616 -13.0138 0 0 +M V30 4 C 14.2945 -13.5123 0 0 CFG=2 +M V30 5 C 14.0424 -14.2836 0 0 +M V30 6 C 13.2102 -14.2836 0 0 CFG=1 +M V30 7 C 12.9472 -13.5013 0 0 CFG=1 +M V30 8 C 12.1657 -13.2555 0 0 +M V30 9 O 11.9165 -12.4635 0 0 +M V30 10 P 10.9413 -12.1135 0 0 CFG=3 +M V30 11 O 10.9413 -11.2885 0 0 +M V30 12 O 10.9413 -12.9385 0 0 +M V30 13 C 15.4027 -12.3728 0 0 +M V30 14 C 13.8243 -11.9705 0 0 +M V30 15 N 15.6751 -11.494 0 0 CFG=3 +M V30 16 O 16.0606 -13.0135 0 0 +M V30 17 C 14.0967 -11.0918 0 0 +M V30 18 C 14.9733 -10.8443 0 0 +M V30 19 O 15.2442 -9.9702 0 0 +M V30 20 C 13.4376 -10.4484 0 0 +M V30 21 O 10.8008 -13.7454 0 0 +M V30 22 H 13.3787 -13.7454 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 22 +M V30 2 1 7 6 +M V30 3 1 10 11 +M V30 4 1 3 4 +M V30 5 2 10 12 +M V30 6 1 6 5 +M V30 7 1 4 5 +M V30 8 1 7 8 CFG=1 +M V30 9 1 4 2 CFG=1 +M V30 10 1 6 1 CFG=3 +M V30 11 1 8 9 +M V30 12 1 2 13 +M V30 13 1 2 14 +M V30 14 1 13 15 +M V30 15 2 13 16 +M V30 16 2 14 17 +M V30 17 1 15 18 +M V30 18 2 18 19 +M V30 19 1 17 18 +M V30 20 1 7 3 +M V30 21 1 17 20 +M V30 22 1 10 21 +M V30 23 1 9 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(20 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) - +M V30 XBONDS=(2 22 1) CSTATE=(4 22 -1.27 -0 0) CSTATE=(4 1 1.3 -0 - +M V30 0) LABEL=T CLASS=DNA SAP=(3 10 21 Al) SAP=(3 1 22 Br) +M V30 2 SUP 2 ATOMS=(1 21) XBONDS=(1 22) CSTATE=(4 22 1.27 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 22) XBONDS=(1 1) CSTATE=(4 1 -1.3 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 DNA/G +M V30 BEGIN CTAB +M V30 COUNTS 24 26 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.5618 -15.1106 0 0 +M V30 2 N 12.966 -12.397 0 0 CFG=3 +M V30 3 O 11.9676 -12.7223 0 0 +M V30 4 C 12.646 -13.2208 0 0 CFG=2 +M V30 5 C 12.3939 -13.992 0 0 +M V30 6 C 11.5618 -13.992 0 0 CFG=1 +M V30 7 C 11.2987 -13.2097 0 0 CFG=1 +M V30 8 C 10.5172 -12.964 0 0 +M V30 9 O 10.2681 -12.1469 0 0 +M V30 10 P 9.2678 -11.8469 0 0 CFG=3 +M V30 11 O 9.2678 -11.0219 0 0 +M V30 12 O 9.2678 -12.6719 0 0 +M V30 13 N 13.0437 -10.97 0 0 +M V30 14 C 12.485 -11.6546 0 0 +M V30 15 C 13.8675 -11.29 0 0 +M V30 16 C 13.813 -12.1716 0 0 +M V30 17 N 14.5452 -12.6569 0 0 +M V30 18 C 15.3364 -12.2658 0 0 +M V30 19 N 15.3909 -11.3842 0 0 CFG=3 +M V30 20 C 14.6542 -10.8937 0 0 +M V30 21 O 14.7074 -10.0145 0 0 +M V30 22 N 16.0714 -12.7545 0 0 +M V30 23 O 9.1148 -13.4787 0 0 +M V30 24 H 11.6677 -13.4787 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 24 +M V30 2 1 10 23 +M V30 3 1 10 11 +M V30 4 1 3 4 +M V30 5 2 10 12 +M V30 6 1 6 5 +M V30 7 1 2 16 +M V30 8 1 4 5 +M V30 9 1 7 8 CFG=1 +M V30 10 1 15 13 +M V30 11 2 13 14 +M V30 12 1 14 2 +M V30 13 2 15 16 +M V30 14 1 4 2 CFG=1 +M V30 15 1 6 1 CFG=3 +M V30 16 1 8 9 +M V30 17 1 7 3 +M V30 18 1 15 20 +M V30 19 1 16 17 +M V30 20 2 17 18 +M V30 21 1 18 19 +M V30 22 1 19 20 +M V30 23 1 9 10 +M V30 24 2 20 21 +M V30 25 1 7 6 +M V30 26 1 18 22 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(22 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21- +M V30 22) XBONDS=(2 2 1) CSTATE=(4 2 -1.3 0 0) CSTATE=(4 1 1.25 0 0) LABEL=- +M V30 G CLASS=DNA SAP=(3 10 23 Al) SAP=(3 1 24 Br) +M V30 2 SUP 2 ATOMS=(1 23) XBONDS=(1 2) CSTATE=(4 2 1.3 -0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 24) XBONDS=(1 1) CSTATE=(4 1 -1.25 -0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 DNA/C +M V30 BEGIN CTAB +M V30 COUNTS 21 22 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 13.2852 -15.3897 0 0 +M V30 2 N 14.5909 -12.6158 0 0 CFG=3 +M V30 3 O 13.691 -13.0013 0 0 +M V30 4 C 14.3695 -13.4998 0 0 CFG=2 +M V30 5 C 14.1174 -14.2711 0 0 +M V30 6 C 13.2852 -14.2711 0 0 CFG=1 +M V30 7 C 13.0222 -13.4888 0 0 CFG=1 +M V30 8 C 12.2407 -13.243 0 0 +M V30 9 O 11.9915 -12.451 0 0 +M V30 10 P 10.9663 -12.051 0 0 CFG=3 +M V30 11 O 10.9663 -11.226 0 0 +M V30 12 O 10.9663 -12.876 0 0 +M V30 13 C 15.4006 -12.2759 0 0 +M V30 14 C 13.8292 -12.0077 0 0 +M V30 15 N 15.5922 -11.376 0 0 +M V30 16 O 16.114 -12.8543 0 0 +M V30 17 C 14.0281 -11.1281 0 0 +M V30 18 C 14.8343 -10.7926 0 0 +M V30 19 N 15.0248 -9.8976 0 0 +M V30 20 O 10.7508 -13.7204 0 0 +M V30 21 H 13.4536 -13.7204 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 21 +M V30 2 1 7 3 +M V30 3 1 9 10 +M V30 4 1 7 6 +M V30 5 1 10 11 +M V30 6 1 3 4 +M V30 7 2 10 12 +M V30 8 1 6 5 +M V30 9 1 4 5 +M V30 10 1 7 8 CFG=1 +M V30 11 1 4 2 CFG=1 +M V30 12 1 6 1 CFG=3 +M V30 13 1 8 9 +M V30 14 1 2 13 +M V30 15 1 2 14 +M V30 16 1 13 15 +M V30 17 2 13 16 +M V30 18 2 14 17 +M V30 19 2 15 18 +M V30 20 1 18 19 +M V30 21 1 17 18 +M V30 22 1 10 20 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(19 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19) - +M V30 XBONDS=(2 22 1) CSTATE=(4 22 -1.37 -0 0) CSTATE=(4 1 1.33 -0 - +M V30 0) LABEL=C CLASS=DNA SAP=(3 10 20 Al) SAP=(3 1 21 Br) +M V30 2 SUP 2 ATOMS=(1 20) XBONDS=(1 22) CSTATE=(4 22 1.37 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 21) XBONDS=(1 1) CSTATE=(4 1 -1.33 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 4 DNA/A +M V30 BEGIN CTAB +M V30 COUNTS 23 25 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.9021 -15.1356 0 0 +M V30 2 N 13.3063 -12.397 0 0 CFG=3 +M V30 3 O 12.3079 -12.7223 0 0 +M V30 4 C 12.9863 -13.2208 0 0 CFG=2 +M V30 5 C 12.7342 -13.992 0 0 +M V30 6 C 11.9021 -13.992 0 0 CFG=1 +M V30 7 C 11.639 -13.2097 0 0 CFG=1 +M V30 8 C 10.8575 -12.964 0 0 +M V30 9 O 10.6084 -12.1719 0 0 +M V30 10 P 9.5831 -11.8469 0 0 CFG=3 +M V30 11 O 9.5831 -11.0219 0 0 +M V30 12 O 9.5831 -12.6719 0 0 +M V30 13 N 13.384 -10.97 0 0 +M V30 14 C 12.8253 -11.6546 0 0 +M V30 15 C 14.2078 -11.29 0 0 +M V30 16 C 14.1533 -12.1716 0 0 +M V30 17 N 14.8855 -12.6569 0 0 +M V30 18 C 15.6767 -12.2658 0 0 +M V30 19 N 15.7312 -11.3842 0 0 +M V30 20 C 14.9945 -10.8937 0 0 +M V30 21 N 15.0477 -10.0145 0 0 +M V30 22 O 9.3926 -13.4913 0 0 +M V30 23 H 11.9455 -13.4913 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 23 +M V30 2 1 7 6 +M V30 3 1 10 11 +M V30 4 1 3 4 +M V30 5 2 10 12 +M V30 6 1 6 5 +M V30 7 1 2 16 +M V30 8 1 4 5 +M V30 9 1 7 8 CFG=1 +M V30 10 1 15 13 +M V30 11 2 13 14 +M V30 12 1 14 2 +M V30 13 2 15 16 +M V30 14 1 4 2 CFG=1 +M V30 15 1 6 1 CFG=3 +M V30 16 1 8 9 +M V30 17 1 7 3 +M V30 18 1 15 20 +M V30 19 1 16 17 +M V30 20 2 17 18 +M V30 21 1 18 19 +M V30 22 2 19 20 +M V30 23 1 9 10 +M V30 24 1 20 21 +M V30 25 1 10 22 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(21 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21- +M V30 ) XBONDS=(2 25 1) CSTATE=(4 25 -1.35 -0 0) CSTATE=(4 1 1.2 -0 0) - +M V30 LABEL=A CLASS=DNA SAP=(3 10 22 Al) SAP=(3 1 23 Br) +M V30 2 SUP 2 ATOMS=(1 22) XBONDS=(1 25) CSTATE=(4 25 1.35 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 23) XBONDS=(1 1) CSTATE=(4 1 -1.2 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Asp/D/ +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 1 +M V30 BEGIN ATOM +M V30 1 N -3.9532 -1.0983 0 0 CFG=3 +M V30 2 C -3.3617 -0.6658 0 0 CFG=2 +M V30 3 O -2.7387 -1.84 0 0 +M V30 4 C -2.7387 -1.0869 0 0 +M V30 5 C -3.3617 0.0892 0 0 +M V30 6 C -2.7133 0.4694 0 0 +M V30 7 O -2.0644 0.0939 0 0 +M V30 8 O -2.7133 1.22 0 0 +M V30 9 H -3.3905 -0.3084 0 0 +M V30 10 H -4.1738 -1.0926 0 0 +M V30 11 O -2.5238 -1.0926 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 1 4 11 +M V30 3 1 5 6 +M V30 4 1 2 5 CFG=1 +M V30 5 2 6 7 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 1 2 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 -2.55 1.63 0 -2.95 1.6 0 - +M V30 0 0 0) CSTATE=(4 6 0.04 -0.78 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 1) BRKXYZ=(9 -4.51 -0.88 0 -4.51 -1.29 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(3 6 1 2) BRKXYZ=(9 -5.16 - +M V30 -2.3 0 -5.16 2.19 0 0 0 0) CSTATE=(4 6 -0.04 0.78 0) CSTATE=(4 1 - +M V30 -0.83 0 0) CSTATE=(4 2 0.82 0 0) LABEL=D CLASS=AA SAP=(3 8 9 Cx) - +M V30 SAP=(3 1 10 Al) SAP=(3 4 11 Br) +M V30 4 SUP 4 ATOMS=(1 11) XBONDS=(1 2) BRKXYZ=(9 -2.2 -1.28 0 -2.2 -0.87 0 - +M V30 0 0 0) CSTATE=(4 2 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Phe/F/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 1 +M V30 BEGIN ATOM +M V30 1 N -0.824 1.0892 0 0 CFG=3 +M V30 2 C -0.2325 1.5217 0 0 CFG=2 +M V30 3 O 0.3932 0.3475 0 0 +M V30 4 C 0.3904 1.1006 0 0 +M V30 5 C -0.2322 2.2767 0 0 +M V30 6 C 0.4167 3.4042 0 0 +M V30 7 C 0.4167 2.6542 0 0 +M V30 8 C 1.0662 2.2792 0 0 +M V30 9 C 1.7157 2.6542 0 0 +M V30 10 C 1.7157 3.4042 0 0 +M V30 11 C 1.0662 3.7792 0 0 +M V30 12 O 0.6042 1.1 0 0 +M V30 13 H -1.0458 1.0792 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 5 7 +M V30 2 1 4 12 +M V30 3 1 1 13 +M V30 4 2 6 7 +M V30 5 1 1 2 +M V30 6 1 7 8 +M V30 7 1 2 4 +M V30 8 2 8 9 +M V30 9 2 4 3 +M V30 10 1 9 10 +M V30 11 1 2 5 CFG=1 +M V30 12 2 10 11 +M V30 13 1 11 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 2 3) CSTATE=(4 2 - +M V30 0.82 0.01 0) CSTATE=(4 3 -0.83 -0.02 0) LABEL=F CLASS=AA SAP=(3 4 - +M V30 12 Br) SAP=(3 1 13 Al) +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 3) CSTATE=(4 3 0.83 0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 7 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 8 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 9 AA/Ile/I/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 11.451 -3.4691 0 0 CFG=3 +M V30 2 C 12.0425 -3.0367 0 0 CFG=2 +M V30 3 O 12.6654 -4.2108 0 0 +M V30 4 C 12.6654 -3.4577 0 0 +M V30 5 C 12.0425 -2.2816 0 0 CFG=1 +M V30 6 C 12.6925 -1.9069 0 0 +M V30 7 C 11.3935 -1.9063 0 0 +M V30 8 C 11.3935 -1.1542 0 0 +M V30 9 O 12.8792 -3.4577 0 0 +M V30 10 H 11.2292 -3.4542 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 CFG=3 +M V30 4 1 1 2 +M V30 5 1 5 7 +M V30 6 1 2 4 +M V30 7 1 7 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.01 0) LABEL=I CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 10 AA/Lys/K/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3874 -8.2377 0 0 CFG=3 +M V30 2 C 12.9789 -7.8052 0 0 CFG=2 +M V30 3 O 13.6018 -8.9794 0 0 +M V30 4 C 13.6018 -8.2263 0 0 +M V30 5 C 12.9789 -7.0502 0 0 +M V30 6 C 13.6289 -6.6754 0 0 +M V30 7 C 13.6289 -5.9254 0 0 +M V30 8 C 14.2789 -5.5507 0 0 +M V30 9 N 14.2789 -4.8007 0 0 CFG=3 +M V30 10 H 12.9915 -7.302 0 0 +M V30 11 H 12.1665 -8.2377 0 0 +M V30 12 O 13.8165 -8.2263 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 11 +M V30 2 1 5 6 +M V30 3 1 9 10 +M V30 4 1 6 7 +M V30 5 1 4 12 +M V30 6 1 7 8 +M V30 7 1 1 2 +M V30 8 1 8 9 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 11 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -2.09 -0.45 0 -2.5 -0.45 0 - +M V30 0 0 0) CSTATE=(4 3 0 -0.93 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 1) BRKXYZ=(9 -4.73 -4.07 0 -4.73 -4.48 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 1 5) BRKXYZ=(9 -5.38 - +M V30 -5.48 0 -5.38 0.12 0 0 0 0) CSTATE=(4 3 -0 0.93 0) CSTATE=(4 1 - +M V30 -0.83 -0.01 0) CSTATE=(4 5 0.82 0.01 0) LABEL=K CLASS=AA SAP=(3 - +M V30 9 10 Cx) SAP=(3 1 11 Al) SAP=(3 4 12 Br) +M V30 4 SUP 4 ATOMS=(1 12) XBONDS=(1 5) BRKXYZ=(9 -2.42 -4.47 0 -2.42 -4.06 - +M V30 0 0 0 0) CSTATE=(4 5 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 11 AA/Sec/U/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 Se 13.8773 -7.104 0 0 +M V30 2 C 13.161 -8.3437 0 0 CFG=2 +M V30 3 O 13.8503 -9.6271 0 0 +M V30 4 C 13.8503 -8.8003 0 0 +M V30 5 C 13.161 -7.5169 0 0 +M V30 6 N 12.4891 -8.8254 0 0 CFG=3 +M V30 7 H 13.1697 -7.9862 0 0 +M V30 8 H 12.3432 -8.8129 0 0 +M V30 9 O 13.9964 -8.8129 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 7 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 9 +M V30 5 1 5 1 +M V30 6 1 2 4 +M V30 7 1 6 8 +M V30 8 1 6 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(6 6 2 3 4 5 1) XBONDS=(3 7 4 1) CSTATE=(4 7 -0.83 -0 0) - +M V30 CSTATE=(4 4 0.83 -0 0) CSTATE=(4 1 0 0.83 0) LABEL=U - +M V30 CLASS=AA SAP=(3 6 8 Al) SAP=(3 4 9 Br) SAP=(3 1 7 Cx) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 0.83 0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 4) CSTATE=(4 4 -0.83 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 7) XBONDS=(1 1) CSTATE=(4 1 0 -0.83 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 12 AA/Val/V/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 5.7968 -18.3649 0 0 CFG=3 +M V30 2 C 6.3883 -17.9325 0 0 CFG=2 +M V30 3 O 7.0113 -19.1066 0 0 +M V30 4 C 7.0113 -18.3536 0 0 +M V30 5 C 6.3883 -17.1774 0 0 CFG=3 +M V30 6 C 7.0383 -16.8027 0 0 +M V30 7 C 5.7393 -16.8022 0 0 +M V30 8 O 7.225 -18.3536 0 0 +M V30 9 H 5.575 -18.35 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 5 CFG=1 +M V30 2 1 4 8 +M V30 3 1 1 9 +M V30 4 1 5 6 +M V30 5 1 1 2 +M V30 6 1 5 7 +M V30 7 1 2 4 +M V30 8 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 2 3) CSTATE=(4 2 0.82 0.01 - +M V30 0) CSTATE=(4 3 -0.83 0.01 0) LABEL=V CLASS=AA SAP=(3 4 8 Br) SAP=(3 - +M V30 1 9 Al) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 3) CSTATE=(4 3 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 13 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 7.5407 -8.8161 0 0 CFG=3 +M V30 2 C 8.5633 -8.2257 0 0 CFG=1 +M V30 3 C 8.5633 -7.0446 0 0 +M V30 4 C 9.5862 -6.454 0 0 +M V30 5 C 9.5862 -5.2728 0 0 +M V30 6 O 10.6092 -4.6822 0 0 +M V30 7 O 8.5633 -4.6822 0 0 +M V30 8 H 8.5634 -7.6351 0 0 +M V30 9 C 9.5862 -8.8163 0 0 +M V30 10 O 10.7654 -8.8163 0 0 +M V30 11 O 9.5862 -9.9974 0 0 +M V30 12 H 6.4866 -8.8161 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 2 5 6 +M V30 6 1 5 7 +M V30 7 1 7 8 +M V30 8 1 2 9 +M V30 9 1 9 10 +M V30 10 2 9 11 +M V30 11 1 1 12 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 0 -1.18 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 2.08 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) CSTATE=(4 9 -2.2 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 9 4 5 6 7 11) XBONDS=(3 11 9 7) CSTATE=(4 11 - +M V30 -2.08 0 0) CSTATE=(4 9 2.2 -0 0) CSTATE=(4 7 -0 1.18 0) LABEL=E - +M V30 CLASS=AA SAP=(3 9 10 Br) SAP=(3 1 12 Al) SAP=(3 7 8 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 14 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.2012 -7.1587 0 0 +M V30 2 H 8.3747 -7.9854 0 0 +M V30 3 O 10.0281 -7.9854 0 0 +M V30 4 S 9.7182 -6.7372 0 0 +M V30 5 C 9.1949 -7.6427 0 0 CFG=2 +M V30 6 O 9.6984 -8.5803 0 0 +M V30 7 C 9.6984 -7.9763 0 0 +M V30 8 C 9.1949 -7.0388 0 0 +M V30 9 N 8.7041 -7.9947 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 1 +M V30 2 1 7 3 +M V30 3 1 9 2 +M V30 4 2 7 6 +M V30 5 1 5 8 CFG=1 +M V30 6 1 8 4 +M V30 7 1 5 7 +M V30 8 1 9 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 3) CSTATE=(4 3 0.83 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 2) CSTATE=(4 2 -0.83 -0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 0 -0.83 0) LABEL=H - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(6 9 5 6 7 8 4) XBONDS=(3 3 2 1) CSTATE=(4 3 -0.83 0 0) - +M V30 CSTATE=(4 2 0.83 0 0) CSTATE=(4 1 -0 0.83 0) LABEL=C - +M V30 CLASS=AA SAP=(3 9 2 Al) SAP=(3 7 3 Br) SAP=(3 4 1 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/api/tests/integration/tests/formats/molecules/rna_mod.mol b/api/tests/integration/tests/formats/molecules/rna_mod.mol new file mode 100644 index 0000000000..a3328294a5 --- /dev/null +++ b/api/tests/integration/tests/formats/molecules/rna_mod.mol @@ -0,0 +1,516 @@ + + ACCLDraw10172313222D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 102 109 25 0 1 +M V30 BEGIN ATOM +M V30 1 C 9.2188 -6.3125 0 0 CLASS=RNA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 C 9.4928 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 1 Al 3 Br) SEQID=2 +M V30 3 G 9.7668 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 2 Al 90 Br) SEQID=3 +M V30 4 G 10.3148 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 82 Al 5 Br) SEQID=5 +M V30 5 C 10.5888 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 4 Al 6 Br) SEQID=6 +M V30 6 G 10.8628 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 5 Al 33 Br) SEQID=7 +M V30 7 A 11.4109 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 13 Al 8 Br) SEQID=9 +M V30 8 A 11.6849 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 7 Al 67 Br) SEQID=10 +M V30 9 C 12.5069 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 58 Al 10 Br) SEQID=12 +M V30 10 A 12.781 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 9 Al 11 Br) SEQID=13 +M V30 11 C 13.055 -6.3125 0 0 CLASS=RNA ATTCHORD=(4 10 Al 53 Br) SEQID=14 +M V30 12 A 13.603 -6.3125 0 0 CLASS=RNA ATTCHORD=(2 36 Al) SEQID=16 +M V30 13 O 11.5481 -6.951 0 1 +M V30 14 O 12.064 -6.7743 0 1 +M V30 15 N 12.096 -5.8921 0 2 CFG=3 +M V30 16 O 11.7064 -6.0191 0 1 +M V30 17 C 11.9711 -6.2136 0 1 CFG=2 +M V30 18 C 11.8728 -6.5145 0 1 CFG=1 +M V30 19 C 11.4454 -6.2093 0 1 CFG=2 +M V30 20 C 11.1405 -6.1134 0 1 +M V30 21 O 11.0433 -5.8043 0 1 +M V30 22 N 12.1263 -5.3353 0 2 +M V30 23 C 11.9083 -5.6025 0 2 +M V30 24 C 12.4477 -5.4602 0 2 +M V30 25 C 12.4265 -5.8042 0 2 +M V30 26 N 12.7122 -5.9936 0 2 +M V30 27 C 13.0209 -5.841 0 2 +M V30 28 N 13.0422 -5.497 0 2 CFG=3 +M V30 29 C 12.7547 -5.3056 0 2 +M V30 30 O 12.7755 -4.9625 0 2 +M V30 31 N 13.3077 -6.0316 0 2 +M V30 32 C 11.5481 -6.5145 0 1 CFG=1 +M V30 33 P 10.7256 -5.674 0 3 CFG=3 +M V30 34 O 10.7742 -6.0343 0 3 +M V30 35 S 11.0132 -5.4516 0 3 +M V30 36 O 13.7378 -6.935 0 1 +M V30 37 O 14.2441 -6.7616 0 1 +M V30 38 N 14.2591 -5.8774 0 2 CFG=3 +M V30 39 O 13.8932 -6.0206 0 1 +M V30 40 C 14.153 -6.2114 0 1 CFG=2 +M V30 41 C 14.0564 -6.5068 0 1 CFG=1 +M V30 42 C 13.6371 -6.2072 0 1 CFG=2 +M V30 43 C 13.3379 -6.1131 0 1 +M V30 44 O 13.2425 -5.8099 0 1 +M V30 45 C 14.5804 -5.7782 0 2 +M V30 46 C 13.9937 -5.6251 0 2 +M V30 47 N 14.6871 -5.4425 0 2 +M V30 48 O 14.8305 -6.0253 0 2 +M V30 49 C 14.1004 -5.2895 0 2 +M V30 50 C 14.4202 -5.1918 0 2 +M V30 51 N 14.5263 -4.8579 0 2 +M V30 52 C 13.7378 -6.5068 0 1 CFG=1 +M V30 53 P 12.9202 -5.69 0 3 CFG=3 +M V30 54 O 12.9807 -6.0491 0 3 +M V30 55 S 13.2007 -5.4578 0 3 +M V30 56 Cl 14.0938 -7.85 0 0 +M V30 57 Cl 14.75 -6.4125 0 0 +M V30 58 O 12.6388 -6.9759 0 1 +M V30 59 O 13.1523 -6.7613 0 1 +M V30 60 O 12.7965 -6.0097 0 1 +M V30 61 C 13.0599 -6.2033 0 1 CFG=2 +M V30 62 C 12.5367 -6.199 0 1 CFG=2 +M V30 63 C 12.2332 -6.1036 0 1 +M V30 64 O 12.1365 -5.796 0 1 +M V30 65 C 12.6388 -6.5027 0 1 CFG=2 +M V30 66 C 12.962 -6.5027 0 1 CFG=1 +M V30 67 P 11.827 -5.6491 0 3 CFG=3 +M V30 68 O 11.856 -6.0107 0 3 +M V30 69 O 12.1256 -5.443 0 3 +M V30 70 C 13.1698 -4.9635 0 2 +M V30 71 C 13.2673 -5.3091 0 2 +M V30 72 C 13.0168 -5.5664 0 2 +M V30 73 N 12.6687 -5.478 0 2 +M V30 74 C 12.5711 -5.1324 0 2 +M V30 75 N 12.8216 -4.8751 0 2 +M V30 76 N 13.184 -5.884 0 2 CFG=3 +M V30 77 N 13.5379 -5.8231 0 2 +M V30 78 C 13.5893 -5.4677 0 2 +M V30 79 N 13.3702 -4.7576 0 2 +M V30 80 N 12.2926 -5.0617 0 2 +M V30 81 Br 13.8436 -5.3338 0 2 +M V30 82 O 10.4831 -6.9633 0 1 +M V30 83 O 10.9986 -6.7867 0 1 +M V30 84 O 10.6413 -6.0322 0 1 +M V30 85 C 10.9058 -6.2266 0 1 CFG=2 +M V30 86 C 10.8075 -6.5272 0 1 CFG=1 +M V30 87 C 10.3805 -6.2222 0 1 CFG=2 +M V30 88 C 10.0758 -6.1264 0 1 +M V30 89 O 9.9787 -5.8176 0 1 +M V30 90 P 9.5985 -5.6617 0 3 CFG=3 +M V30 91 O 9.4426 -5.3401 0 3 +M V30 92 O 9.5985 -5.9833 0 3 +M V30 93 C 10.4831 -6.5272 0 1 CFG=1 +M V30 94 C 11.436 -5.294 0 2 +M V30 95 C 11.5999 -5.623 0 2 +M V30 96 C 11.3969 -5.9294 0 2 +M V30 97 N 11.03 -5.9068 0 2 CFG=3 +M V30 98 C 10.8662 -5.5778 0 2 +M V30 99 N 11.0691 -5.2714 0 2 CFG=3 +M V30 100 O 11.5984 -5.0488 0 2 +M V30 101 O 10.5727 -5.5597 0 2 +M V30 102 F 11.8934 -5.6411 0 2 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 3 2 +M V30 3 1 90 3 +M V30 4 1 4 82 +M V30 5 1 5 4 +M V30 6 1 6 5 +M V30 7 1 33 6 +M V30 8 1 7 13 +M V30 9 1 8 7 +M V30 10 1 67 8 +M V30 11 1 9 58 +M V30 12 1 10 9 +M V30 13 1 11 10 +M V30 14 1 53 11 +M V30 15 1 12 36 +M V30 16 1 33 35 +M V30 17 2 33 34 +M V30 18 2 29 30 +M V30 19 1 28 29 +M V30 20 1 27 31 +M V30 21 1 27 28 +M V30 22 2 26 27 +M V30 23 1 25 26 +M V30 24 1 24 29 +M V30 25 2 24 25 +M V30 26 2 22 23 +M V30 27 1 24 22 +M V30 28 1 33 21 +M V30 29 1 20 21 +M V30 30 1 19 32 +M V30 31 1 19 20 CFG=1 +M V30 32 1 32 18 +M V30 33 1 17 18 +M V30 34 1 19 16 +M V30 35 1 16 17 +M V30 36 1 17 15 CFG=1 +M V30 37 1 23 15 +M V30 38 1 15 25 +M V30 39 1 18 14 CFG=3 +M V30 40 1 32 13 CFG=3 +M V30 41 1 53 55 +M V30 42 2 53 54 +M V30 43 1 50 51 +M V30 44 1 49 50 +M V30 45 2 47 50 +M V30 46 2 46 49 +M V30 47 2 45 48 +M V30 48 1 45 47 +M V30 49 1 53 44 +M V30 50 1 43 44 +M V30 51 1 42 43 CFG=1 +M V30 52 1 42 52 +M V30 53 1 52 41 +M V30 54 1 40 41 +M V30 55 1 39 40 +M V30 56 1 42 39 +M V30 57 1 38 46 +M V30 58 1 38 45 +M V30 59 1 40 38 CFG=1 +M V30 60 1 41 37 CFG=3 +M V30 61 1 52 36 CFG=3 +M V30 62 1 78 81 +M V30 63 2 77 78 +M V30 64 1 76 77 +M V30 65 1 74 80 +M V30 66 1 74 75 +M V30 67 2 73 74 +M V30 68 1 72 73 +M V30 69 1 76 72 +M V30 70 2 71 72 +M V30 71 1 78 71 +M V30 72 1 70 71 +M V30 73 2 70 75 +M V30 74 1 70 79 +M V30 75 1 67 69 +M V30 76 2 67 68 +M V30 77 1 65 66 +M V30 78 1 67 64 +M V30 79 1 63 64 +M V30 80 1 62 65 +M V30 81 1 62 63 CFG=1 +M V30 82 1 61 76 CFG=1 +M V30 83 1 61 66 +M V30 84 1 62 60 +M V30 85 1 60 61 +M V30 86 1 66 59 CFG=3 +M V30 87 1 65 58 CFG=3 +M V30 88 1 98 99 +M V30 89 2 98 101 +M V30 90 1 97 98 +M V30 91 1 96 97 +M V30 92 1 95 102 +M V30 93 2 95 96 +M V30 94 1 94 95 +M V30 95 1 94 99 +M V30 96 2 94 100 +M V30 97 2 90 92 +M V30 98 1 90 91 +M V30 99 1 89 90 +M V30 100 1 88 89 +M V30 101 1 87 93 +M V30 102 1 87 88 CFG=1 +M V30 103 1 93 86 +M V30 104 1 85 97 CFG=1 +M V30 105 1 85 86 +M V30 106 1 87 84 +M V30 107 1 84 85 +M V30 108 1 86 83 CFG=3 +M V30 109 1 93 82 CFG=3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(23 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30- +M V30 31 32 33 34 35) XBONDS=(2 8 7) CSTATE=(4 8 0.27 0 0) CSTATE=(4 7 - +M V30 -0.27 0 0) LABEL=G SAP=(3 13 7 Br) SAP=(3 33 6 Al) SEQID=8 +M V30 2 DAT 2 PARENT=1 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=sP +M V30 3 DAT 3 PARENT=1 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=G +M V30 4 DAT 4 PARENT=1 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=R +M V30 5 SUP 5 ATOMS=(20 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53- +M V30 54 55) XBONDS=(2 15 14) CSTATE=(4 15 0.27 0 0) CSTATE=(4 14 -0.27 0 - +M V30 0) LABEL=C SAP=(3 36 12 Br) SAP=(3 53 11 Al) SEQID=15 +M V30 6 DAT 6 PARENT=5 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=sP +M V30 7 DAT 7 PARENT=5 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=C +M V30 8 DAT 8 PARENT=5 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=R +M V30 9 SUP 9 ATOMS=(24 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75- +M V30 76 77 78 79 80 81) XBONDS=(2 11 10) CSTATE=(4 11 0.27 0 0) CSTATE=(4 - +M V30 10 -0.55 0 0) LABEL=dabA SAP=(3 58 9 Br) SAP=(3 67 8 Al) SEQID=11 +M V30 10 DAT 10 PARENT=9 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=P +M V30 11 DAT 11 PARENT=9 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=dabA +M V30 12 DAT 12 PARENT=9 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=R +M V30 13 SUP 13 ATOMS=(21 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 - +M V30 99 100 101 102) XBONDS=(2 4 3) CSTATE=(4 4 0.27 0 0) CSTATE=(4 3 - +M V30 -0.27 0 0) LABEL=5fU SAP=(3 90 3 Al) SAP=(3 82 4 Br) SEQID=4 +M V30 14 DAT 14 PARENT=13 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=P +M V30 15 DAT 15 PARENT=13 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=5fU +M V30 16 DAT 16 PARENT=13 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=R +M V30 17 DAT 17 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 9.2188 -6.3125 DA ALL 1 " +M V30 18 DAT 18 PARENT=1 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODRNA NATREPLACE=RNA/G +M V30 19 DAT 19 PARENT=5 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODRNA NATREPLACE=RNA/C +M V30 20 DAT 20 PARENT=9 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODRNA NATREPLACE=RNA/dabA +M V30 21 DAT 21 PARENT=13 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODRNA NATREPLACE=RNA/5fU +M V30 22 DAT 22 ATOMS=(23 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - +M V30 30 31 32 33 34 35) FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 23 DAT 23 ATOMS=(20 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 - +M V30 53 54 55) FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 24 DAT 24 ATOMS=(24 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 - +M V30 75 76 77 78 79 80 81) FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 25 DAT 25 ATOMS=(21 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 - +M V30 99 100 101 102) FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(16 17 18 19 32 40 41 42 52 61 62 65 66 85 86 87 93- +M V30 ) +M V30 END COLLECTION +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 RNA/C +M V30 BEGIN CTAB +M V30 COUNTS 22 23 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 12.8102 -15.7147 0 0 +M V30 2 O 14.1325 -15.2617 0 0 +M V30 3 N 14.1718 -12.9523 0 0 CFG=3 +M V30 4 O 13.216 -13.3263 0 0 +M V30 5 C 13.8945 -13.8248 0 0 CFG=2 +M V30 6 C 13.6424 -14.5961 0 0 CFG=1 +M V30 7 C 12.5472 -13.8138 0 0 CFG=2 +M V30 8 C 11.7657 -13.568 0 0 +M V30 9 O 11.5165 -12.776 0 0 +M V30 10 P 10.4413 -12.376 0 0 CFG=3 +M V30 11 O 10.0663 -11.551 0 0 +M V30 12 O 10.4413 -13.201 0 0 +M V30 13 C 15.0109 -12.6933 0 0 +M V30 14 C 13.4786 -12.2934 0 0 +M V30 15 N 15.2896 -11.8165 0 0 +M V30 16 O 15.6641 -13.3387 0 0 +M V30 17 C 13.7573 -11.4167 0 0 +M V30 18 C 14.5925 -11.1617 0 0 +M V30 19 N 14.8697 -10.2896 0 0 +M V30 20 O 10.4352 -14.0454 0 0 +M V30 21 H 12.5596 -14.0454 0 0 +M V30 22 C 12.8102 -14.5961 0 0 CFG=1 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 21 +M V30 2 1 7 4 +M V30 3 1 9 10 +M V30 4 1 7 22 +M V30 5 1 10 11 +M V30 6 1 4 5 +M V30 7 2 10 12 +M V30 8 1 22 6 +M V30 9 1 5 6 +M V30 10 1 7 8 CFG=1 +M V30 11 1 5 3 CFG=1 +M V30 12 1 6 2 CFG=3 +M V30 13 1 22 1 CFG=3 +M V30 14 1 8 9 +M V30 15 1 3 13 +M V30 16 1 3 14 +M V30 17 1 13 15 +M V30 18 2 13 16 +M V30 19 2 14 17 +M V30 20 2 15 18 +M V30 21 1 18 19 +M V30 22 1 17 18 +M V30 23 1 10 20 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 22) - +M V30 XBONDS=(2 23 1) CSTATE=(4 23 -1.19 -0 0) CSTATE=(4 1 0.93 -0 - +M V30 0) LABEL=C CLASS=RNA SAP=(3 10 20 Al) SAP=(3 1 21 Br) +M V30 2 SUP 2 ATOMS=(1 20) XBONDS=(1 23) CSTATE=(4 23 1.19 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 21) XBONDS=(1 1) CSTATE=(4 1 -0.93 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 5 6 7 22) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 RNA/G +M V30 BEGIN CTAB +M V30 COUNTS 25 27 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.6368 -14.8356 0 0 +M V30 2 O 12.9591 -14.3827 0 0 +M V30 3 N 13.041 -12.122 0 0 CFG=3 +M V30 4 O 12.0426 -12.4473 0 0 +M V30 5 C 12.721 -12.9458 0 0 CFG=2 +M V30 6 C 12.4689 -13.717 0 0 CFG=1 +M V30 7 C 11.3737 -12.9347 0 0 CFG=2 +M V30 8 C 10.5922 -12.689 0 0 +M V30 9 O 10.3431 -11.8969 0 0 +M V30 10 P 9.3678 -11.4969 0 0 CFG=3 +M V30 11 O 8.9678 -10.6719 0 0 +M V30 12 O 9.3678 -12.3219 0 0 +M V30 13 N 13.1187 -10.695 0 0 +M V30 14 C 12.56 -11.3796 0 0 +M V30 15 C 13.9425 -11.015 0 0 +M V30 16 C 13.888 -11.8966 0 0 +M V30 17 N 14.6202 -12.3819 0 0 +M V30 18 C 15.4114 -11.9908 0 0 +M V30 19 N 15.4659 -11.1092 0 0 CFG=3 +M V30 20 C 14.7292 -10.6187 0 0 +M V30 21 O 14.7824 -9.7395 0 0 +M V30 22 N 16.1464 -12.4795 0 0 +M V30 23 O 9.5273 -13.1662 0 0 +M V30 24 H 11.5457 -13.1662 0 0 +M V30 25 C 11.6368 -13.717 0 0 CFG=1 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 24 +M V30 2 1 10 23 +M V30 3 1 10 11 +M V30 4 1 4 5 +M V30 5 2 10 12 +M V30 6 1 25 6 +M V30 7 1 3 16 +M V30 8 1 5 6 +M V30 9 1 7 8 CFG=1 +M V30 10 1 15 13 +M V30 11 2 13 14 +M V30 12 1 14 3 +M V30 13 2 15 16 +M V30 14 1 5 3 CFG=1 +M V30 15 1 6 2 CFG=3 +M V30 16 1 25 1 CFG=3 +M V30 17 1 8 9 +M V30 18 1 7 4 +M V30 19 1 15 20 +M V30 20 1 16 17 +M V30 21 2 17 18 +M V30 22 1 18 19 +M V30 23 1 19 20 +M V30 24 1 9 10 +M V30 25 2 20 21 +M V30 26 1 7 25 +M V30 27 1 18 22 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21- +M V30 22 25) XBONDS=(2 2 1) CSTATE=(4 2 -0.97 0 0) CSTATE=(4 1 1.04 0 0) - +M V30 LABEL=G CLASS=RNA SAP=(3 10 23 Al) SAP=(3 1 24 Br) +M V30 2 SUP 2 ATOMS=(1 23) XBONDS=(1 2) CSTATE=(4 2 0.97 -0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 24) XBONDS=(1 1) CSTATE=(4 1 -1.04 -0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 5 6 7 25) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 RNA/A +M V30 BEGIN CTAB +M V30 COUNTS 24 26 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.9896 -15.5356 0 0 +M V30 2 O 13.3119 -14.9827 0 0 +M V30 3 N 13.3938 -12.722 0 0 CFG=3 +M V30 4 O 12.3954 -13.0473 0 0 +M V30 5 C 13.0738 -13.5458 0 0 CFG=2 +M V30 6 C 11.7265 -13.5347 0 0 CFG=2 +M V30 7 C 10.945 -13.289 0 0 +M V30 8 O 10.6959 -12.4969 0 0 +M V30 9 P 9.6956 -12.0219 0 0 CFG=3 +M V30 10 O 9.2706 -11.2719 0 0 +M V30 11 O 9.6956 -12.8469 0 0 +M V30 12 N 13.4715 -11.295 0 0 +M V30 13 C 12.9128 -11.9796 0 0 +M V30 14 C 14.2953 -11.615 0 0 +M V30 15 C 14.2408 -12.4966 0 0 +M V30 16 N 14.973 -12.9819 0 0 +M V30 17 C 15.7642 -12.5908 0 0 +M V30 18 N 15.8187 -11.7092 0 0 +M V30 19 C 15.082 -11.2187 0 0 +M V30 20 N 15.1352 -10.3395 0 0 +M V30 21 O 9.7426 -13.7788 0 0 +M V30 22 H 12.0235 -13.7788 0 0 +M V30 23 C 11.9896 -14.317 0 0 CFG=2 +M V30 24 C 12.8217 -14.317 0 0 CFG=1 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 22 +M V30 2 1 6 23 +M V30 3 1 9 10 +M V30 4 1 4 5 +M V30 5 2 9 11 +M V30 6 1 23 24 +M V30 7 1 3 15 +M V30 8 1 5 24 +M V30 9 1 6 7 CFG=1 +M V30 10 1 14 12 +M V30 11 2 12 13 +M V30 12 1 13 3 +M V30 13 2 14 15 +M V30 14 1 5 3 CFG=1 +M V30 15 1 24 2 CFG=3 +M V30 16 1 23 1 CFG=3 +M V30 17 1 7 8 +M V30 18 1 6 4 +M V30 19 1 14 19 +M V30 20 1 15 16 +M V30 21 2 16 17 +M V30 22 1 17 18 +M V30 23 2 18 19 +M V30 24 1 8 9 +M V30 25 1 19 20 +M V30 26 1 9 21 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 23- +M V30 24) XBONDS=(2 26 1) CSTATE=(4 26 -1.1 -0 0) CSTATE=(4 1 1.18 -0 0) - +M V30 LABEL=A CLASS=RNA SAP=(3 9 21 Al) SAP=(3 1 22 Br) +M V30 2 SUP 2 ATOMS=(1 21) XBONDS=(1 26) CSTATE=(4 26 1.1 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 22) XBONDS=(1 1) CSTATE=(4 1 -1.18 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(4 5 6 23 24) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/api/tests/integration/tests/formats/ref/chem.ket b/api/tests/integration/tests/formats/ref/chem.ket index 8b9923cc5b..d49be98620 100644 --- a/api/tests/integration/tests/formats/ref/chem.ket +++ b/api/tests/integration/tests/formats/ref/chem.ket @@ -1,15 +1,16 @@ { "root": { "nodes": [], + "connections": [], "templates": [ { - "$ref": "monomerTemplate-cch_3" + "$ref": "monomerTemplate-cch_2" } ] }, - "monomerTemplate-cch_3": { + "monomerTemplate-cch_2": { "type": "monomerTemplate", - "id": "cch_3", + "id": "cch_2", "class": "Chem", "classHELM": "CHEM", "alias": "cch", diff --git a/api/tests/integration/tests/formats/ref/cysteine.ket b/api/tests/integration/tests/formats/ref/cysteine.ket index e8a46d44c1..a102a5a252 100644 --- a/api/tests/integration/tests/formats/ref/cysteine.ket +++ b/api/tests/integration/tests/formats/ref/cysteine.ket @@ -1,15 +1,16 @@ { "root": { "nodes": [], + "connections": [], "templates": [ { - "$ref": "monomerTemplate-cys_3" + "$ref": "monomerTemplate-cys_2" } ] }, - "monomerTemplate-cys_3": { + "monomerTemplate-cys_2": { "type": "monomerTemplate", - "id": "cys_3", + "id": "cys_2", "class": "AminoAcid", "classHELM": "PEPTIDE", "alias": "C", diff --git a/api/tests/integration/tests/formats/ref/dcysteine.ket b/api/tests/integration/tests/formats/ref/dcysteine.ket index 34379115a6..14a178e0b9 100644 --- a/api/tests/integration/tests/formats/ref/dcysteine.ket +++ b/api/tests/integration/tests/formats/ref/dcysteine.ket @@ -1,15 +1,16 @@ { "root": { "nodes": [], + "connections": [], "templates": [ { - "$ref": "monomerTemplate-cys_27" + "$ref": "monomerTemplate-cys_26" } ] }, - "monomerTemplate-cys_27": { + "monomerTemplate-cys_26": { "type": "monomerTemplate", - "id": "cys_27", + "id": "cys_26", "class": "D-AminoAcid", "classHELM": "PEPTIDE", "alias": "dc", diff --git a/api/tests/integration/tests/formats/ref/dthymine.ket b/api/tests/integration/tests/formats/ref/dthymine.ket index d7cd558006..124dae7cda 100644 --- a/api/tests/integration/tests/formats/ref/dthymine.ket +++ b/api/tests/integration/tests/formats/ref/dthymine.ket @@ -1,15 +1,16 @@ { "root": { "nodes": [], + "connections": [], "templates": [ { - "$ref": "monomerTemplate-Thy_45" + "$ref": "monomerTemplate-Thy_44" } ] }, - "monomerTemplate-Thy_45": { + "monomerTemplate-Thy_44": { "type": "monomerTemplate", - "id": "Thy_45", + "id": "Thy_44", "class": "DNA", "classHELM": "RNA", "alias": "T", diff --git a/api/tests/integration/tests/formats/ref/thymine.ket b/api/tests/integration/tests/formats/ref/thymine.ket index c87483e86f..de0d2fd5aa 100644 --- a/api/tests/integration/tests/formats/ref/thymine.ket +++ b/api/tests/integration/tests/formats/ref/thymine.ket @@ -1,15 +1,16 @@ { "root": { "nodes": [], + "connections": [], "templates": [ { - "$ref": "monomerTemplate-Thy_131" + "$ref": "monomerTemplate-Thy_130" } ] }, - "monomerTemplate-Thy_131": { + "monomerTemplate-Thy_130": { "type": "monomerTemplate", - "id": "Thy_131", + "id": "Thy_130", "class": "RNA", "classHELM": "RNA", "alias": "T", diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 979fd3c811..b1f1182384 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -183,8 +183,8 @@ namespace indigo static std::string monomerId(const TGroup& tg); static std::string monomerAlias(const TGroup& tg); - static std::string monomerKETClass(const TGroup& tg); - static std::string monomerHELMClass(const TGroup& tg); + static std::string monomerKETClass(const std::string& class_name); + static std::string monomerHELMClass(const std::string& class_name); static std::string naturalAnalog(const TGroup& tg); bool add_stereo_desc; @@ -193,7 +193,9 @@ namespace indigo protected: void saveRoot(BaseMolecule& mol, JsonWriter& writer); void saveEndpoint(BaseMolecule& mol, const std::string& ep, int beg_idx, int end_idx, JsonWriter& writer); + int getMonomerNumber(int mon_idx); void collectTemplates(BaseMolecule& mol); + void collectSCSRSuperAtoms(BaseMolecule& mol); void saveAtoms(BaseMolecule& mol, JsonWriter& writer); void saveBonds(BaseMolecule& mol, JsonWriter& writer); @@ -203,6 +205,8 @@ namespace indigo void saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer); void saveSGroups(BaseMolecule& mol, JsonWriter& writer); void saveSGroup(SGroup& sgroup, JsonWriter& writer); + void saveSuperAtomAsTemplate(BaseMolecule& mol, Superatom& sa, JsonWriter& writer); + void saveAttachmentPoint(BaseMolecule& mol, int atom_idx, JsonWriter& writer); void saveStereoCenter(BaseMolecule& mol, int atom_idx, JsonWriter& writer); void saveHighlights(BaseMolecule& mol, JsonWriter& writer); @@ -222,6 +226,9 @@ namespace indigo std::list> _s_neighbors; std::unordered_map> _templates; std::unordered_map, std::string> _monomer_connections; + std::unordered_map _scsr_atom_superatoms; + std::map _monomers_enum; + std::map _scsr_superatoms; private: MoleculeJsonSaver(const MoleculeJsonSaver&); // no implicit copy diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index 26696d9301..de23c80076 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1066,26 +1066,25 @@ std::string MoleculeJsonSaver::monomerId(const TGroup& tg) if (tg.tgroup_class.ptr()) monomer_class = tg.tgroup_class.ptr(); if (name.size()) - name = monomerNameByAlias(monomer_class, name) + "_" + std::to_string(tg.tgroup_id); + name = monomerNameByAlias(monomer_class, name) + "_" + std::to_string(tg.tgroup_id - 1); else - name = std::string("#") + std::to_string(tg.tgroup_id); + name = std::string("#") + std::to_string(tg.tgroup_id - 1); return name; } -std::string MoleculeJsonSaver::monomerHELMClass(const TGroup& tg) +std::string MoleculeJsonSaver::monomerHELMClass(const std::string& class_name) { - auto mclass = std::string(tg.tgroup_class.ptr()); - if (kAminoClasses.find(mclass) != kAminoClasses.end()) + if (kAminoClasses.find(class_name) != kAminoClasses.end()) return "PEPTIDE"; - if (kNucleicClasses.find(mclass) != kNucleicClasses.end()) + if (kNucleicClasses.find(class_name) != kNucleicClasses.end()) return "RNA"; return "CHEM"; } -std::string MoleculeJsonSaver::monomerKETClass(const TGroup& tg) +std::string MoleculeJsonSaver::monomerKETClass(const std::string& class_name) { - auto mclass = std::string(tg.tgroup_class.ptr()); - if (mclass == "AA") + auto mclass = class_name; + if (class_name == "AA") return "AminoAcid"; if (mclass == "dAA") @@ -1139,12 +1138,54 @@ std::string MoleculeJsonSaver::monomerAlias(const TGroup& tg) return alias; } +void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, Superatom& sa, JsonWriter& writer) +{ + Array map_out; + std::unique_ptr sub_mol(mol.neu()); + sub_mol->makeSubmolecule(mol, sa.atoms, &map_out); + sub_mol->clearSGroups(); + auto template_name = std::string("monomerTemplate-"); + auto template_id = std::string("#"); + if (sa.subscript.size()) + template_id += sa.subscript.ptr(); + template_id += std::string("_") + std::to_string(sa.original_group); + template_name += template_id; + writer.Key(template_name.c_str()); + writer.StartObject(); + writer.Key("type"); + writer.String("monomerTemplate"); + + // determine template class + std::string template_class; + if (sa.sa_class.ptr()) + template_class = sa.sa_class.ptr(); + + auto temp_it = _templates.find(sa.subscript.ptr()); + if (temp_it != _templates.end()) + { + auto& tg = temp_it->second.get(); + if (template_class.empty() && tg.tgroup_class.size()) + template_class = tg.tgroup_class.ptr(); + } + + // if failed to determine the class, fallback to CHEM + if (template_class.empty()) + template_class = "CHEM"; + + writer.Key("class"); + writer.String(monomerKETClass(template_class).c_str()); + writer.Key("classHELM"); + writer.String(monomerHELMClass(template_class).c_str()); + saveFragment(*sub_mol, writer); + writer.EndObject(); // monomer template +} + void MoleculeJsonSaver::saveMonomerTemplate(TGroup& tg, JsonWriter& writer) { std::string template_name("monomerTemplate-"); std::string tg_name(monomerId(tg)); - std::string template_class(monomerKETClass(tg)); - std::string helm_class(monomerHELMClass(tg)); + std::string template_class(monomerKETClass(tg.tgroup_class.ptr())); + std::string helm_class(monomerHELMClass(tg.tgroup_class.ptr())); template_name += tg_name; writer.Key(template_name.c_str()); writer.StartObject(); @@ -1309,19 +1350,72 @@ bool MoleculeJsonSaver::_checkAttPointOrder(BaseMolecule& mol, int rsite) void MoleculeJsonSaver::collectTemplates(BaseMolecule& mol) { + _templates.clear(); + int temp_idx = 0; for (int i = mol.tgroups.begin(); i != mol.tgroups.end(); i = mol.tgroups.next(i)) { auto& tg = mol.tgroups.getTGroup(i); - _templates.emplace(monomerAlias(tg), std::ref(tg)); + _templates.emplace(tg.tgroup_name.size() ? tg.tgroup_name.ptr() : monomerAlias(tg), std::ref(tg)); } } +void MoleculeJsonSaver::collectSCSRSuperAtoms(BaseMolecule& mol) +{ + _scsr_atom_superatoms.clear(); + int super_idx = 0; + for (int i = mol.sgroups.begin(); i != mol.sgroups.end(); i = mol.sgroups.next(i)) + { + SGroup& sgroup = mol.sgroups.getSGroup(i); + if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) + { + auto& sa = (Superatom&)sgroup; + // superatoms originated from SCSR-templates always has a seqid + if (sa.seqid) + { + _scsr_superatoms.emplace(i, super_idx++); + for (auto atom_idx : sa.atoms) + _scsr_atom_superatoms.emplace(atom_idx, i); + } + } + } +} + +int MoleculeJsonSaver::getMonomerNumber(int mon_idx) +{ + auto mon_it = _monomers_enum.find(mon_idx); + if (mon_it != _monomers_enum.end()) + return mon_it->second; + else + throw Error("Monomer index: %d not found", mon_idx); + return -1; +} + void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, int beg_idx, int end_idx, JsonWriter& writer) { writer.Key(ep.c_str()); writer.StartObject(); writer.Key("monomerId"); - writer.String((std::string("monomer") + std::to_string(beg_idx)).c_str()); + if (mol.isTemplateAtom(beg_idx)) + { + writer.String((std::string("monomer") + std::to_string(getMonomerNumber(beg_idx))).c_str()); + } + else + { + auto sa_it = _scsr_atom_superatoms.find(beg_idx); // find corresponding superAtom + if (sa_it != _scsr_atom_superatoms.end()) + { + auto sa_num_it = _scsr_superatoms.find(sa_it->second); + if (sa_num_it != _scsr_superatoms.end()) + { + writer.String((std::string("monomer") + std::to_string(_monomers_enum.size() + sa_num_it->second)).c_str()); + } + else + throw Error("No connection for superatom %d", sa_it->second); + } + else + throw Error("No connection for atop index %d", beg_idx); + } + // find backward connection auto dst_ap_it = _monomer_connections.find(std::make_pair(end_idx, beg_idx)); if (dst_ap_it != _monomer_connections.end()) @@ -1329,6 +1423,8 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i writer.Key("attachmentPointId"); writer.String(convertAPToHELM(dst_ap_it->second).c_str()); } + //else + // printf("no attachment point\n"); writer.EndObject(); } @@ -1344,14 +1440,15 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) getSGroupAtoms(mol, _s_neighbors); // save mol references - for (int idx = 0; idx < mol.countComponents(_s_neighbors); ++idx) - { - writer.StartObject(); - writer.Key("$ref"); - std::string mol_node = std::string("mol") + std::to_string(idx); - writer.String(mol_node.c_str()); - writer.EndObject(); - } + if (mol.tgroups.getTGroupCount() == 0) + for (int idx = 0; idx < mol.countComponents(_s_neighbors); ++idx) + { + writer.StartObject(); + writer.Key("$ref"); + std::string mol_node = std::string("mol") + std::to_string(idx); + writer.String(mol_node.c_str()); + writer.EndObject(); + } saveMetaData(writer, mol.meta()); @@ -1371,6 +1468,8 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) writer.EndObject(); } + int mon_idx = 0; + // save references to monomer's instances for (auto i : mol.vertices()) { @@ -1378,11 +1477,20 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) { writer.StartObject(); writer.Key("$ref"); - writer.String((std::string("monomer") + std::to_string(i)).c_str()); + writer.String((std::string("monomer") + std::to_string(mon_idx)).c_str()); writer.EndObject(); + _monomers_enum.emplace(i, mon_idx++); } } + for (const auto& kvp : _scsr_superatoms) + { + writer.StartObject(); + writer.Key("$ref"); + writer.String((std::string("monomer") + std::to_string(mon_idx + kvp.second)).c_str()); + writer.EndObject(); + } + writer.EndArray(); // nodes if (mol.tgroups.getTGroupCount()) @@ -1401,13 +1509,18 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) for (auto i : mol.edges()) { auto& e = mol.getEdge(i); - if (mol.isTemplateAtom(e.beg) && mol.isTemplateAtom(e.end)) + // save connections between templates or supeatoms + + // check superatom's connection + auto sa_beg_it = _scsr_atom_superatoms.find(e.beg); + auto sa_end_it = _scsr_atom_superatoms.find(e.end); + bool sa_connection = sa_beg_it != _scsr_atom_superatoms.end() && sa_end_it != _scsr_atom_superatoms.end() && sa_beg_it->second != sa_end_it->second; + + if (mol.isTemplateAtom(e.beg) || mol.isTemplateAtom(e.end) || sa_connection) { writer.StartObject(); writer.Key("connectionType"); writer.String(mol.getBondOrder(i) == _BOND_HYDROGEN ? "hydrogen" : "single"); - writer.Key("label"); - writer.String(mol.getTemplateAtom(e.beg)); // save endpoints saveEndpoint(mol, "endpoint1", e.beg, e.end, writer); saveEndpoint(mol, "endpoint2", e.end, e.beg, writer); @@ -1417,6 +1530,7 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) writer.EndArray(); // connections writer.Key("templates"); writer.StartArray(); + for (int i = mol.tgroups.begin(); i != mol.tgroups.end(); i = mol.tgroups.next(i)) { TGroup& tg = mol.tgroups.getTGroup(i); @@ -1426,6 +1540,20 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) writer.String(template_name.c_str()); writer.EndObject(); } + + for (const auto& kvp : _scsr_superatoms) + { + auto& sa = (Superatom&)mol.sgroups.getSGroup(kvp.first); + auto template_name = std::string("monomerTemplate-#"); + if (sa.subscript.size()) + template_name += sa.subscript.ptr(); + template_name += std::string("_") + std::to_string(mol.tgroups.getTGroupCount() + kvp.second); + writer.StartObject(); + writer.Key("$ref"); + writer.String(template_name.c_str()); + writer.EndObject(); + } + writer.EndArray(); // templates } writer.EndObject(); // root @@ -1448,60 +1576,23 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) BaseMolecule::collapse(*mol); collectTemplates(*mol); + if (mol->tgroups.getTGroupCount()) + collectSCSRSuperAtoms(*mol); saveRoot(*mol, writer); - // save molecules - for (int idx = 0; idx < mol->countComponents(_s_neighbors); idx++) - { - Filter filt(mol->getDecomposition().ptr(), Filter::EQ, idx); - std::unique_ptr component(mol->neu()); - component->makeSubmolecule(*mol, filt, NULL, NULL); - - if (component->vertexCount()) - { - std::string mol_node = std::string("mol") + std::to_string(idx); - writer.Key(mol_node.c_str()); - writer.StartObject(); - writer.Key("type"); - writer.String("molecule"); - saveFragment(*component, writer); - // TODO: the code below needs refactoring - Vec3f flag_pos; - if (bmol.getStereoFlagPosition(idx, flag_pos)) - { - writer.Key("stereoFlagPosition"); - writer.StartObject(); - writer.Key("x"); - writer.Double(flag_pos.x); - writer.Key("y"); - writer.Double(flag_pos.y); - writer.Key("z"); - writer.Double(flag_pos.z); - writer.EndObject(); - } - writer.EndObject(); - } - } - - // save R-Groups - for (int i = 1; i <= mol->rgroups.getRGroupCount(); i++) - { - auto& rgrp = mol->rgroups.getRGroup(i); - if (rgrp.fragments.size()) - saveRGroup(rgrp.fragments, i, writer); - } - // save monomers + if (mol->tgroups.getTGroupCount()) for (auto i : mol->vertices()) { if (mol->isTemplateAtom(i)) { - writer.Key((std::string("monomer") + std::to_string(i)).c_str()); + int mon_id = getMonomerNumber(i); + writer.Key((std::string("monomer") + std::to_string(mon_id)).c_str()); writer.StartObject(); writer.Key("type"); writer.String("monomer"); writer.Key("id"); - writer.String(std::to_string(i).c_str()); + writer.String(std::to_string(mon_id).c_str()); auto seqid = mol->getTemplateAtomSeqid(i); if (seqid != VALUE_UNKNOWN) { @@ -1518,7 +1609,7 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) writer.Double(pos.y); writer.EndObject(); // pos - // find template! + // find template writer.Key("alias"); auto alias = mol->getTemplateAtom(i); writer.String(alias); @@ -1532,6 +1623,42 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) } } + for (const auto& kvp : _scsr_superatoms) + { + int mon_id = _monomers_enum.size() + kvp.second; + writer.Key((std::string("monomer") + std::to_string(mon_id)).c_str()); + writer.StartObject(); + writer.Key("type"); + writer.String("monomer"); + writer.Key("id"); + writer.String(std::to_string(kvp.first).c_str()); + auto& sa = (Superatom&)mol->sgroups.getSGroup(kvp.first); + if (sa.seqid > 0) + { + writer.Key("seqid"); + writer.Int(sa.seqid); + } + Vec2f sa_pos; + mol->getSGroupAtomsCenterPoint(sa, sa_pos); + writer.Key("position"); + writer.StartObject(); + writer.Key("x"); + writer.Double(sa_pos.x); + writer.Key("y"); + writer.Double(sa_pos.y); + writer.EndObject(); // position + writer.Key("alias"); + writer.String(sa.subscript.ptr()); + writer.Key("templateId"); + + auto template_name = std::string("monomerTemplate-#"); + if (sa.subscript.size()) + template_name += sa.subscript.ptr(); + template_name += std::string("_") + std::to_string(mol->tgroups.getTGroupCount() + kvp.second); + writer.String(template_name.c_str()); + writer.EndObject(); // monomer + } + // save templates for (int i = mol->tgroups.begin(); i != mol->tgroups.end(); i = mol->tgroups.next(i)) { @@ -1539,6 +1666,50 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) saveMonomerTemplate(tg, writer); } + for (const auto& kvp : _scsr_superatoms) + saveSuperAtomAsTemplate(*mol, (Superatom&)mol->sgroups.getSGroup(kvp.first), writer); + + // save molecules + for (int idx = 0; idx < mol->countComponents(_s_neighbors); idx++) + { + Filter filt(mol->getDecomposition().ptr(), Filter::EQ, idx); + std::unique_ptr component(mol->neu()); + component->makeSubmolecule(*mol, filt, NULL, NULL); + + if (component->vertexCount() && component->tgroups.getTGroupCount() == 0) + { + std::string mol_node = std::string("mol") + std::to_string(idx); + writer.Key(mol_node.c_str()); + writer.StartObject(); + writer.Key("type"); + writer.String("molecule"); + saveFragment(*component, writer); + // TODO: the code below needs refactoring + Vec3f flag_pos; + if (bmol.getStereoFlagPosition(idx, flag_pos)) + { + writer.Key("stereoFlagPosition"); + writer.StartObject(); + writer.Key("x"); + writer.Double(flag_pos.x); + writer.Key("y"); + writer.Double(flag_pos.y); + writer.Key("z"); + writer.Double(flag_pos.z); + writer.EndObject(); + } + writer.EndObject(); + } + } + + // save R-Groups + for (int i = 1; i <= mol->rgroups.getRGroupCount(); i++) + { + auto& rgrp = mol->rgroups.getRGroup(i); + if (rgrp.fragments.size()) + saveRGroup(rgrp.fragments, i, writer); + } + writer.EndObject(); } From 7a8688a9d3b6368fb66bdf956b84cc2e89cadac1 Mon Sep 17 00:00:00 2001 From: even1024 Date: Thu, 26 Oct 2023 12:05:58 +0200 Subject: [PATCH 04/27] molv3000-fix --- .../molecule/src/molecule_json_saver.cpp | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index de23c80076..e5ce0f3f77 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1423,8 +1423,8 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i writer.Key("attachmentPointId"); writer.String(convertAPToHELM(dst_ap_it->second).c_str()); } - //else - // printf("no attachment point\n"); + // else + // printf("no attachment point\n"); writer.EndObject(); } @@ -1582,46 +1582,46 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) // save monomers if (mol->tgroups.getTGroupCount()) - for (auto i : mol->vertices()) - { - if (mol->isTemplateAtom(i)) + for (auto i : mol->vertices()) { - int mon_id = getMonomerNumber(i); - writer.Key((std::string("monomer") + std::to_string(mon_id)).c_str()); - writer.StartObject(); - writer.Key("type"); - writer.String("monomer"); - writer.Key("id"); - writer.String(std::to_string(mon_id).c_str()); - auto seqid = mol->getTemplateAtomSeqid(i); - if (seqid != VALUE_UNKNOWN) - { - writer.Key("seqid"); - writer.Int(seqid); - } - // location - writer.Key("position"); - writer.StartObject(); - const auto& pos = mol->getAtomXyz(i); - writer.Key("x"); - writer.Double(pos.x); - writer.Key("y"); - writer.Double(pos.y); - writer.EndObject(); // pos - - // find template - writer.Key("alias"); - auto alias = mol->getTemplateAtom(i); - writer.String(alias); - auto tg_it = _templates.find(alias); - if (tg_it != _templates.end()) + if (mol->isTemplateAtom(i)) { - writer.Key("templateId"); - writer.String(monomerId(tg_it->second.get()).c_str()); + int mon_id = getMonomerNumber(i); + writer.Key((std::string("monomer") + std::to_string(mon_id)).c_str()); + writer.StartObject(); + writer.Key("type"); + writer.String("monomer"); + writer.Key("id"); + writer.String(std::to_string(mon_id).c_str()); + auto seqid = mol->getTemplateAtomSeqid(i); + if (seqid != VALUE_UNKNOWN) + { + writer.Key("seqid"); + writer.Int(seqid); + } + // location + writer.Key("position"); + writer.StartObject(); + const auto& pos = mol->getAtomXyz(i); + writer.Key("x"); + writer.Double(pos.x); + writer.Key("y"); + writer.Double(pos.y); + writer.EndObject(); // pos + + // find template + writer.Key("alias"); + auto alias = mol->getTemplateAtom(i); + writer.String(alias); + auto tg_it = _templates.find(alias); + if (tg_it != _templates.end()) + { + writer.Key("templateId"); + writer.String(monomerId(tg_it->second.get()).c_str()); + } + writer.EndObject(); // monomer } - writer.EndObject(); // monomer } - } for (const auto& kvp : _scsr_superatoms) { From d82e4c1e5fbf5957bb4196f03da320ea4a702508 Mon Sep 17 00:00:00 2001 From: even1024 Date: Thu, 26 Oct 2023 12:13:55 +0200 Subject: [PATCH 05/27] molv3000-fix --- utils/indigo-depict/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/indigo-depict/main.c b/utils/indigo-depict/main.c index 3b3bc47ded..c97759bcf9 100644 --- a/utils/indigo-depict/main.c +++ b/utils/indigo-depict/main.c @@ -917,7 +917,7 @@ int main(int argc, char* argv[]) _prepare(obj, p.aromatization); if (p.action == ACTION_LAYOUT) { - //indigoLayout(obj); + indigoLayout(obj); if (p.out_ext == OEXT_MOL) indigoSaveMolfileToFile(obj, p.outfile); else if (p.out_ext == OEXT_KET) @@ -1016,7 +1016,7 @@ int main(int argc, char* argv[]) _prepare(obj, p.aromatization); if (p.action == ACTION_LAYOUT) { - //indigoLayout(obj); + indigoLayout(obj); if (p.out_ext == OEXT_CML) indigoSaveCmlToFile(obj, p.outfile); else if (p.out_ext == OEXT_RXN) From 2c40871304fda282a0ae0fbef5957422be552479 Mon Sep 17 00:00:00 2001 From: even1024 Date: Thu, 26 Oct 2023 23:23:59 +0200 Subject: [PATCH 06/27] molv3000-fix --- .../integration/tests/formats/mol_to_ket.py | 2 +- .../molecule/molecule_json_saver.h | 6 +- core/indigo-core/molecule/molecule_sgroups.h | 19 +- .../molecule/src/base_molecule.cpp | 1 + .../molecule/src/molecule_json_saver.cpp | 199 ++++++++++++------ .../molecule/src/molfile_loader.cpp | 4 + .../molecule/src/monomer_commons.cpp | 8 +- utils/indigo-depict/main.c | 1 - 8 files changed, 157 insertions(+), 83 deletions(-) diff --git a/api/tests/integration/tests/formats/mol_to_ket.py b/api/tests/integration/tests/formats/mol_to_ket.py index ead5ee957a..a0736a5ced 100644 --- a/api/tests/integration/tests/formats/mol_to_ket.py +++ b/api/tests/integration/tests/formats/mol_to_ket.py @@ -44,7 +44,7 @@ def find_diff(a, b): mol = indigo.loadMoleculeFromFile(os.path.join(root, filename + ".mol")) # with open(os.path.join(ref_path, filename) + ".ket", "w") as file: - # file.write(mol.json()) + # file.write(mol.json()) with open(os.path.join(ref_path, filename) + ".ket", "r") as file: ket_ref = file.read() ket = mol.json() diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index b1f1182384..89063ad2b4 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -185,7 +185,7 @@ namespace indigo static std::string monomerKETClass(const std::string& class_name); static std::string monomerHELMClass(const std::string& class_name); - static std::string naturalAnalog(const TGroup& tg); + static std::string naturalAnalog(const std::string& natreplace); bool add_stereo_desc; bool pretty_json; @@ -203,9 +203,11 @@ namespace indigo void saveFragment(BaseMolecule& fragment, JsonWriter& writer); void saveMonomerTemplate(TGroup& tg, JsonWriter& writer); void saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer); + void saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer); + void saveSGroups(BaseMolecule& mol, JsonWriter& writer); void saveSGroup(SGroup& sgroup, JsonWriter& writer); - void saveSuperAtomAsTemplate(BaseMolecule& mol, Superatom& sa, JsonWriter& writer); + void saveSuperAtomAsTemplate(BaseMolecule& mol, int sa_index, int template_number, JsonWriter& writer); void saveAttachmentPoint(BaseMolecule& mol, int atom_idx, JsonWriter& writer); void saveStereoCenter(BaseMolecule& mol, int atom_idx, JsonWriter& writer); diff --git a/core/indigo-core/molecule/molecule_sgroups.h b/core/indigo-core/molecule/molecule_sgroups.h index df7c75811a..b1a8933de1 100644 --- a/core/indigo-core/molecule/molecule_sgroups.h +++ b/core/indigo-core/molecule/molecule_sgroups.h @@ -135,15 +135,16 @@ namespace indigo DataSGroup(); ~DataSGroup() override; - Array description; // SDT in Molfile format (filed units or format) - Array name; // SDT in Molfile format (field name) - Array type; // SDT in Molfile format (field type) - Array querycode; // SDT in Molfile format (query code) - Array queryoper; // SDT in Molfile format (query operator) - Array data; // SCD/SED in Molfile format (field data) - Vec2f display_pos; // SDD in Molfile format - bool detached; // or attached - bool relative; // or absolute + Array description; // SDT in Molfile format (filed units or format) + Array name; // SDT in Molfile format (field name) + Array type; // SDT in Molfile format (field type) + Array querycode; // SDT in Molfile format (query code) + Array queryoper; // SDT in Molfile format (query operator) + Array data; // SCD/SED in Molfile format (field data) + Array sa_natreplace; // NATREPLACE (V3000 - 2017) + Vec2f display_pos; // SDD in Molfile format + bool detached; // or attached + bool relative; // or absolute bool display_units; int num_chars; // number of characters int dasp_pos; diff --git a/core/indigo-core/molecule/src/base_molecule.cpp b/core/indigo-core/molecule/src/base_molecule.cpp index bf6436cdd9..480df3cade 100644 --- a/core/indigo-core/molecule/src/base_molecule.cpp +++ b/core/indigo-core/molecule/src/base_molecule.cpp @@ -158,6 +158,7 @@ void BaseMolecule::mergeSGroupsWithSubmolecule(BaseMolecule& mol, Array& ma dg.detached = superdg.detached; dg.display_pos = superdg.display_pos; dg.data.copy(superdg.data); + dg.sa_natreplace.copy(superdg.sa_natreplace); dg.dasp_pos = superdg.dasp_pos; dg.relative = superdg.relative; dg.display_units = superdg.display_units; diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index e5ce0f3f77..8d47541e08 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1099,12 +1099,12 @@ std::string MoleculeJsonSaver::monomerKETClass(const std::string& class_name) return mclass; } -std::string MoleculeJsonSaver::naturalAnalog(const TGroup& tg) +std::string MoleculeJsonSaver::naturalAnalog(const std::string& natreplace) { std::string res; - if (tg.tgroup_natreplace.ptr()) + if (natreplace.size()) { - auto nat_replace = split(std::string(tg.tgroup_natreplace.ptr()), '/'); + auto nat_replace = split(std::string(natreplace.c_str()), '/'); if (nat_replace.size() > 1) res = normalizeMonomerName(nat_replace.front(), nat_replace[1]); } @@ -1138,17 +1138,22 @@ std::string MoleculeJsonSaver::monomerAlias(const TGroup& tg) return alias; } -void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, Superatom& sa, JsonWriter& writer) +void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, int sa_index, int template_number, JsonWriter& writer) { + Superatom& sa = (Superatom&)mol.sgroups.getSGroup(sa_index); Array map_out; std::unique_ptr sub_mol(mol.neu()); sub_mol->makeSubmolecule(mol, sa.atoms, &map_out); sub_mol->clearSGroups(); auto template_name = std::string("monomerTemplate-"); - auto template_id = std::string("#"); + std::string template_id; + std::string alias; if (sa.subscript.size()) + { template_id += sa.subscript.ptr(); - template_id += std::string("_") + std::to_string(sa.original_group); + alias = sa.subscript.ptr(); + } + template_id += std::string("_") + std::to_string(template_number); template_name += template_id; writer.Key(template_name.c_str()); writer.StartObject(); @@ -1166,6 +1171,8 @@ void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, Superatom& sa auto& tg = temp_it->second.get(); if (template_class.empty() && tg.tgroup_class.size()) template_class = tg.tgroup_class.ptr(); + if (alias.empty()) + alias = monomerAlias(tg); } // if failed to determine the class, fallback to CHEM @@ -1176,6 +1183,26 @@ void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, Superatom& sa writer.String(monomerKETClass(template_class).c_str()); writer.Key("classHELM"); writer.String(monomerHELMClass(template_class).c_str()); + if (alias.size()) + { + writer.Key("alias"); + writer.String(alias.c_str()); + } + + if (sa.sa_natreplace.size()) + { + auto analog = naturalAnalog(sa.sa_natreplace.ptr()); + writer.Key("naturalAnalog"); + writer.String(analog.c_str()); + auto nat_alias = monomerAliasByName(template_class, analog); + if (nat_alias.size() < analog.size()) + { + writer.Key("naturalAnalogShort"); + writer.String(nat_alias.c_str()); + } + } + + saveSuperatomAttachmentPoints(sa, writer); saveFragment(*sub_mol, writer); writer.EndObject(); // monomer template } @@ -1204,9 +1231,9 @@ void MoleculeJsonSaver::saveMonomerTemplate(TGroup& tg, JsonWriter& writer) writer.Key("alias"); writer.String(monomerAlias(tg).c_str()); - auto analog = naturalAnalog(tg); - if (analog.size()) + if (tg.tgroup_natreplace.size()) { + auto analog = naturalAnalog(tg.tgroup_natreplace.ptr()); writer.Key("naturalAnalog"); writer.String(analog.c_str()); auto nat_alias = monomerAliasByName(template_class, analog); @@ -1228,63 +1255,66 @@ void MoleculeJsonSaver::saveMonomerTemplate(TGroup& tg, JsonWriter& writer) writer.EndObject(); } +void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer) +{ + std::map sorted_attachment_points; + if (sa.attachment_points.size()) + { + for (int i = sa.attachment_points.begin(); i != sa.attachment_points.end(); i = sa.attachment_points.next(i)) + { + auto& atp = sa.attachment_points[i]; + std::string atp_id_str(atp.apid.ptr()); + if (atp_id_str.size()) + sorted_attachment_points.insert(std::make_pair(atp_id_str, i)); + } + + if (sorted_attachment_points.size()) + { + writer.Key("attachmentPoints"); + writer.StartArray(); + int order = 0; + for (const auto& kvp : sorted_attachment_points) + { + writer.StartObject(); + auto& atp = sa.attachment_points[kvp.second]; + std::string atp_id_str(atp.apid.ptr()); + if (!isAttachmentPointsInOrder(order++, atp_id_str)) + { + writer.Key("type"); + if (atp_id_str == "Al" || atp_id_str == "R1") + writer.String("left"); + else if (atp_id_str == "Br" || atp_id_str == "R2") + writer.String("right"); + else + writer.String("side"); + writer.Key("label"); + writer.String(convertAPToHELM(atp_id_str).c_str()); + } + writer.Key("attachmentAtom"); + writer.Int(atp.aidx); + writer.Key("leavingGroup"); + writer.StartObject(); + writer.Key("atoms"); + writer.StartArray(); + writer.Int(atp.lvidx); + writer.EndArray(); + writer.EndObject(); + writer.EndObject(); + } + writer.EndArray(); + } + } +} + void MoleculeJsonSaver::saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer) { auto& sgroups = tg.fragment->sgroups; - sgroups.getSGroupCount(); for (int j = sgroups.begin(); j != sgroups.end(); j = sgroups.next(j)) { SGroup& sg = sgroups.getSGroup(j); if (sg.sgroup_type == SGroup::SG_TYPE_SUP) { - auto& sa = (Superatom&)sg; - std::map sorted_attachment_points; - if (sa.attachment_points.size()) - { - for (int i = sa.attachment_points.begin(); i != sa.attachment_points.end(); i = sa.attachment_points.next(i)) - { - auto& atp = sa.attachment_points[i]; - std::string atp_id_str(atp.apid.ptr()); - if (atp_id_str.size()) - sorted_attachment_points.insert(std::make_pair(atp_id_str, i)); - } - - if (sorted_attachment_points.size()) - { - writer.Key("attachmentPoints"); - writer.StartArray(); - int order = 0; - for (const auto& kvp : sorted_attachment_points) - { - writer.StartObject(); - auto& atp = sa.attachment_points[kvp.second]; - std::string atp_id_str(atp.apid.ptr()); - if (!isAttachmentPointsInOrder(order++, atp_id_str)) - { - writer.Key("type"); - if (atp_id_str == "Al" || atp_id_str == "R1") - writer.String("left"); - else if (atp_id_str == "Br" || atp_id_str == "R2") - writer.String("right"); - else - writer.String("side"); - writer.Key("label"); - writer.String(convertAPToHELM(atp_id_str).c_str()); - } - writer.Key("attachmentAtom"); - writer.Int(atp.aidx); - writer.Key("leavingGroup"); - writer.StartObject(); - writer.Key("atoms"); - writer.StartArray(); - writer.Int(atp.lvidx); - writer.EndArray(); - writer.EndObject(); - writer.EndObject(); - } - writer.EndArray(); - } - } + saveSuperatomAttachmentPoints((Superatom&)sg, writer); sgroups.remove(j); } } @@ -1377,6 +1407,28 @@ void MoleculeJsonSaver::collectSCSRSuperAtoms(BaseMolecule& mol) _scsr_atom_superatoms.emplace(atom_idx, i); } } + else + { + if (sgroup.sgroup_type == SGroup::SG_TYPE_DAT) + { + auto& dsg = (DataSGroup&)sgroup; + if (dsg.parent_idx > -1 && std::string(dsg.name.ptr()) == "SMMX:class" && dsg.sa_natreplace.size()) + { + SGroup& sgroup = mol.sgroups.getSGroup(dsg.parent_idx); + if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) + { + auto& sa = (Superatom&)sgroup; + if (sa.sa_natreplace.size() == 0) + sa.sa_natreplace.copy(dsg.sa_natreplace); + if (sa.sa_class.size() == 0 && sa.sa_natreplace.size()) + { + auto sa_class = split(sa.sa_natreplace.ptr(), '/').front(); + sa.sa_class.appendString(sa_class.c_str(), true); + } + } + } + } + } } } @@ -1394,9 +1446,9 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i { writer.Key(ep.c_str()); writer.StartObject(); - writer.Key("monomerId"); if (mol.isTemplateAtom(beg_idx)) { + writer.Key("monomerId"); writer.String((std::string("monomer") + std::to_string(getMonomerNumber(beg_idx))).c_str()); } else @@ -1407,13 +1459,16 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i auto sa_num_it = _scsr_superatoms.find(sa_it->second); if (sa_num_it != _scsr_superatoms.end()) { + writer.Key("monomerId"); writer.String((std::string("monomer") + std::to_string(_monomers_enum.size() + sa_num_it->second)).c_str()); } else - throw Error("No connection for superatom %d", sa_it->second); + { + printf("No connection for superatom %d\n", sa_it->second); + } } - else - throw Error("No connection for atop index %d", beg_idx); + // else + // throw Error("No connection for atom index %d\n", beg_idx); } // find backward connection @@ -1424,7 +1479,7 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i writer.String(convertAPToHELM(dst_ap_it->second).c_str()); } // else - // printf("no attachment point\n"); + // throw Error("no attachment point\n"); writer.EndObject(); } @@ -1495,14 +1550,24 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) if (mol.tgroups.getTGroupCount()) { - // collect attachment points into unordered map -> destination attachment point name + // collect attachment points into unordered map . keu - pair of from and destination atom. val - attachment point name. _monomer_connections.clear(); for (int i = mol.template_attachment_points.begin(); i != mol.template_attachment_points.end(); i = mol.template_attachment_points.next(i)) { - BaseMolecule::TemplateAttPoint& sap = mol.template_attachment_points.at(i); + auto& sap = mol.template_attachment_points.at(i); _monomer_connections.emplace(std::make_pair(sap.ap_occur_idx, sap.ap_aidx), sap.ap_id.ptr()); } + for (const auto& kvp : _scsr_superatoms) + { + auto& sa = (Superatom&)mol.sgroups.getSGroup(kvp.first); + for (auto i = sa.attachment_points.begin(); i != sa.attachment_points.end(); i = sa.attachment_points.next(i)) + { + auto& sap = sa.attachment_points.at(i); + _monomer_connections.emplace(std::make_pair(sap.aidx, sap.lvidx), sap.apid.ptr()); + } + } + // save connections writer.Key("connections"); writer.StartArray(); @@ -1544,7 +1609,7 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) for (const auto& kvp : _scsr_superatoms) { auto& sa = (Superatom&)mol.sgroups.getSGroup(kvp.first); - auto template_name = std::string("monomerTemplate-#"); + auto template_name = std::string("monomerTemplate-"); if (sa.subscript.size()) template_name += sa.subscript.ptr(); template_name += std::string("_") + std::to_string(mol.tgroups.getTGroupCount() + kvp.second); @@ -1651,7 +1716,7 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) writer.String(sa.subscript.ptr()); writer.Key("templateId"); - auto template_name = std::string("monomerTemplate-#"); + std::string template_name; if (sa.subscript.size()) template_name += sa.subscript.ptr(); template_name += std::string("_") + std::to_string(mol->tgroups.getTGroupCount() + kvp.second); @@ -1667,7 +1732,7 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) } for (const auto& kvp : _scsr_superatoms) - saveSuperAtomAsTemplate(*mol, (Superatom&)mol->sgroups.getSGroup(kvp.first), writer); + saveSuperAtomAsTemplate(*mol, kvp.first, mol->tgroups.getTGroupCount() + kvp.second, writer); // save molecules for (int idx = 0; idx < mol->countComponents(_s_neighbors); idx++) diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index 306c317cd9..f79c06105e 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -3484,9 +3484,13 @@ void MolfileLoader::_readSGroup3000(const char* str) break; if (sup != 0) sup->sa_natreplace.push(c); + if (dsg != 0) + dsg->sa_natreplace.push(c); } if (sup != 0) sup->sa_natreplace.push(0); + if (dsg != 0) + dsg->sa_natreplace.push(0); } else if (strcmp(entity.ptr(), "ESTATE") == 0) { diff --git a/core/indigo-core/molecule/src/monomer_commons.cpp b/core/indigo-core/molecule/src/monomer_commons.cpp index a0e7994638..7493db4bed 100644 --- a/core/indigo-core/molecule/src/monomer_commons.cpp +++ b/core/indigo-core/molecule/src/monomer_commons.cpp @@ -30,8 +30,9 @@ namespace indigo {"A", "Ala"}, {"R", "Arg"}, {"N", "Asn"}, {"D", "Asp"}, {"C", "Cys"}, {"Q", "Gln"}, {"E", "Glu"}, {"G", "Gly"}, {"H", "His"}, {"I", "Ile"}, {"L", "Leu"}, {"K", "Lys"}, {"M", "Met"}, {"F", "Phe"}, {"P", "Pro"}, {"S", "Ser"}, {"T", "Thr"}, {"W", "Trp"}, {"Y", "Tyr"}, {"V", "Val"}}; - const std::unordered_map kNucleicToAlias = {{"Ade", "A"}, {"Cyt", "C"}, {"Gua", "G"}, {"Ura", "U"}, {"Thy", "T"}, - {"Rib", "r"}, {"dRib", "d"}, {"mRib", "m"}, {"Pi", "p"}}; + const std::unordered_map kNucleicToAlias = {{"Ade", "A"}, {"Cyt", "C"}, {"Gua", "G"}, {"Ura", "U"}, {"Thy", "T"}, + {"dAde", "dA"}, {"dCyt", "dC"}, {"dGua", "dG"}, {"dUra", "dU"}, {"dThy", "dT"}, + {"Rib", "r"}, {"dRib", "d"}, {"mRib", "m"}, {"Pi", "p"}}; const std::unordered_map kAliasToNucleic = {{"A", "Ade"}, {"C", "Cyt"}, {"G", "Gua"}, {"U", "Ura"}, {"T", "Thy"}, {"r", "Rib"}, {"d", "dRib"}, {"m", "mRib"}, {"p", "Pi"}}; @@ -88,8 +89,9 @@ namespace indigo for (auto it = res.begin(); it < res.end(); ++it) *it = it > res.begin() ? std::tolower(*it) : std::toupper(*it); } + // do not add prefix auto prefix = classToPrefix(monomer_class); - if (prefix.size()) + if (prefix.size() && res.size() <= kStdMonomerDef) res = prefix + res; return res; } diff --git a/utils/indigo-depict/main.c b/utils/indigo-depict/main.c index c97759bcf9..9e2f54b703 100644 --- a/utils/indigo-depict/main.c +++ b/utils/indigo-depict/main.c @@ -900,7 +900,6 @@ int main(int argc, char* argv[]) if (p.mode == MODE_SINGLE_MOLECULE) { - if (p.id != NULL) ERROR("on single input, setting '-id' is not allowed\n"); From e802453cb301fc7b5256337cd84744aba0051817 Mon Sep 17 00:00:00 2001 From: Roman Porozhnetov Date: Fri, 27 Oct 2023 01:49:03 +0200 Subject: [PATCH 07/27] py format --- api/tests/integration/tests/formats/mol_to_ket.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/tests/integration/tests/formats/mol_to_ket.py b/api/tests/integration/tests/formats/mol_to_ket.py index a0736a5ced..28d257996b 100644 --- a/api/tests/integration/tests/formats/mol_to_ket.py +++ b/api/tests/integration/tests/formats/mol_to_ket.py @@ -36,7 +36,7 @@ def find_diff(a, b): "dthymine", "chem", "rna_mod", - "conjugate" + "conjugate", ] files.sort() From f739ad76dacca4dcd6faa82c9ab3891bf65f6402 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 02:05:43 +0200 Subject: [PATCH 08/27] molv3000-fix --- core/indigo-core/molecule/ket_commons.h | 1 + 1 file changed, 1 insertion(+) diff --git a/core/indigo-core/molecule/ket_commons.h b/core/indigo-core/molecule/ket_commons.h index 3792cd4787..593d84c6c5 100644 --- a/core/indigo-core/molecule/ket_commons.h +++ b/core/indigo-core/molecule/ket_commons.h @@ -20,6 +20,7 @@ #define __ket_commons_h__ #include +#include #include #include #include From d13ef6b8d3cc27258ae1fdf400040bc127f5e669 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 02:10:16 +0200 Subject: [PATCH 09/27] molv3000-fix --- core/indigo-core/molecule/ket_commons.h | 40 ++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/core/indigo-core/molecule/ket_commons.h b/core/indigo-core/molecule/ket_commons.h index 593d84c6c5..7593f2e31b 100644 --- a/core/indigo-core/molecule/ket_commons.h +++ b/core/indigo-core/molecule/ket_commons.h @@ -31,6 +31,26 @@ #include "molecule/query_molecule.h" #include "reaction/base_reaction.h" +// hash for pairs taken from boost library +template +struct std::hash> +{ +private: + const hash ah; + const hash bh; + +public: + hash() : ah(), bh() + { + } + + size_t operator()(const std::pair& p) const + { + size_t seed = ah(p.first); + return bh(p.second) + 0x9e3779b9 + (seed << 6) + (seed >> 2); + } +}; + namespace indigo { const double KETDefaultFontSize = 13; @@ -372,25 +392,5 @@ namespace indigo std::vector coordinates; int index; }; - - // hash for pairs taken from boost library - template - struct std::hash> - { - private: - const hash ah; - const hash bh; - - public: - hash() : ah(), bh() - { - } - - size_t operator()(const std::pair& p) const - { - size_t seed = ah(p.first); - return bh(p.second) + 0x9e3779b9 + (seed << 6) + (seed >> 2); - } - }; } #endif From 407537296fc9c5bebd6fd28c6abd6da60a2cd019 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 02:54:09 +0200 Subject: [PATCH 10/27] molv3000-fix --- core/indigo-core/molecule/ket_commons.h | 35 ++++++++----------- .../molecule/molecule_json_saver.h | 3 +- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/core/indigo-core/molecule/ket_commons.h b/core/indigo-core/molecule/ket_commons.h index 7593f2e31b..4e8d858f7d 100644 --- a/core/indigo-core/molecule/ket_commons.h +++ b/core/indigo-core/molecule/ket_commons.h @@ -31,26 +31,6 @@ #include "molecule/query_molecule.h" #include "reaction/base_reaction.h" -// hash for pairs taken from boost library -template -struct std::hash> -{ -private: - const hash ah; - const hash bh; - -public: - hash() : ah(), bh() - { - } - - size_t operator()(const std::pair& p) const - { - size_t seed = ah(p.first); - return bh(p.second) + 0x9e3779b9 + (seed << 6) + (seed >> 2); - } -}; - namespace indigo { const double KETDefaultFontSize = 13; @@ -392,5 +372,20 @@ namespace indigo std::vector coordinates; int index; }; + + // hash for pairs taken from boost library + struct pair_int_hash + { + private: + const std::hash ah; + const std::hash bh; + + public: + size_t operator()(const std::pair& p) const + { + size_t seed = ah(p.first); + return bh(p.second) + 0x9e3779b9 + (seed << 6) + (seed >> 2); + } + }; } #endif diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 89063ad2b4..9cbfbe1b76 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -30,6 +30,7 @@ #include "molecule/base_molecule.h" #include "molecule/elements.h" #include "molecule/query_molecule.h" +#include "molecule/ket_commons.h" namespace indigo { @@ -227,7 +228,7 @@ namespace indigo Output& _output; std::list> _s_neighbors; std::unordered_map> _templates; - std::unordered_map, std::string> _monomer_connections; + std::unordered_map, std::string, pair_int_hash> _monomer_connections; std::unordered_map _scsr_atom_superatoms; std::map _monomers_enum; std::map _scsr_superatoms; From c5d05054dfb8543508362fe7f7532c663ff3e4e0 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 02:57:39 +0200 Subject: [PATCH 11/27] molv3000-fix --- core/indigo-core/molecule/molecule_json_saver.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 9cbfbe1b76..25e5ac3746 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -29,8 +29,8 @@ #include "base_cpp/output.h" #include "molecule/base_molecule.h" #include "molecule/elements.h" -#include "molecule/query_molecule.h" #include "molecule/ket_commons.h" +#include "molecule/query_molecule.h" namespace indigo { From e04b3801e965edcd3cb5feefdcede9dd87d51993 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 03:22:47 +0200 Subject: [PATCH 12/27] molv3000-fix --- core/indigo-core/molecule/ket_commons.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/indigo-core/molecule/ket_commons.h b/core/indigo-core/molecule/ket_commons.h index 4e8d858f7d..eaaeaf337b 100644 --- a/core/indigo-core/molecule/ket_commons.h +++ b/core/indigo-core/molecule/ket_commons.h @@ -381,6 +381,9 @@ namespace indigo const std::hash bh; public: + pair_int_hash() : ah(), bh() + { + } size_t operator()(const std::pair& p) const { size_t seed = ah(p.first); From 0741a863fe56fe05fe06b79c9380ccf75eda7fb2 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 10:51:35 +0200 Subject: [PATCH 13/27] molv3000-fix --- .../tests/formats/ref/conjugate.ket | 5283 +++++++++++++++++ 1 file changed, 5283 insertions(+) create mode 100644 api/tests/integration/tests/formats/ref/conjugate.ket diff --git a/api/tests/integration/tests/formats/ref/conjugate.ket b/api/tests/integration/tests/formats/ref/conjugate.ket new file mode 100644 index 0000000000..c623ef2bcc --- /dev/null +++ b/api/tests/integration/tests/formats/ref/conjugate.ket @@ -0,0 +1,5283 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer0" + }, + { + "$ref": "monomer1" + }, + { + "$ref": "monomer2" + }, + { + "$ref": "monomer3" + }, + { + "$ref": "monomer4" + }, + { + "$ref": "monomer5" + }, + { + "$ref": "monomer6" + }, + { + "$ref": "monomer7" + }, + { + "$ref": "monomer8" + }, + { + "$ref": "monomer9" + }, + { + "$ref": "monomer10" + }, + { + "$ref": "monomer11" + }, + { + "$ref": "monomer12" + }, + { + "$ref": "monomer13" + }, + { + "$ref": "monomer14" + }, + { + "$ref": "monomer15" + }, + { + "$ref": "monomer16" + }, + { + "$ref": "monomer17" + }, + { + "$ref": "monomer18" + }, + { + "$ref": "monomer19" + }, + { + "$ref": "monomer20" + }, + { + "$ref": "monomer21" + }, + { + "$ref": "monomer22" + }, + { + "$ref": "monomer23" + }, + { + "$ref": "monomer24" + }, + { + "$ref": "monomer25" + }, + { + "$ref": "monomer26" + }, + { + "$ref": "monomer27" + }, + { + "$ref": "monomer28" + }, + { + "$ref": "monomer29" + }, + { + "$ref": "monomer30" + }, + { + "$ref": "monomer31" + }, + { + "$ref": "monomer32" + }, + { + "$ref": "monomer33" + }, + { + "$ref": "monomer34" + }, + { + "$ref": "monomer35" + }, + { + "$ref": "monomer36" + }, + { + "$ref": "monomer37" + }, + { + "$ref": "monomer38" + }, + { + "$ref": "monomer39" + }, + { + "$ref": "monomer40" + }, + { + "$ref": "monomer41" + }, + { + "$ref": "monomer42" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer0", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer3", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer5", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer4", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer7", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer7", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer9", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer10", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer11", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer11", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer13", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer12", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer15", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer14", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer16", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer17", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer16", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer18", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer17", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer19", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer18", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer20", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer42", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer20", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer41", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer21", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer41", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer22", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer23", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer22", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer24", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer23", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer24", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer25", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer26", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer25", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer27", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer26", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer27", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer28", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer39", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer28", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer29", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer39", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer29", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer31", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer32", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer31", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer32", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer33", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer38", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer33", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer34", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer38", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer34", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer35", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer36", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer35", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer37", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer36", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer40", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer41", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer40", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer42", + "attachmentPointId": "R2" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-Thy_0" + }, + { + "$ref": "monomerTemplate-Gua_1" + }, + { + "$ref": "monomerTemplate-Cyt_2" + }, + { + "$ref": "monomerTemplate-Ade_3" + }, + { + "$ref": "monomerTemplate-Asp_4" + }, + { + "$ref": "monomerTemplate-Phe_5" + }, + { + "$ref": "monomerTemplate-Gly_6" + }, + { + "$ref": "monomerTemplate-His_7" + }, + { + "$ref": "monomerTemplate-Ile_8" + }, + { + "$ref": "monomerTemplate-Lys_9" + }, + { + "$ref": "monomerTemplate-Sec_10" + }, + { + "$ref": "monomerTemplate-Val_11" + }, + { + "$ref": "monomerTemplate-Glu_12" + }, + { + "$ref": "monomerTemplate-Cys_13" + }, + { + "$ref": "monomerTemplate-SMCC_14" + }, + { + "$ref": "monomerTemplate-E_15" + }, + { + "$ref": "monomerTemplate-C_16" + } + ] + }, + "monomer0": { + "type": "monomer", + "id": "0", + "seqid": 1, + "position": { + "x": 2.1939001083374025, + "y": -11.979000091552735 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer1": { + "type": "monomer", + "id": "1", + "seqid": 2, + "position": { + "x": 2.467900037765503, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer2": { + "type": "monomer", + "id": "2", + "seqid": 3, + "position": { + "x": 2.742000102996826, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer3": { + "type": "monomer", + "id": "3", + "seqid": 4, + "position": { + "x": 3.0160000324249269, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer4": { + "type": "monomer", + "id": "4", + "seqid": 5, + "position": { + "x": 3.2899999618530275, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer5": { + "type": "monomer", + "id": "5", + "seqid": 6, + "position": { + "x": 3.563999891281128, + "y": -11.979000091552735 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer6": { + "type": "monomer", + "id": "6", + "seqid": 7, + "position": { + "x": 3.8380000591278078, + "y": -11.979000091552735 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer7": { + "type": "monomer", + "id": "7", + "seqid": 8, + "position": { + "x": 4.111999988555908, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer8": { + "type": "monomer", + "id": "8", + "seqid": 9, + "position": { + "x": 4.386099815368652, + "y": -11.979000091552735 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer9": { + "type": "monomer", + "id": "9", + "seqid": 10, + "position": { + "x": 4.660099983215332, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer10": { + "type": "monomer", + "id": "10", + "seqid": 11, + "position": { + "x": 5.208099842071533, + "y": -11.979000091552735 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer11": { + "type": "monomer", + "id": "11", + "seqid": 12, + "position": { + "x": 5.482100009918213, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer12": { + "type": "monomer", + "id": "12", + "seqid": 13, + "position": { + "x": 5.756100177764893, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer13": { + "type": "monomer", + "id": "13", + "seqid": 14, + "position": { + "x": 6.030200004577637, + "y": -11.979000091552735 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer14": { + "type": "monomer", + "id": "14", + "seqid": 15, + "position": { + "x": 6.304200172424316, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer15": { + "type": "monomer", + "id": "15", + "seqid": 16, + "position": { + "x": 6.578199863433838, + "y": -11.979000091552735 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer16": { + "type": "monomer", + "id": "16", + "seqid": 17, + "position": { + "x": 6.852200031280518, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer17": { + "type": "monomer", + "id": "17", + "seqid": 18, + "position": { + "x": 7.126200199127197, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer18": { + "type": "monomer", + "id": "18", + "seqid": 19, + "position": { + "x": 7.400199890136719, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer19": { + "type": "monomer", + "id": "19", + "seqid": 20, + "position": { + "x": 7.674200057983398, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer20": { + "type": "monomer", + "id": "20", + "seqid": 21, + "position": { + "x": 8.222299575805664, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer21": { + "type": "monomer", + "id": "21", + "seqid": 1, + "position": { + "x": 12.824199676513672, + "y": -16.666400909423829 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer22": { + "type": "monomer", + "id": "22", + "seqid": 3, + "position": { + "x": 15.534700393676758, + "y": -16.66659927368164 + }, + "alias": "Phe", + "templateId": "Phe_5" + }, + "monomer23": { + "type": "monomer", + "id": "23", + "seqid": 4, + "position": { + "x": 15.87030029296875, + "y": -16.66659927368164 + }, + "alias": "Gly", + "templateId": "Gly_6" + }, + "monomer24": { + "type": "monomer", + "id": "24", + "seqid": 5, + "position": { + "x": 16.20599937438965, + "y": -16.66659927368164 + }, + "alias": "His", + "templateId": "His_7" + }, + "monomer25": { + "type": "monomer", + "id": "25", + "seqid": 6, + "position": { + "x": 16.54170036315918, + "y": -16.66659927368164 + }, + "alias": "Ile", + "templateId": "Ile_8" + }, + "monomer26": { + "type": "monomer", + "id": "26", + "seqid": 7, + "position": { + "x": 16.877300262451173, + "y": -16.66659927368164 + }, + "alias": "Lys", + "templateId": "Lys_9" + }, + "monomer27": { + "type": "monomer", + "id": "27", + "seqid": 8, + "position": { + "x": 17.21299934387207, + "y": -16.66659927368164 + }, + "alias": "Sec", + "templateId": "Sec_10" + }, + "monomer28": { + "type": "monomer", + "id": "28", + "seqid": 9, + "position": { + "x": 17.5487003326416, + "y": -16.66659927368164 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer29": { + "type": "monomer", + "id": "29", + "seqid": 11, + "position": { + "x": 18.493999481201173, + "y": -16.66659927368164 + }, + "alias": "Glu", + "templateId": "Glu_12" + }, + "monomer30": { + "type": "monomer", + "id": "30", + "seqid": 12, + "position": { + "x": 18.829700469970704, + "y": -16.66659927368164 + }, + "alias": "Phe", + "templateId": "Phe_5" + }, + "monomer31": { + "type": "monomer", + "id": "31", + "seqid": 13, + "position": { + "x": 19.1653995513916, + "y": -16.66659927368164 + }, + "alias": "Gly", + "templateId": "Gly_6" + }, + "monomer32": { + "type": "monomer", + "id": "32", + "seqid": 14, + "position": { + "x": 19.500999450683595, + "y": -16.66659927368164 + }, + "alias": "Sec", + "templateId": "Sec_10" + }, + "monomer33": { + "type": "monomer", + "id": "33", + "seqid": 15, + "position": { + "x": 19.836700439453126, + "y": -16.66659927368164 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer34": { + "type": "monomer", + "id": "34", + "seqid": 17, + "position": { + "x": 20.507999420166017, + "y": -16.66659927368164 + }, + "alias": "Sec", + "templateId": "Sec_10" + }, + "monomer35": { + "type": "monomer", + "id": "35", + "seqid": 18, + "position": { + "x": 20.843700408935548, + "y": -16.66659927368164 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer36": { + "type": "monomer", + "id": "36", + "seqid": 19, + "position": { + "x": 21.179399490356447, + "y": -16.66659927368164 + }, + "alias": "Ile", + "templateId": "Ile_8" + }, + "monomer37": { + "type": "monomer", + "id": "37", + "seqid": 20, + "position": { + "x": 21.515100479125978, + "y": -16.66659927368164 + }, + "alias": "Lys", + "templateId": "Lys_9" + }, + "monomer38": { + "type": "monomer", + "id": "38", + "seqid": 16, + "position": { + "x": 20.172399520874025, + "y": -16.66659927368164 + }, + "alias": "Cys", + "templateId": "Cys_13" + }, + "monomer39": { + "type": "monomer", + "id": "39", + "seqid": 10, + "position": { + "x": 17.884300231933595, + "y": -16.66659927368164 + }, + "alias": "Cys", + "templateId": "Cys_13" + }, + "monomer40": { + "type": "monomer", + "id": "0", + "position": { + "x": 14.188499450683594, + "y": -2.310850143432617 + }, + "alias": "SMCC", + "templateId": "SMCC_14" + }, + "monomer41": { + "type": "monomer", + "id": "1", + "position": { + "x": 14.745832443237305, + "y": -14.96572208404541 + }, + "alias": "E", + "templateId": "E_15" + }, + "monomer42": { + "type": "monomer", + "id": "2", + "position": { + "x": 11.954094886779786, + "y": -10.458263397216797 + }, + "alias": "C", + "templateId": "C_16" + }, + "monomerTemplate-Thy_0": { + "type": "monomerTemplate", + "id": "Thy_0", + "class": "DNA", + "classHELM": "RNA", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 20 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 21 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 13.210200309753418, + -15.37720012664795, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.565500259399414, + -12.637800216674805, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.616000175476075, + -13.013799667358399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.294500350952149, + -13.512299537658692, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 14.042400360107422, + -14.283599853515625, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.210200309753418, + -14.283599853515625, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.947199821472168, + -13.501299858093262, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.16569995880127, + -13.255499839782715, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.916500091552735, + -12.463500022888184, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 10.941300392150879, + -12.113499641418457, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.941300392150879, + -11.28849983215332, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.941300392150879, + -12.93850040435791, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.402700424194336, + -12.37279987335205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.824299812316895, + -11.970499992370606, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.675100326538086, + -11.494000434875489, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 16.06060028076172, + -13.013500213623047, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.096699714660645, + -11.09179973602295, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.973299980163575, + -10.844300270080567, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.244199752807618, + -9.970199584960938, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.437600135803223, + -10.448399543762207, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.800800323486329, + -13.745400428771973, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.378700256347657, + -13.745400428771973, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + } + ] + }, + "monomerTemplate-Gua_1": { + "type": "monomerTemplate", + "id": "Gua_1", + "class": "DNA", + "classHELM": "RNA", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 22 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 23 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.561800003051758, + -15.110600471496582, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.965999603271485, + -12.397000312805176, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.967599868774414, + -12.722299575805664, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.645999908447266, + -13.220800399780274, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.393899917602539, + -13.991999626159668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.561800003051758, + -13.991999626159668, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.298700332641602, + -13.209699630737305, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.517200469970704, + -12.96399974822998, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.268099784851075, + -12.146900177001954, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 9.267800331115723, + -11.84689998626709, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.267800331115723, + -11.021900177001954, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.267800331115723, + -12.671899795532227, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.043700218200684, + -10.970000267028809, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.484999656677246, + -11.654600143432618, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.867500305175782, + -11.289999961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.812999725341797, + -12.171600341796875, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.54520034790039, + -12.656900405883789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.336400032043457, + -12.265800476074219, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.390899658203125, + -11.384200096130371, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.654199600219727, + -10.893699645996094, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 14.70740032196045, + -10.01449966430664, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 16.071399688720704, + -12.754500389099121, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.114800453186036, + -13.478699684143067, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.667699813842774, + -13.478699684143067, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 14, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 21 + ] + } + ] + }, + "monomerTemplate-Cyt_2": { + "type": "monomerTemplate", + "id": "Cyt_2", + "class": "DNA", + "classHELM": "RNA", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 19 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 20 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 13.285200119018555, + -15.389699935913086, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.590900421142579, + -12.615799903869629, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.690999984741211, + -13.001299858093262, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.369500160217286, + -13.499799728393555, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 14.117400169372559, + -14.271100044250489, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.285200119018555, + -14.271100044250489, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 13.022199630737305, + -13.488800048828125, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.240699768066407, + -13.243000030517579, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.991499900817871, + -12.451000213623047, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 10.966300010681153, + -12.050999641418457, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.966300010681153, + -11.22599983215332, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.966300010681153, + -12.87600040435791, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.40060043334961, + -12.275899887084961, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.82919979095459, + -12.007699966430664, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.59220027923584, + -11.37600040435791, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 16.11400032043457, + -12.854299545288086, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.02810001373291, + -11.128100395202637, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.83430004119873, + -10.79259967803955, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.024800300598145, + -9.897600173950196, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.750800132751465, + -13.720399856567383, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.45359992980957, + -13.720399856567383, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 19 + ] + } + ] + }, + "monomerTemplate-Ade_3": { + "type": "monomerTemplate", + "id": "Ade_3", + "class": "DNA", + "classHELM": "RNA", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 21 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 22 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.902099609375, + -15.135600090026856, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.306300163269043, + -12.397000312805176, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.307900428771973, + -12.722299575805664, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.986300468444825, + -13.220800399780274, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.734199523925782, + -13.991999626159668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.902099609375, + -13.991999626159668, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.638999938964844, + -13.209699630737305, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.857500076293946, + -12.96399974822998, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.608400344848633, + -12.171899795532227, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 9.583100318908692, + -11.84689998626709, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.583100318908692, + -11.021900177001954, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.583100318908692, + -12.671899795532227, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.383999824523926, + -10.970000267028809, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.825300216674805, + -11.654600143432618, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.207799911499024, + -11.289999961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.153300285339356, + -12.171600341796875, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.885499954223633, + -12.656900405883789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.6766996383667, + -12.265800476074219, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.731200218200684, + -11.384200096130371, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.994500160217286, + -10.893699645996094, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.047699928283692, + -10.01449966430664, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.392600059509278, + -13.491299629211426, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.945500373840332, + -13.491299629211426, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 14, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 21 + ] + } + ] + }, + "monomerTemplate-Asp_4": { + "type": "monomerTemplate", + "id": "Asp_4", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "D", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + } + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -3.953200101852417, + -1.0982999801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + -0.6657999753952026, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -2.7386999130249025, + -1.840000033378601, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7386999130249025, + -1.086899995803833, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + 0.08919999748468399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7132999897003176, + 0.46939998865127566, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.0643999576568605, + 0.09390000253915787, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.7132999897003176, + 1.2200000286102296, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -3.390500068664551, + -0.3084000051021576, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -4.173799991607666, + -1.0925999879837037, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.5237998962402345, + -1.0925999879837037, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Phe_5": { + "type": "monomerTemplate", + "id": "Phe_5", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "F", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 12 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -0.8240000009536743, + 1.0892000198364258, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.23250000178813935, + 1.5217000246047974, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.39320001006126406, + 0.3474999964237213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.3903999924659729, + 1.100600004196167, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.2321999967098236, + 2.276700019836426, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 2.2792000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 3.7792000770568849, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 0.604200005531311, + 1.100000023841858, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -1.045799970626831, + 1.079200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + } + ] + }, + "monomerTemplate-Gly_6": { + "type": "monomerTemplate", + "id": "Gly_6", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 5 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.6760001182556154, + -12.527400016784668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.267499923706055, + -12.095000267028809, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.893199920654297, + -13.269100189208985, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.890399932861328, + -12.51609992980957, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 5.1041998863220219, + -12.51669979095459, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 3.454200029373169, + -12.512499809265137, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + } + ] + }, + "monomerTemplate-His_7": { + "type": "monomerTemplate", + "id": "His_7", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "H", + "attachmentPoints": [ + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 12, + "leavingGroup": { + "atoms": [ + 10 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.662099838256836, + -5.933700084686279, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.115599632263184, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.867400169372559, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.627900123596192, + -9.382800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.627900123596192, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.2568998336792, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -8.05739974975586, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -7.205100059509277, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.662099838256836, + -6.780300140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.464500427246094, + -7.050099849700928, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.933199882507325, + -7.526100158691406, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.478500366210938, + -5.680300235748291, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.969099998474121, + -6.370299816131592, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + } + ] + }, + "monomerTemplate-Ile_8": { + "type": "monomerTemplate", + "id": "Ile_8", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "I", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 11.451000213623047, + -3.469099998474121, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -3.0367000102996828, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 12.665399551391602, + -4.2108001708984379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.665399551391602, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -2.281599998474121, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.692500114440918, + -1.9069000482559205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.9062999486923218, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.1541999578475953, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.879199981689454, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.22920036315918, + -3.454200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Lys_9": { + "type": "monomerTemplate", + "id": "Lys_9", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "K", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 10 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387399673461914, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978899955749512, + -7.805200099945068, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601799964904786, + -8.979399681091309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601799964904786, + -8.226300239562989, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978899955749512, + -7.05019998550415, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628899574279786, + -6.6753997802734379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628899574279786, + -5.9253997802734379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.278900146484375, + -5.5507001876831059, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.278900146484375, + -4.8007001876831059, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.991499900817871, + -7.302000045776367, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226300239562989, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Sec_10": { + "type": "monomerTemplate", + "id": "Sec_10", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "U", + "attachmentPoints": [ + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 7 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 6 + ] + } + } + ], + "atoms": [ + { + "label": "Se", + "location": [ + 13.877300262451172, + -7.104000091552734, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.16100025177002, + -8.343700408935547, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.850299835205079, + -9.627099990844727, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.850299835205079, + -8.800299644470215, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.16100025177002, + -7.516900062561035, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.489100456237793, + -8.825400352478028, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.169699668884278, + -7.986199855804443, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.343199729919434, + -8.812899589538575, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.996399879455567, + -8.812899589538575, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ] + } + ] + }, + "monomerTemplate-Val_11": { + "type": "monomerTemplate", + "id": "Val_11", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "V", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 7 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 5.796800136566162, + -18.364900588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.9325008392334, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 7.011300086975098, + -19.106599807739259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.011300086975098, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.177400588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.038300037384033, + -16.80270004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.739299774169922, + -16.802200317382814, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 7.224999904632568, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.574999809265137, + -18.350000381469728, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Glu_12": { + "type": "monomerTemplate", + "id": "Glu_12", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "E", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 11 + ] + } + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 7.5406999588012699, + -8.816100120544434, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -8.225700378417969, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -7.044600009918213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -6.453999996185303, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -5.272799968719482, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.609199523925782, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.563300132751465, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 8.563400268554688, + -7.6350998878479, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.765399932861329, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.586199760437012, + -9.997400283813477, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 6.486599922180176, + -8.816100120544434, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 11 + ] + } + ] + }, + "monomerTemplate-Cys_13": { + "type": "monomerTemplate", + "id": "Cys_13", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 0 + ] + } + } + ], + "atoms": [ + { + "label": "H", + "location": [ + 9.201199531555176, + -7.158699989318848, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 8.374699592590332, + -7.985400199890137, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.02810001373291, + -7.985400199890137, + 0.0 + ] + }, + { + "label": "S", + "location": [ + 9.718199729919434, + -6.737199783325195, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.194899559020996, + -7.6427001953125, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 9.698399543762207, + -8.580300331115723, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.698399543762207, + -7.97629976272583, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.194899559020996, + -7.03879976272583, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 8.704099655151368, + -7.994699954986572, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 4 + ] + } + ] + }, + "monomerTemplate-SMCC_14": { + "type": "monomerTemplate", + "class": "Linker", + "classHELM": "CHEM", + "alias": "SMCC", + "attachmentPoints": [ + { + "attachmentAtom": 53, + "leavingGroup": { + "atoms": [ + 60 + ] + } + }, + { + "attachmentAtom": 51, + "leavingGroup": { + "atoms": [ + 63 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.594599723815918, + -3.0401999950408937, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.42870044708252, + -3.224900007247925, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.8927001953125, + -2.1730000972747804, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.727399826049805, + -1.3381999731063843, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.748499870300293, + -1.9277000427246094, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.771300315856934, + -1.3372000455856324, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.83810043334961, + -4.247700214385986, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.617500305175782, + -3.63070011138916, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.640399932861329, + -3.0401999950408937, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.663200378417969, + -3.63070011138916, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.686100006103517, + -3.0401999950408937, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.686100006103517, + -1.8590999841690064, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.663200378417969, + -1.2685999870300294, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.640399932861329, + -1.8590999841690064, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 17.708900451660158, + -1.2685999870300294, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 17.708900451660158, + -0.08749999850988388, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-E_15": { + "type": "monomerTemplate", + "class": "Chem", + "classHELM": "CHEM", + "alias": "E", + "attachmentPoints": [ + { + "attachmentAtom": 54, + "leavingGroup": { + "atoms": [ + 21 + ] + } + }, + { + "attachmentAtom": 61, + "leavingGroup": { + "atoms": [ + 22 + ] + } + }, + { + "attachmentAtom": 60, + "leavingGroup": { + "atoms": [ + 53 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.159799575805664, + -16.666400909423829, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.179300308227539, + -16.077800750732423, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 14.179300308227539, + -14.900400161743164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.199000358581543, + -16.66659927368164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.199000358581543, + -14.311599731445313, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.199000358581543, + -13.134099960327149, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 16.218799591064454, + -12.545299530029297, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 14.179300308227539, + -12.545299530029297, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.199000358581543, + -17.8439998626709, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-C_16": { + "type": "monomerTemplate", + "class": "DNA", + "classHELM": "RNA", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 72, + "leavingGroup": { + "atoms": [ + 20 + ] + } + }, + { + "attachmentAtom": 63, + "leavingGroup": { + "atoms": [ + 51 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.263099670410157, + -10.526300430297852, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.545900344848633, + -14.174300193786621, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.07960033416748, + -11.033300399780274, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.97189998626709, + -11.688899993896485, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.640399932861329, + -12.703300476074219, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.545900344848633, + -12.703300476074219, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.20009994506836, + -11.674400329589844, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.172300338745118, + -11.351200103759766, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.844599723815918, + -10.309599876403809, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 8.496299743652344, + -9.783599853515625, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.496299743652344, + -8.698599815368653, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.496299743652344, + -10.868499755859375, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.327899932861329, + -10.079299926757813, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.26140022277832, + -9.72659969329834, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.579899787902832, + -8.89579963684082, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.26609992980957, + -10.84000015258789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.522899627685547, + -8.56980037689209, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.583200454711914, + -8.128600120544434, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.833700180053711, + -6.951600074768066, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 0 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + } + ] + } +} \ No newline at end of file From 151cd7ef260059010aa5a280ab6e1a18a706f913 Mon Sep 17 00:00:00 2001 From: even1024 Date: Fri, 27 Oct 2023 11:30:14 +0200 Subject: [PATCH 14/27] molv3000-fix --- .../integration/tests/formats/ref/rna_mod.ket | 3227 +++++++++++++++++ 1 file changed, 3227 insertions(+) create mode 100644 api/tests/integration/tests/formats/ref/rna_mod.ket diff --git a/api/tests/integration/tests/formats/ref/rna_mod.ket b/api/tests/integration/tests/formats/ref/rna_mod.ket new file mode 100644 index 0000000000..49e9b0e181 --- /dev/null +++ b/api/tests/integration/tests/formats/ref/rna_mod.ket @@ -0,0 +1,3227 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer0" + }, + { + "$ref": "monomer1" + }, + { + "$ref": "monomer2" + }, + { + "$ref": "monomer3" + }, + { + "$ref": "monomer4" + }, + { + "$ref": "monomer5" + }, + { + "$ref": "monomer6" + }, + { + "$ref": "monomer7" + }, + { + "$ref": "monomer8" + }, + { + "$ref": "monomer9" + }, + { + "$ref": "monomer10" + }, + { + "$ref": "monomer11" + }, + { + "$ref": "monomer12" + }, + { + "$ref": "monomer13" + }, + { + "$ref": "monomer14" + }, + { + "$ref": "monomer15" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer0", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer15", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer3", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer5", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer4", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer12", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer7", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer6", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer7", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer14", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer9", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer10", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer13", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer11", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-Cyt_0" + }, + { + "$ref": "monomerTemplate-Gua_1" + }, + { + "$ref": "monomerTemplate-Ade_2" + }, + { + "$ref": "monomerTemplate-G_3" + }, + { + "$ref": "monomerTemplate-C_4" + }, + { + "$ref": "monomerTemplate-dabA_5" + }, + { + "$ref": "monomerTemplate-5fU_6" + } + ] + }, + "monomer0": { + "type": "monomer", + "id": "0", + "seqid": 1, + "position": { + "x": 9.218799591064454, + "y": -6.3125 + }, + "alias": "C", + "templateId": "Cyt_0" + }, + "monomer1": { + "type": "monomer", + "id": "1", + "seqid": 2, + "position": { + "x": 9.492799758911133, + "y": -6.3125 + }, + "alias": "C", + "templateId": "Cyt_0" + }, + "monomer2": { + "type": "monomer", + "id": "2", + "seqid": 3, + "position": { + "x": 9.766799926757813, + "y": -6.3125 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer3": { + "type": "monomer", + "id": "3", + "seqid": 5, + "position": { + "x": 10.314800262451172, + "y": -6.3125 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer4": { + "type": "monomer", + "id": "4", + "seqid": 6, + "position": { + "x": 10.588800430297852, + "y": -6.3125 + }, + "alias": "C", + "templateId": "Cyt_0" + }, + "monomer5": { + "type": "monomer", + "id": "5", + "seqid": 7, + "position": { + "x": 10.862799644470215, + "y": -6.3125 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer6": { + "type": "monomer", + "id": "6", + "seqid": 9, + "position": { + "x": 11.410900115966797, + "y": -6.3125 + }, + "alias": "A", + "templateId": "Ade_2" + }, + "monomer7": { + "type": "monomer", + "id": "7", + "seqid": 10, + "position": { + "x": 11.684900283813477, + "y": -6.3125 + }, + "alias": "A", + "templateId": "Ade_2" + }, + "monomer8": { + "type": "monomer", + "id": "8", + "seqid": 12, + "position": { + "x": 12.5068998336792, + "y": -6.3125 + }, + "alias": "C", + "templateId": "Cyt_0" + }, + "monomer9": { + "type": "monomer", + "id": "9", + "seqid": 13, + "position": { + "x": 12.781000137329102, + "y": -6.3125 + }, + "alias": "A", + "templateId": "Ade_2" + }, + "monomer10": { + "type": "monomer", + "id": "10", + "seqid": 14, + "position": { + "x": 13.055000305175782, + "y": -6.3125 + }, + "alias": "C", + "templateId": "Cyt_0" + }, + "monomer11": { + "type": "monomer", + "id": "11", + "seqid": 16, + "position": { + "x": 13.602999687194825, + "y": -6.3125 + }, + "alias": "A", + "templateId": "Ade_2" + }, + "monomer12": { + "type": "monomer", + "id": "0", + "position": { + "x": 11.9769868850708, + "y": -5.913022518157959 + }, + "alias": "G", + "templateId": "G_3" + }, + "monomer13": { + "type": "monomer", + "id": "4", + "position": { + "x": 13.926956176757813, + "y": -5.917850017547607 + }, + "alias": "C", + "templateId": "C_4" + }, + "monomer14": { + "type": "monomer", + "id": "8", + "position": { + "x": 12.804008483886719, + "y": -5.742058753967285 + }, + "alias": "dabA", + "templateId": "dabA_5" + }, + "monomer15": { + "type": "monomer", + "id": "12", + "position": { + "x": 10.707457542419434, + "y": -5.907927989959717 + }, + "alias": "5fU", + "templateId": "5fU_6" + }, + "monomerTemplate-Cyt_0": { + "type": "monomerTemplate", + "id": "Cyt_0", + "class": "RNA", + "classHELM": "RNA", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 19 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 20 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 12.810199737548829, + -15.714699745178223, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 14.132499694824219, + -15.261699676513672, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.171799659729004, + -12.952300071716309, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.215999603271485, + -13.326299667358399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.894499778747559, + -13.824799537658692, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 13.642399787902832, + -14.596099853515625, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.547200202941895, + -13.813799858093262, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.765700340270996, + -13.567999839782715, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.516500473022461, + -12.776000022888184, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 10.441300392150879, + -12.37600040435791, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.066300392150879, + -11.550999641418457, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.441300392150879, + -13.201000213623047, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.010899543762207, + -12.693300247192383, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.478599548339844, + -12.293399810791016, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.289600372314454, + -11.816499710083008, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.66409969329834, + -13.338700294494629, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.75730037689209, + -11.41670036315918, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.592499732971192, + -11.161700248718262, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.86970043182373, + -10.289600372314454, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.435199737548829, + -14.04539966583252, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.559599876403809, + -14.04539966583252, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.810199737548829, + -14.596099853515625, + 0.0 + ], + "stereoLabel": "abs" + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 21, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 21, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 19 + ] + } + ] + }, + "monomerTemplate-Gua_1": { + "type": "monomerTemplate", + "id": "Gua_1", + "class": "RNA", + "classHELM": "RNA", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 22 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 23 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.636799812316895, + -14.835599899291993, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.959099769592286, + -14.382699966430664, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.041000366210938, + -12.121999740600586, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.04259967803955, + -12.44729995727539, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.720999717712403, + -12.945799827575684, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.468899726867676, + -13.717000007629395, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.373700141906739, + -12.934700012207032, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.59220027923584, + -12.689000129699707, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.343099594116211, + -11.896900177001954, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 9.367799758911133, + -11.496899604797364, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.96780014038086, + -10.671899795532227, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.367799758911133, + -12.321900367736817, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.11870002746582, + -10.694999694824219, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.5600004196167, + -11.379599571228028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.942500114440918, + -11.015000343322754, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.887999534606934, + -11.896599769592286, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.620200157165528, + -12.3818998336792, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.411399841308594, + -11.990799903869629, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.465900421142579, + -11.109199523925782, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.72920036315918, + -10.61870002746582, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 14.782400131225586, + -9.739500045776368, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 16.146400451660158, + -12.479499816894532, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.527299880981446, + -13.166199684143067, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.545700073242188, + -13.166199684143067, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.636799812316895, + -13.717000007629395, + 0.0 + ], + "stereoLabel": "abs" + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 24, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 14, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 24, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 24 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 21 + ] + } + ] + }, + "monomerTemplate-Ade_2": { + "type": "monomerTemplate", + "id": "Ade_2", + "class": "RNA", + "classHELM": "RNA", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 20 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 21 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.98960018157959, + -15.535599708557129, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.31190013885498, + -14.98270034790039, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.393799781799317, + -12.722000122070313, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.395400047302246, + -13.047300338745118, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.073800086975098, + -13.54580020904541, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.726499557495118, + -13.534700393676758, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.944999694824219, + -13.288999557495118, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.695899963378907, + -12.496899604797364, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 9.695599555969239, + -12.021900177001954, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.270600318908692, + -11.271900177001954, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.695599555969239, + -12.84689998626709, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.471500396728516, + -11.295000076293946, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.912799835205079, + -11.979599952697754, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.295299530029297, + -11.614999771118164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.240799903869629, + -12.496600151062012, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.972999572753907, + -12.981900215148926, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.764200210571289, + -12.590800285339356, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.818699836730957, + -11.709199905395508, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.081999778747559, + -11.218700408935547, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.135199546813965, + -10.339500427246094, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.742600440979004, + -13.778800010681153, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.023500442504883, + -13.778800010681153, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.98960018157959, + -14.317000389099121, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.821700096130371, + -14.317000389099121, + 0.0 + ], + "stereoLabel": "abs" + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 22, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 13, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 23, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 22, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 20 + ] + } + ] + }, + "monomerTemplate-G_3": { + "type": "monomerTemplate", + "class": "RNA", + "classHELM": "RNA", + "alias": "G", + "naturalAnalog": "Gua", + "naturalAnalogShort": "G", + "attachmentPoints": [ + { + "attachmentAtom": 32, + "leavingGroup": { + "atoms": [ + 5 + ] + } + }, + { + "attachmentAtom": 12, + "leavingGroup": { + "atoms": [ + 6 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.548100471496582, + -6.951000213623047, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 12.064000129699707, + -6.7743000984191898, + 0.0 + ], + "mapping": 1 + }, + { + "label": "N", + "location": [ + 12.095999717712403, + -5.892099857330322, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 11.706399917602539, + -6.019100189208984, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 11.971099853515625, + -6.213600158691406, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.87279987335205, + -6.514500141143799, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.44540023803711, + -6.2093000411987309, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.14050006866455, + -6.113399982452393, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 11.043299674987793, + -5.804299831390381, + 0.0 + ], + "mapping": 1 + }, + { + "label": "N", + "location": [ + 12.126299858093262, + -5.335299968719482, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 11.908300399780274, + -5.602499961853027, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 12.447699546813965, + -5.46019983291626, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 12.42650032043457, + -5.804200172424316, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 12.712200164794922, + -5.993599891662598, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 13.020899772644043, + -5.841000080108643, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 13.042200088500977, + -5.497000217437744, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 12.75469970703125, + -5.305600166320801, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 12.775500297546387, + -4.962500095367432, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 13.307700157165528, + -6.031599998474121, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 11.548100471496582, + -6.514500141143799, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "P", + "location": [ + 10.725600242614746, + -5.673999786376953, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 10.774200439453125, + -6.034299850463867, + 0.0 + ], + "mapping": 3 + }, + { + "label": "S", + "location": [ + 11.013199806213379, + -5.451600074768066, + 0.0 + ], + "mapping": 3 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 20, + 22 + ] + }, + { + "type": 2, + "atoms": [ + 20, + 21 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 20, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 19, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 10, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 19, + 0 + ], + "stereo": 6 + } + ] + }, + "monomerTemplate-C_4": { + "type": "monomerTemplate", + "class": "RNA", + "classHELM": "RNA", + "alias": "C", + "naturalAnalog": "Cyt", + "naturalAnalogShort": "C", + "attachmentPoints": [ + { + "attachmentAtom": 52, + "leavingGroup": { + "atoms": [ + 10 + ] + } + }, + { + "attachmentAtom": 35, + "leavingGroup": { + "atoms": [ + 11 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 13.737799644470215, + -6.934999942779541, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 14.244099617004395, + -6.761600017547607, + 0.0 + ], + "mapping": 1 + }, + { + "label": "N", + "location": [ + 14.259099960327149, + -5.877399921417236, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 13.893199920654297, + -6.020599842071533, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 14.152999877929688, + -6.211400032043457, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 14.056400299072266, + -6.506800174713135, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 13.637100219726563, + -6.207200050354004, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 13.337900161743164, + -6.113100051879883, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 13.242500305175782, + -5.809899806976318, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 14.580400466918946, + -5.778200149536133, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 13.99370002746582, + -5.625100135803223, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 14.687100410461426, + -5.442500114440918, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 14.830499649047852, + -6.025300025939941, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 14.1003999710083, + -5.2895002365112309, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 14.42020034790039, + -5.191800117492676, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 14.526300430297852, + -4.857900142669678, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 13.737799644470215, + -6.506800174713135, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "P", + "location": [ + 12.92020034790039, + -5.690000057220459, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 12.98069953918457, + -6.049099922180176, + 0.0 + ], + "mapping": 3 + }, + { + "label": "S", + "location": [ + 13.200699806213379, + -5.457799911499023, + 0.0 + ], + "mapping": 3 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 17, + 19 + ] + }, + { + "type": 2, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 11, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 10, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 6, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 16, + 0 + ], + "stereo": 6 + } + ] + }, + "monomerTemplate-dabA_5": { + "type": "monomerTemplate", + "class": "RNA", + "classHELM": "RNA", + "alias": "dabA", + "naturalAnalog": "dabA", + "attachmentPoints": [ + { + "attachmentAtom": 66, + "leavingGroup": { + "atoms": [ + 7 + ] + } + }, + { + "attachmentAtom": 57, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 12.638799667358399, + -6.975900173187256, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 13.152299880981446, + -6.761300086975098, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 12.796500205993653, + -6.009699821472168, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 13.059900283813477, + -6.2032999992370609, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.536700248718262, + -6.198999881744385, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.233200073242188, + -6.103600025177002, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 12.136500358581543, + -5.796000003814697, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 12.638799667358399, + -6.502699851989746, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.961999893188477, + -6.502699851989746, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "P", + "location": [ + 11.82699966430664, + -5.649099826812744, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 11.855999946594239, + -6.010700225830078, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 12.12559986114502, + -5.442999839782715, + 0.0 + ], + "mapping": 3 + }, + { + "label": "C", + "location": [ + 13.1697998046875, + -4.963500022888184, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 13.26729965209961, + -5.309100151062012, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 13.016799926757813, + -5.566400051116943, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 12.668700218200684, + -5.478000164031982, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 12.571100234985352, + -5.132400035858154, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 12.821599960327149, + -4.875100135803223, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 13.184000015258789, + -5.883999824523926, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 13.5378999710083, + -5.8231000900268559, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 13.589300155639649, + -5.467700004577637, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 13.370200157165528, + -4.757599830627441, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 12.29259967803955, + -5.061699867248535, + 0.0 + ], + "mapping": 2 + }, + { + "label": "Br", + "location": [ + 13.843600273132325, + -5.333799839019775, + 0.0 + ], + "mapping": 2 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 20, + 23 + ] + }, + { + "type": 2, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 20, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 18 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 0 + ], + "stereo": 6 + } + ] + }, + "monomerTemplate-5fU_6": { + "type": "monomerTemplate", + "class": "RNA", + "classHELM": "RNA", + "alias": "5fU", + "naturalAnalog": "5fU", + "attachmentPoints": [ + { + "attachmentAtom": 89, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 81, + "leavingGroup": { + "atoms": [ + 3 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 10.483099937438965, + -6.9633002281188969, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 10.998600006103516, + -6.7866997718811039, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 10.641300201416016, + -6.032199859619141, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 10.905799865722657, + -6.226600170135498, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.807499885559082, + -6.527200222015381, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.380499839782715, + -6.2221999168396, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.075799942016602, + -6.126399993896484, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 9.978699684143067, + -5.817599773406982, + 0.0 + ], + "mapping": 1 + }, + { + "label": "P", + "location": [ + 9.59850025177002, + -5.6616997718811039, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 9.44260025024414, + -5.340099811553955, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 9.59850025177002, + -5.98330020904541, + 0.0 + ], + "mapping": 3 + }, + { + "label": "C", + "location": [ + 10.483099937438965, + -6.527200222015381, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.435999870300293, + -5.294000148773193, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 11.599900245666504, + -5.623000144958496, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 11.396900177001954, + -5.9293999671936039, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 11.029999732971192, + -5.906799793243408, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 10.86620044708252, + -5.5777997970581059, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 11.069100379943848, + -5.271399974822998, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 11.598400115966797, + -5.048799991607666, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 10.572699546813965, + -5.559700012207031, + 0.0 + ], + "mapping": 2 + }, + { + "label": "F", + "location": [ + 11.893400192260743, + -5.64109992980957, + 0.0 + ], + "mapping": 2 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 20 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 11, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 15 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 11, + 0 + ], + "stereo": 6 + } + ] + } +} \ No newline at end of file From 348458129a107d0a2f1426d414e61b5717fc7795 Mon Sep 17 00:00:00 2001 From: Roman Porozhnetov Date: Fri, 27 Oct 2023 14:20:14 +0200 Subject: [PATCH 15/27] python fix --- api/tests/integration/tests/formats/mol_to_ket.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/tests/integration/tests/formats/mol_to_ket.py b/api/tests/integration/tests/formats/mol_to_ket.py index 61378f80fa..02a90cdb9c 100644 --- a/api/tests/integration/tests/formats/mol_to_ket.py +++ b/api/tests/integration/tests/formats/mol_to_ket.py @@ -39,7 +39,7 @@ def find_diff(a, b): "conjugate", "dna_mod", "pepchem", - "fmoc" + "fmoc", ] files.sort() From c4ddd90faa225e812f2e70f2a5d375d7d9df2222 Mon Sep 17 00:00:00 2001 From: even1024 Date: Mon, 30 Oct 2023 11:19:59 +0100 Subject: [PATCH 16/27] molv3000-fix --- .../molecule/molecule_json_saver.h | 5 +- core/indigo-core/molecule/molfile_loader.h | 1 + .../molecule/src/molecule_json_saver.cpp | 46 ++++++++++++++----- .../molecule/src/molfile_loader.cpp | 7 +++ 4 files changed, 45 insertions(+), 14 deletions(-) diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 25e5ac3746..44149cd8f9 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -204,7 +204,7 @@ namespace indigo void saveFragment(BaseMolecule& fragment, JsonWriter& writer); void saveMonomerTemplate(TGroup& tg, JsonWriter& writer); void saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer); - void saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer); + void saveSuperatomAttachmentPoints(Superatom& sa, Array& mapping, JsonWriter& writer); void saveSGroups(BaseMolecule& mol, JsonWriter& writer); void saveSGroup(SGroup& sgroup, JsonWriter& writer); @@ -229,9 +229,10 @@ namespace indigo std::list> _s_neighbors; std::unordered_map> _templates; std::unordered_map, std::string, pair_int_hash> _monomer_connections; - std::unordered_map _scsr_atom_superatoms; std::map _monomers_enum; + std::unordered_map _scsr_atom_superatoms; std::map _scsr_superatoms; + Array _scsr_orphaned_atoms; private: MoleculeJsonSaver(const MoleculeJsonSaver&); // no implicit copy diff --git a/core/indigo-core/molecule/molfile_loader.h b/core/indigo-core/molecule/molfile_loader.h index 68ff407d98..f4476c4a6f 100644 --- a/core/indigo-core/molecule/molfile_loader.h +++ b/core/indigo-core/molecule/molfile_loader.h @@ -113,6 +113,7 @@ namespace indigo void _readCtabHeader(); void _readCtab2000(); void _convertCharge(int value, int& charge, int& radical); + void _convertSuperatomsToTemplates(); void _read3dFeature2000(); void _readRGroupOccurrenceRanges(const char* str, Array& ranges); void _readRGroups2000(); diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index 8d47541e08..cf8a3d43ff 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1202,7 +1202,7 @@ void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, int sa_index, } } - saveSuperatomAttachmentPoints(sa, writer); + saveSuperatomAttachmentPoints(sa, map_out, writer); saveFragment(*sub_mol, writer); writer.EndObject(); // monomer template } @@ -1255,7 +1255,7 @@ void MoleculeJsonSaver::saveMonomerTemplate(TGroup& tg, JsonWriter& writer) writer.EndObject(); } -void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer) +void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, Array& mapping, JsonWriter& writer) { std::map sorted_attachment_points; if (sa.attachment_points.size()) @@ -1291,15 +1291,19 @@ void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer.String(convertAPToHELM(atp_id_str).c_str()); } writer.Key("attachmentAtom"); - writer.Int(atp.aidx); - writer.Key("leavingGroup"); - writer.StartObject(); - writer.Key("atoms"); - writer.StartArray(); - writer.Int(atp.lvidx); - writer.EndArray(); - writer.EndObject(); - writer.EndObject(); + writer.Int(mapping.size() > atp.aidx ? mapping[atp.aidx] : atp.aidx); + // if lvidx is outside of sgroup then lvidx is a destination atom + if (mapping.size() > atp.lvidx && mapping[atp.lvidx] != -1) + { + writer.Key("leavingGroup"); + writer.StartObject(); + writer.Key("atoms"); + writer.StartArray(); + writer.Int(atp.lvidx); + writer.EndArray(); + writer.EndObject(); //leavingGroup + } + writer.EndObject(); //attachmentAtom } writer.EndArray(); } @@ -1308,13 +1312,14 @@ void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& void MoleculeJsonSaver::saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer) { + Array dummy_mapping; auto& sgroups = tg.fragment->sgroups; for (int j = sgroups.begin(); j != sgroups.end(); j = sgroups.next(j)) { SGroup& sg = sgroups.getSGroup(j); if (sg.sgroup_type == SGroup::SG_TYPE_SUP) { - saveSuperatomAttachmentPoints((Superatom&)sg, writer); + saveSuperatomAttachmentPoints((Superatom&)sg, dummy_mapping, writer); sgroups.remove(j); } } @@ -1392,6 +1397,7 @@ void MoleculeJsonSaver::collectTemplates(BaseMolecule& mol) void MoleculeJsonSaver::collectSCSRSuperAtoms(BaseMolecule& mol) { _scsr_atom_superatoms.clear(); + _scsr_orphaned_atoms.clear(); int super_idx = 0; for (int i = mol.sgroups.begin(); i != mol.sgroups.end(); i = mol.sgroups.next(i)) { @@ -1430,6 +1436,12 @@ void MoleculeJsonSaver::collectSCSRSuperAtoms(BaseMolecule& mol) } } } + + for (int atom_idx = mol.vertexBegin(); atom_idx != mol.vertexEnd(); atom_idx = mol.vertexNext(atom_idx)) + { + if ( !mol.isTemplateAtom(atom_idx) && _scsr_atom_superatoms.find(atom_idx) == _scsr_atom_superatoms.end()) + _scsr_orphaned_atoms.push( atom_idx ); + } } int MoleculeJsonSaver::getMonomerNumber(int mon_idx) @@ -1504,6 +1516,16 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) writer.String(mol_node.c_str()); writer.EndObject(); } + else if (_scsr_orphaned_atoms.size()) + { + // TODO: handle orphaned atoms + /* + writer.StartObject(); + writer.Key("$ref"); + std::string mol_node = std::string("mol0"); + writer.String(mol_node.c_str()); + writer.EndObject();*/ + } saveMetaData(writer, mol.meta()); diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index f79c06105e..652240fc88 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -2071,6 +2071,13 @@ void MolfileLoader::_postLoad() _bmol->have_xyz = true; MoleculeCIPCalculator cip; cip.convertSGroupsToCIP(*_bmol); + if (_bmol->tgroups.getTGroupCount()) + _convertSuperatomsToTemplates(); +} + +void MolfileLoader::_convertSuperatomsToTemplates() +{ + } void MolfileLoader::_readRGroups2000() From 71c04193574c274b39a3f27db84d1998131efd57 Mon Sep 17 00:00:00 2001 From: even1024 Date: Mon, 30 Oct 2023 19:02:11 +0100 Subject: [PATCH 17/27] molv3000-fix --- core/indigo-core/molecule/molfile_loader.h | 2 ++ core/indigo-core/molecule/monomer_commons.h | 5 +++ .../molecule/src/molecule_json_saver.cpp | 32 +++++++++---------- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/core/indigo-core/molecule/molfile_loader.h b/core/indigo-core/molecule/molfile_loader.h index f4476c4a6f..e9f32e87eb 100644 --- a/core/indigo-core/molecule/molfile_loader.h +++ b/core/indigo-core/molecule/molfile_loader.h @@ -143,6 +143,8 @@ namespace indigo Molecule* _mol; BaseMolecule* _bmol; QueryMolecule* _qmol; + std::unordered_map _scsr_atom_superatoms; + std::map _scsr_superatoms; private: MolfileLoader(const MolfileLoader&); // no implicit copy diff --git a/core/indigo-core/molecule/monomer_commons.h b/core/indigo-core/molecule/monomer_commons.h index 5fc8e8cf96..58a5bc3df6 100644 --- a/core/indigo-core/molecule/monomer_commons.h +++ b/core/indigo-core/molecule/monomer_commons.h @@ -14,11 +14,16 @@ namespace indigo const std::string kMonomerClassdAA = "dAA"; const std::string kMonomerClassDNA = "DNA"; const std::string kMonomerClassRNA = "RNA"; + const std::string kMonomerClassPEPTIDE = "PEPTIDE"; + const std::string kMonomerClassCHEM = "CHEM"; + const std::string kMonomerClassSUGAR = "SUGAR"; const std::string kMonomerClassBASE = "BASE"; const std::string kMonomerClassPHOSPHATE = "PHOSPHATE"; const std::string kMonomerClassAminoAcid = "AminoAcid"; const std::string kMonomerClassDAminoAcid = "D-AminoAcid"; + const std::string kMonomerClassMOD = "MOD"; + const std::string kMonomerClassXLINK = "XLINK"; const std::string kPrefix_d("d"); const std::string kPrefix_r("r"); diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index cf8a3d43ff..27c38aece1 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1075,22 +1075,22 @@ std::string MoleculeJsonSaver::monomerId(const TGroup& tg) std::string MoleculeJsonSaver::monomerHELMClass(const std::string& class_name) { if (kAminoClasses.find(class_name) != kAminoClasses.end()) - return "PEPTIDE"; + return kMonomerClassPEPTIDE; if (kNucleicClasses.find(class_name) != kNucleicClasses.end()) - return "RNA"; - return "CHEM"; + return kMonomerClassRNA; + return kMonomerClassCHEM; } std::string MoleculeJsonSaver::monomerKETClass(const std::string& class_name) { auto mclass = class_name; - if (class_name == "AA") - return "AminoAcid"; + if (class_name == kMonomerClassAA) + return kMonomerClassAminoAcid; - if (mclass == "dAA") - return "D-AminoAcid"; + if (mclass == kMonomerClassdAA) + return kMonomerClassDAminoAcid; - if (mclass == "RNA" || mclass == "DNA" || mclass.find("MOD") == 0 || mclass.find("XLINK") == 0) + if (mclass == kMonomerClassRNA || mclass == kMonomerClassDNA || mclass.find(kMonomerClassMOD) == 0 || mclass.find(kMonomerClassXLINK) == 0) return mclass; for (auto it = mclass.begin(); it < mclass.end(); ++it) @@ -1293,7 +1293,7 @@ void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, Array& writer.Key("attachmentAtom"); writer.Int(mapping.size() > atp.aidx ? mapping[atp.aidx] : atp.aidx); // if lvidx is outside of sgroup then lvidx is a destination atom - if (mapping.size() > atp.lvidx && mapping[atp.lvidx] != -1) + if (atp.lvidx >= 0 && mapping.size() > atp.lvidx && mapping[atp.lvidx] != -1) { writer.Key("leavingGroup"); writer.StartObject(); @@ -1483,12 +1483,12 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i // throw Error("No connection for atom index %d\n", beg_idx); } - // find backward connection - auto dst_ap_it = _monomer_connections.find(std::make_pair(end_idx, beg_idx)); - if (dst_ap_it != _monomer_connections.end()) + // find connection + auto conn_it = _monomer_connections.find(std::make_pair(beg_idx, end_idx)); + if (conn_it != _monomer_connections.end()) { writer.Key("attachmentPointId"); - writer.String(convertAPToHELM(dst_ap_it->second).c_str()); + writer.String(convertAPToHELM(conn_it->second).c_str()); } // else // throw Error("no attachment point\n"); @@ -1572,7 +1572,7 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) if (mol.tgroups.getTGroupCount()) { - // collect attachment points into unordered map . keu - pair of from and destination atom. val - attachment point name. + // collect attachment points into unordered map . key - pair of from and destination atom. val - attachment point name. _monomer_connections.clear(); for (int i = mol.template_attachment_points.begin(); i != mol.template_attachment_points.end(); i = mol.template_attachment_points.next(i)) { @@ -1596,7 +1596,7 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) for (auto i : mol.edges()) { auto& e = mol.getEdge(i); - // save connections between templates or supeatoms + // save connections between templates or superatoms // check superatom's connection auto sa_beg_it = _scsr_atom_superatoms.find(e.beg); @@ -1718,7 +1718,7 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) writer.Key("type"); writer.String("monomer"); writer.Key("id"); - writer.String(std::to_string(kvp.first).c_str()); + writer.String(std::to_string(mon_id).c_str()); auto& sa = (Superatom&)mol->sgroups.getSGroup(kvp.first); if (sa.seqid > 0) { From 4855e606152fe39b2416abd5cedad461c417e4c2 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 10:34:13 +0100 Subject: [PATCH 18/27] molv3000-fix --- .../integration/ref/formats/mol_to_ket.py.out | 3 + .../integration/tests/formats/mol_to_ket.py | 3 + .../tests/formats/molecules/dna_mod.mol | 663 +++ .../tests/formats/molecules/fmoc.mol | 844 ++++ .../tests/formats/molecules/pepchem.mol | 810 ++++ .../integration/tests/formats/ref/chem.ket | 21 +- .../tests/formats/ref/conjugate.ket | 548 +-- .../tests/formats/ref/cysteine.ket | 29 +- .../tests/formats/ref/dcysteine.ket | 29 +- .../integration/tests/formats/ref/dna_mod.ket | 4176 ++++++++++++++++ .../tests/formats/ref/dthymine.ket | 18 +- .../integration/tests/formats/ref/fmoc.ket | 4283 +++++++++++++++++ .../integration/tests/formats/ref/pepchem.ket | 3769 +++++++++++++++ .../integration/tests/formats/ref/rna_mod.ket | 260 +- .../integration/tests/formats/ref/thymine.ket | 18 +- core/indigo-core/molecule/base_molecule.h | 1 + .../molecule/molecule_json_saver.h | 4 - core/indigo-core/molecule/molfile_loader.h | 2 + core/indigo-core/molecule/monomer_commons.h | 28 +- .../molecule/src/base_molecule.cpp | 18 +- .../molecule/src/molecule_json_saver.cpp | 162 +- .../molecule/src/molfile_loader.cpp | 97 +- 22 files changed, 14982 insertions(+), 804 deletions(-) create mode 100644 api/tests/integration/tests/formats/molecules/dna_mod.mol create mode 100644 api/tests/integration/tests/formats/molecules/fmoc.mol create mode 100644 api/tests/integration/tests/formats/molecules/pepchem.mol create mode 100644 api/tests/integration/tests/formats/ref/dna_mod.ket create mode 100644 api/tests/integration/tests/formats/ref/fmoc.ket create mode 100644 api/tests/integration/tests/formats/ref/pepchem.ket diff --git a/api/tests/integration/ref/formats/mol_to_ket.py.out b/api/tests/integration/ref/formats/mol_to_ket.py.out index 3d4d20ea4f..66b5c413ab 100644 --- a/api/tests/integration/ref/formats/mol_to_ket.py.out +++ b/api/tests/integration/ref/formats/mol_to_ket.py.out @@ -7,8 +7,11 @@ chem.ket:SUCCEED conjugate.ket:SUCCEED cysteine.ket:SUCCEED dcysteine.ket:SUCCEED +dna_mod.ket:SUCCEED dthymine.ket:SUCCEED +fmoc.ket:SUCCEED non_atrop.ket:SUCCEED +pepchem.ket:SUCCEED rna_mod.ket:SUCCEED suplabel.ket:SUCCEED thymine.ket:SUCCEED diff --git a/api/tests/integration/tests/formats/mol_to_ket.py b/api/tests/integration/tests/formats/mol_to_ket.py index 28d257996b..61378f80fa 100644 --- a/api/tests/integration/tests/formats/mol_to_ket.py +++ b/api/tests/integration/tests/formats/mol_to_ket.py @@ -37,6 +37,9 @@ def find_diff(a, b): "chem", "rna_mod", "conjugate", + "dna_mod", + "pepchem", + "fmoc" ] files.sort() diff --git a/api/tests/integration/tests/formats/molecules/dna_mod.mol b/api/tests/integration/tests/formats/molecules/dna_mod.mol new file mode 100644 index 0000000000..fab1a06dba --- /dev/null +++ b/api/tests/integration/tests/formats/molecules/dna_mod.mol @@ -0,0 +1,663 @@ + + ACCLDraw10172313372D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 139 149 27 0 1 +M V30 BEGIN ATOM +M V30 1 T 2.1939 -11.979 0 0 CLASS=DNA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 G 2.4679 -11.979 0 0 CLASS=DNA ATTCHORD=(4 1 Al 3 Br) SEQID=2 +M V30 3 G 2.742 -11.979 0 0 CLASS=DNA ATTCHORD=(4 2 Al 4 Br) SEQID=3 +M V30 4 C 3.016 -11.979 0 0 CLASS=DNA ATTCHORD=(4 3 Al 5 Br) SEQID=4 +M V30 5 G 3.29 -11.979 0 0 CLASS=DNA ATTCHORD=(4 4 Al 57 Br) SEQID=5 +M V30 6 A 3.838 -11.979 0 0 CLASS=DNA ATTCHORD=(4 75 Al 7 Br) SEQID=7 +M V30 7 C 4.112 -11.979 0 0 CLASS=DNA ATTCHORD=(4 6 Al 136 Br) SEQID=8 +M V30 8 C 4.6601 -11.979 0 0 CLASS=DNA ATTCHORD=(4 120 Al 9 Br) SEQID=10 +M V30 9 A 5.2081 -11.979 0 0 CLASS=DNA ATTCHORD=(4 8 Al 38 Br) SEQID=11 +M V30 10 C 5.7561 -11.979 0 0 CLASS=DNA ATTCHORD=(4 53 Al 11 Br) SEQID=13 +M V30 11 A 6.0302 -11.979 0 0 CLASS=DNA ATTCHORD=(4 10 Al 12 Br) SEQID=14 +M V30 12 G 6.3042 -11.979 0 0 CLASS=DNA ATTCHORD=(4 11 Al 13 Br) SEQID=15 +M V30 13 T 6.5782 -11.979 0 0 CLASS=DNA ATTCHORD=(4 12 Al 14 Br) SEQID=16 +M V30 14 C 6.8522 -11.979 0 0 CLASS=DNA ATTCHORD=(4 13 Al 103 Br) SEQID=17 +M V30 15 C 7.4002 -11.979 0 0 CLASS=DNA ATTCHORD=(4 95 Al 16 Br) SEQID=19 +M V30 16 C 7.6742 -11.979 0 0 CLASS=DNA ATTCHORD=(4 15 Al 17 Br) SEQID=20 +M V30 17 G 8.2223 -11.979 0 0 CLASS=DNA ATTCHORD=(4 16 Al 27 Br) SEQID=21 +M V30 18 O 11.5459 -14.1743 0 0 +M V30 19 N 13.2631 -10.5263 0 0 CFG=3 +M V30 20 O 12.0796 -11.0333 0 0 +M V30 21 C 12.9719 -11.6889 0 0 CFG=2 +M V30 22 C 12.6404 -12.7033 0 0 +M V30 23 C 11.5459 -12.7033 0 0 CFG=1 +M V30 24 C 11.2001 -11.6744 0 0 CFG=1 +M V30 25 C 10.1723 -11.3512 0 0 +M V30 26 O 9.8446 -10.3096 0 0 +M V30 27 P 8.4963 -9.7836 0 0 CFG=3 +M V30 28 O 8.4963 -8.6986 0 0 +M V30 29 O 8.4963 -10.8685 0 0 +M V30 30 C 14.3279 -10.0793 0 0 +M V30 31 C 12.2614 -9.7266 0 0 +M V30 32 N 14.5799 -8.8958 0 0 +M V30 33 O 15.2661 -10.84 0 0 +M V30 34 C 12.5229 -8.5698 0 0 +M V30 35 C 13.5832 -8.1286 0 0 +M V30 36 N 13.8337 -6.9516 0 0 +M V30 37 N 6.5064 -11.6105 0 2 CFG=3 +M V30 38 P 5.152 -11.3715 0 3 CFG=3 +M V30 39 O 5.152 -11.0404 0 3 +M V30 40 O 5.152 -11.7025 0 3 +M V30 41 C 6.8313 -11.4741 0 2 +M V30 42 C 6.2007 -11.3665 0 2 +M V30 43 N 6.9082 -11.113 0 2 +M V30 44 O 7.1176 -11.7062 0 2 +M V30 45 C 6.2806 -11.0135 0 2 +M V30 46 C 6.6041 -10.8789 0 2 +M V30 47 N 6.6805 -10.5198 0 2 +M V30 48 S 6.0512 -11.7781 0 1 +M V30 49 C 5.8184 -12.0063 0 1 CFG=1 +M V30 50 C 6.3401 -11.929 0 1 CFG=2 +M V30 51 C 5.9635 -12.2982 0 1 CFG=2 +M V30 52 C 6.2859 -12.2504 0 1 CFG=1 +M V30 53 O 5.8122 -12.5864 0 1 +M V30 54 O 6.4685 -12.4366 0 1 +M V30 55 C 5.4975 -11.9515 0 1 +M V30 56 O 5.3841 -11.6457 0 1 +M V30 57 P 3.3182 -11.2685 0 3 CFG=3 +M V30 58 O 3.3182 -10.9361 0 3 +M V30 59 O 3.3182 -11.6008 0 3 +M V30 60 C 4.6438 -10.8395 0 2 +M V30 61 C 4.7665 -11.1824 0 2 +M V30 62 C 4.5309 -11.4602 0 2 +M V30 63 N 4.1725 -11.395 0 2 +M V30 64 C 4.0498 -11.0521 0 2 +M V30 65 N 4.2854 -10.7743 0 2 +M V30 66 N 4.7221 -11.77 0 2 CFG=3 +M V30 67 C 5.076 -11.6837 0 2 +M V30 68 N 5.1033 -11.3205 0 2 +M V30 69 N 4.8323 -10.6172 0 2 +M V30 70 O 4.2173 -11.836 0 1 +M V30 71 C 3.9191 -12.0477 0 1 CFG=1 +M V30 72 C 4.5108 -12.0542 0 1 CFG=2 +M V30 73 C 4.0283 -12.3967 0 1 CFG=2 +M V30 74 C 4.394 -12.4007 0 1 CFG=1 +M V30 75 O 3.8098 -12.6894 0 1 +M V30 76 O 4.6061 -12.6981 0 1 +M V30 77 C 3.5732 -11.9303 0 1 +M V30 78 O 3.5016 -11.5715 0 1 +M V30 79 C 4.9703 -12.6633 0 1 +M V30 80 C 5.1828 -12.9613 0 1 +M V30 81 O 5.547 -12.9265 0 1 +M V30 82 C 5.7595 -13.2244 0 1 CFG=3 +M V30 83 C 6.1237 -13.1896 0 1 CFG=3 +M V30 84 C 5.6076 -13.5572 0 1 CFG=3 +M V30 85 C 5.9137 -12.8847 0 1 CFG=3 +M V30 86 F 6.2936 -13.4278 0 1 +M V30 87 F 6.2249 -12.9678 0 1 +M V30 88 F 6.415 -13.1616 0 1 +M V30 89 F 5.7772 -13.7956 0 1 +M V30 90 F 5.3164 -13.5851 0 1 +M V30 91 F 5.486 -13.8234 0 1 +M V30 92 F 5.7436 -12.6467 0 1 +M V30 93 F 6.0348 -12.6184 0 1 +M V30 94 F 6.1564 -12.8611 0 1 +M V30 95 O 7.5741 -12.6161 0 1 +M V30 96 O 7.7325 -11.6836 0 1 +M V30 97 C 7.9974 -11.8782 0 1 CFG=2 +M V30 98 C 7.899 -12.1793 0 1 +M V30 99 C 7.5741 -12.1793 0 1 CFG=1 +M V30 100 C 7.4713 -11.8739 0 1 CFG=1 +M V30 101 C 7.1662 -11.778 0 1 +M V30 102 O 7.0689 -11.4589 0 1 +M V30 103 P 6.6784 -11.3418 0 3 CFG=3 +M V30 104 O 6.6784 -11.0197 0 3 +M V30 105 O 6.6784 -11.6639 0 3 +M V30 106 C 8.5222 -10.9569 0 2 +M V30 107 C 8.1615 -10.9338 0 2 +M V30 108 C 7.9613 -11.2346 0 2 +M V30 109 N 8.1216 -11.5584 0 2 CFG=3 +M V30 110 C 8.4823 -11.5814 0 2 +M V30 111 N 8.6825 -11.2806 0 2 +M V30 112 N 8.7231 -10.6563 0 2 CFG=3 +M V30 113 O 8.6105 -11.8405 0 2 +M V30 114 C 8.0011 -10.6099 0 2 CFG=3 +M V30 115 C 8.0334 -10.2689 0 2 +M V30 116 C 7.7098 -10.4298 0 2 +M V30 117 C 9.0116 -10.6751 0 2 +M V30 118 C 8.5953 -10.397 0 2 +M V30 119 N 5.3072 -11.5491 0 2 CFG=3 +M V30 120 O 4.7921 -12.5901 0 1 +M V30 121 O 4.9463 -11.692 0 1 +M V30 122 C 5.2042 -11.8814 0 1 CFG=2 +M V30 123 C 5.1084 -12.1745 0 1 +M V30 124 C 4.7921 -12.1745 0 1 CFG=1 +M V30 125 C 4.6922 -11.8772 0 1 CFG=1 +M V30 126 C 4.3952 -11.7838 0 1 +M V30 127 O 4.3005 -11.4829 0 1 +M V30 128 C 5.6253 -11.4484 0 2 +M V30 129 C 5.0255 -11.2955 0 2 +M V30 130 N 5.7288 -11.1144 0 2 CFG=3 +M V30 131 O 5.8753 -11.6919 0 2 +M V30 132 C 5.129 -10.9616 0 2 +M V30 133 C 5.4621 -10.8676 0 2 +M V30 134 O 5.5651 -10.5354 0 2 +M V30 135 C 4.8785 -10.7171 0 2 +M V30 136 P 3.98 -11.3678 0 3 CFG=3 +M V30 137 O 4.0441 -11.7227 0 3 +M V30 138 S 4.2551 -11.1347 0 3 CHG=-1 +M V30 139 Na 4.3657 -10.293 0 3 CHG=1 +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 5 1 57 5 +M V30 6 1 6 75 +M V30 7 1 7 6 +M V30 8 1 136 7 +M V30 9 1 8 120 +M V30 10 1 9 8 +M V30 11 1 38 9 +M V30 12 1 10 53 +M V30 13 1 11 10 +M V30 14 1 12 11 +M V30 15 1 13 12 +M V30 16 1 14 13 +M V30 17 1 103 14 +M V30 18 1 15 95 +M V30 19 1 16 15 +M V30 20 1 17 16 +M V30 21 1 27 17 +M V30 22 1 34 35 +M V30 23 1 35 36 +M V30 24 2 32 35 +M V30 25 2 31 34 +M V30 26 2 30 33 +M V30 27 1 30 32 +M V30 28 1 19 31 +M V30 29 1 19 30 +M V30 30 1 25 26 +M V30 31 1 23 18 CFG=3 +M V30 32 1 21 19 CFG=1 +M V30 33 1 24 25 CFG=1 +M V30 34 1 21 22 +M V30 35 1 23 22 +M V30 36 2 27 29 +M V30 37 1 20 21 +M V30 38 1 27 28 +M V30 39 1 24 23 +M V30 40 1 26 27 +M V30 41 1 24 20 +M V30 42 1 55 56 +M V30 43 1 52 54 CFG=3 +M V30 44 1 51 53 CFG=3 +M V30 45 1 51 52 +M V30 46 1 50 52 +M V30 47 1 49 55 CFG=1 +M V30 48 1 49 51 +M V30 49 1 48 50 +M V30 50 1 48 49 +M V30 51 1 46 47 +M V30 52 1 45 46 +M V30 53 2 43 46 +M V30 54 2 42 45 +M V30 55 2 41 44 +M V30 56 1 41 43 +M V30 57 1 56 38 +M V30 58 2 38 40 +M V30 59 1 38 39 +M V30 60 1 50 37 CFG=1 +M V30 61 1 37 42 +M V30 62 1 37 41 +M V30 63 1 85 94 +M V30 64 1 85 93 +M V30 65 1 85 92 +M V30 66 1 84 91 +M V30 67 1 84 90 +M V30 68 1 84 89 +M V30 69 1 83 88 +M V30 70 1 83 87 +M V30 71 1 83 86 +M V30 72 1 82 85 +M V30 73 1 82 84 +M V30 74 1 82 83 +M V30 75 1 81 82 +M V30 76 1 80 81 +M V30 77 1 79 80 +M V30 78 1 77 78 +M V30 79 1 76 79 +M V30 80 1 74 76 CFG=3 +M V30 81 1 73 75 CFG=3 +M V30 82 1 73 74 +M V30 83 1 72 74 +M V30 84 1 71 77 CFG=1 +M V30 85 1 71 73 +M V30 86 1 70 72 +M V30 87 1 70 71 +M V30 88 2 67 68 +M V30 89 1 72 66 CFG=1 +M V30 90 1 66 67 +M V30 91 1 64 65 +M V30 92 2 63 64 +M V30 93 1 62 63 +M V30 94 1 66 62 +M V30 95 2 61 62 +M V30 96 1 68 61 +M V30 97 1 60 61 +M V30 98 2 60 65 +M V30 99 1 60 69 +M V30 100 1 78 57 +M V30 101 2 57 59 +M V30 102 1 57 58 +M V30 103 1 116 115 +M V30 104 1 114 116 +M V30 105 1 114 115 +M V30 106 1 112 118 +M V30 107 1 112 117 +M V30 108 2 110 113 +M V30 109 1 110 111 +M V30 110 1 109 110 +M V30 111 1 108 109 +M V30 112 1 107 114 +M V30 113 2 107 108 +M V30 114 1 106 112 +M V30 115 2 106 111 +M V30 116 1 106 107 +M V30 117 2 103 105 +M V30 118 1 103 104 +M V30 119 1 102 103 +M V30 120 1 101 102 +M V30 121 1 100 101 CFG=1 +M V30 122 1 100 99 +M V30 123 1 99 98 +M V30 124 1 97 109 CFG=1 +M V30 125 1 97 98 +M V30 126 1 100 96 +M V30 127 1 96 97 +M V30 128 1 99 95 CFG=3 +M V30 129 1 136 138 +M V30 130 2 136 137 +M V30 131 2 133 134 +M V30 132 1 132 135 +M V30 133 1 132 133 +M V30 134 1 130 133 +M V30 135 2 129 132 +M V30 136 2 128 131 +M V30 137 1 128 130 +M V30 138 1 136 127 +M V30 139 1 126 127 +M V30 140 1 125 126 CFG=1 +M V30 141 1 125 124 +M V30 142 1 124 123 +M V30 143 1 122 123 +M V30 144 1 125 121 +M V30 145 1 121 122 +M V30 146 1 124 120 CFG=3 +M V30 147 1 119 129 +M V30 148 1 119 128 +M V30 149 1 122 119 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(19 19 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35- +M V30 36) XBONDS=(1 21) LABEL=C ESTATE=E SAP=(3 27 17 Al) SAP=(3 18 0 Br) - +M V30 SEQID=22 +M V30 2 SUP 2 ATOMS=(20 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54- +M V30 55 56) XBONDS=(2 12 11) CSTATE=(4 12 0.27 0 0) CSTATE=(4 11 -0.27 0 - +M V30 0) LABEL=C SAP=(3 38 9 Al) SAP=(3 53 10 Br) SEQID=12 +M V30 3 DAT 3 PARENT=2 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=P +M V30 4 DAT 4 PARENT=2 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=C +M V30 5 DAT 5 PARENT=2 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=4sR +M V30 6 SUP 6 ATOMS=(38 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74- +M V30 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94) - +M V30 XBONDS=(2 5 6) CSTATE=(4 5 -0.27 0 0) CSTATE=(4 6 0.27 0 0) - +M V30 LABEL=A SAP=(3 57 5 Al) SAP=(3 75 6 Br) SEQID=6 +M V30 7 DAT 7 PARENT=6 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=P +M V30 8 DAT 8 PARENT=6 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=A +M V30 9 DAT 9 PARENT=6 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=FMOE +M V30 10 SUP 10 ATOMS=(24 95 96 97 98 99 100 101 102 103 104 105 106 107 108 - +M V30 109 110 111 112 113 114 115 116 117 118) XBONDS=(2 18 17) CSTATE=(4 - +M V30 18 0.27 0 0) CSTATE=(4 17 -0.27 0 0) LABEL=cdaC SAP=(3 103 14 Al) - +M V30 SAP=(3 95 15 Br) SEQID=18 +M V30 11 DAT 11 PARENT=10 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=P +M V30 12 DAT 12 PARENT=10 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=cdaC +M V30 13 DAT 13 PARENT=10 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=dR +M V30 14 SUP 14 ATOMS=(21 119 120 121 122 123 124 125 126 127 128 129 130 131- +M V30 132 133 134 135 136 137 138 139) XBONDS=(2 9 8) CSTATE=(4 9 0.27 0 - +M V30 0) CSTATE=(4 8 -0.27 0 0) LABEL=T SAP=(3 120 8 Br) SAP=(3 136 7 Al) - +M V30 SEQID=9 +M V30 15 DAT 15 PARENT=14 FIELDNAME=SMMX:NUCLEOTIDE_P5 - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=nasP +M V30 16 DAT 16 PARENT=14 FIELDNAME=SMMX:NUCLEOTIDE_BASE - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=T +M V30 17 DAT 17 PARENT=14 FIELDNAME=SMMX:NUCLEOTIDE_SUGAR - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=dR +M V30 18 DAT 18 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 3.7188 -7.8188 DA ALL 1 " +M V30 19 DAT 19 PARENT=1 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=XLINKDNA +M V30 20 DAT 20 PARENT=2 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODDNA NATREPLACE=DNA/C +M V30 21 DAT 21 PARENT=6 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODDNA NATREPLACE=DNA/A +M V30 22 DAT 22 PARENT=10 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODDNA NATREPLACE=DNA/cdaC +M V30 23 DAT 23 PARENT=14 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODDNA NATREPLACE=DNA/T +M V30 24 DAT 24 ATOMS=(20 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 - +M V30 54 55 56) FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 25 DAT 25 ATOMS=(38 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 - +M V30 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94) - +M V30 FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 26 DAT 26 ATOMS=(24 95 96 97 98 99 100 101 102 103 104 105 106 107 108 - +M V30 109 110 111 112 113 114 115 116 117 118) - +M V30 FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 27 DAT 27 ATOMS=(21 119 120 121 122 123 124 125 126 127 128 129 130 131- +M V30 132 133 134 135 136 137 138 139) FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MOD_GRANULAR +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(17 21 23 24 49 50 51 52 71 72 73 74 97 99 100 122- +M V30 124 125) +M V30 END COLLECTION +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 DNA/T +M V30 BEGIN CTAB +M V30 COUNTS 22 23 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 13.2102 -15.3772 0 0 +M V30 2 N 14.5655 -12.6378 0 0 CFG=3 +M V30 3 O 13.616 -13.0138 0 0 +M V30 4 C 14.2945 -13.5123 0 0 CFG=2 +M V30 5 C 14.0424 -14.2836 0 0 +M V30 6 C 13.2102 -14.2836 0 0 CFG=1 +M V30 7 C 12.9472 -13.5013 0 0 CFG=1 +M V30 8 C 12.1657 -13.2555 0 0 +M V30 9 O 11.9165 -12.4635 0 0 +M V30 10 P 10.9413 -12.1135 0 0 CFG=3 +M V30 11 O 10.9413 -11.2885 0 0 +M V30 12 O 10.9413 -12.9385 0 0 +M V30 13 C 15.4027 -12.3728 0 0 +M V30 14 C 13.8243 -11.9705 0 0 +M V30 15 N 15.6751 -11.494 0 0 CFG=3 +M V30 16 O 16.0606 -13.0135 0 0 +M V30 17 C 14.0967 -11.0918 0 0 +M V30 18 C 14.9733 -10.8443 0 0 +M V30 19 O 15.2442 -9.9702 0 0 +M V30 20 C 13.4376 -10.4484 0 0 +M V30 21 O 10.8008 -13.7454 0 0 +M V30 22 H 13.3787 -13.7454 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 22 +M V30 2 1 7 6 +M V30 3 1 10 11 +M V30 4 1 3 4 +M V30 5 2 10 12 +M V30 6 1 6 5 +M V30 7 1 4 5 +M V30 8 1 7 8 CFG=1 +M V30 9 1 4 2 CFG=1 +M V30 10 1 6 1 CFG=3 +M V30 11 1 8 9 +M V30 12 1 2 13 +M V30 13 1 2 14 +M V30 14 1 13 15 +M V30 15 2 13 16 +M V30 16 2 14 17 +M V30 17 1 15 18 +M V30 18 2 18 19 +M V30 19 1 17 18 +M V30 20 1 7 3 +M V30 21 1 17 20 +M V30 22 1 10 21 +M V30 23 1 9 10 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(20 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) - +M V30 XBONDS=(2 22 1) CSTATE=(4 22 -1.27 -0 0) CSTATE=(4 1 1.3 -0 - +M V30 0) LABEL=T CLASS=DNA SAP=(3 10 21 Al) SAP=(3 1 22 Br) +M V30 2 SUP 2 ATOMS=(1 21) XBONDS=(1 22) CSTATE=(4 22 1.27 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 22) XBONDS=(1 1) CSTATE=(4 1 -1.3 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 DNA/G +M V30 BEGIN CTAB +M V30 COUNTS 24 26 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.5618 -15.1106 0 0 +M V30 2 N 12.966 -12.397 0 0 CFG=3 +M V30 3 O 11.9676 -12.7223 0 0 +M V30 4 C 12.646 -13.2208 0 0 CFG=2 +M V30 5 C 12.3939 -13.992 0 0 +M V30 6 C 11.5618 -13.992 0 0 CFG=1 +M V30 7 C 11.2987 -13.2097 0 0 CFG=1 +M V30 8 C 10.5172 -12.964 0 0 +M V30 9 O 10.2681 -12.1469 0 0 +M V30 10 P 9.2678 -11.8469 0 0 CFG=3 +M V30 11 O 9.2678 -11.0219 0 0 +M V30 12 O 9.2678 -12.6719 0 0 +M V30 13 N 13.0437 -10.97 0 0 +M V30 14 C 12.485 -11.6546 0 0 +M V30 15 C 13.8675 -11.29 0 0 +M V30 16 C 13.813 -12.1716 0 0 +M V30 17 N 14.5452 -12.6569 0 0 +M V30 18 C 15.3364 -12.2658 0 0 +M V30 19 N 15.3909 -11.3842 0 0 CFG=3 +M V30 20 C 14.6542 -10.8937 0 0 +M V30 21 O 14.7074 -10.0145 0 0 +M V30 22 N 16.0714 -12.7545 0 0 +M V30 23 O 9.1148 -13.4787 0 0 +M V30 24 H 11.6677 -13.4787 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 24 +M V30 2 1 10 23 +M V30 3 1 10 11 +M V30 4 1 3 4 +M V30 5 2 10 12 +M V30 6 1 6 5 +M V30 7 1 2 16 +M V30 8 1 4 5 +M V30 9 1 7 8 CFG=1 +M V30 10 1 15 13 +M V30 11 2 13 14 +M V30 12 1 14 2 +M V30 13 2 15 16 +M V30 14 1 4 2 CFG=1 +M V30 15 1 6 1 CFG=3 +M V30 16 1 8 9 +M V30 17 1 7 3 +M V30 18 1 15 20 +M V30 19 1 16 17 +M V30 20 2 17 18 +M V30 21 1 18 19 +M V30 22 1 19 20 +M V30 23 1 9 10 +M V30 24 2 20 21 +M V30 25 1 7 6 +M V30 26 1 18 22 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(22 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21- +M V30 22) XBONDS=(2 2 1) CSTATE=(4 2 -1.3 0 0) CSTATE=(4 1 1.25 0 0) LABEL=- +M V30 G CLASS=DNA SAP=(3 10 23 Al) SAP=(3 1 24 Br) +M V30 2 SUP 2 ATOMS=(1 23) XBONDS=(1 2) CSTATE=(4 2 1.3 -0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 24) XBONDS=(1 1) CSTATE=(4 1 -1.25 -0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 DNA/C +M V30 BEGIN CTAB +M V30 COUNTS 21 22 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 13.2852 -15.3897 0 0 +M V30 2 N 14.5909 -12.6158 0 0 CFG=3 +M V30 3 O 13.691 -13.0013 0 0 +M V30 4 C 14.3695 -13.4998 0 0 CFG=2 +M V30 5 C 14.1174 -14.2711 0 0 +M V30 6 C 13.2852 -14.2711 0 0 CFG=1 +M V30 7 C 13.0222 -13.4888 0 0 CFG=1 +M V30 8 C 12.2407 -13.243 0 0 +M V30 9 O 11.9915 -12.451 0 0 +M V30 10 P 10.9663 -12.051 0 0 CFG=3 +M V30 11 O 10.9663 -11.226 0 0 +M V30 12 O 10.9663 -12.876 0 0 +M V30 13 C 15.4006 -12.2759 0 0 +M V30 14 C 13.8292 -12.0077 0 0 +M V30 15 N 15.5922 -11.376 0 0 +M V30 16 O 16.114 -12.8543 0 0 +M V30 17 C 14.0281 -11.1281 0 0 +M V30 18 C 14.8343 -10.7926 0 0 +M V30 19 N 15.0248 -9.8976 0 0 +M V30 20 O 10.7508 -13.7204 0 0 +M V30 21 H 13.4536 -13.7204 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 21 +M V30 2 1 7 3 +M V30 3 1 9 10 +M V30 4 1 7 6 +M V30 5 1 10 11 +M V30 6 1 3 4 +M V30 7 2 10 12 +M V30 8 1 6 5 +M V30 9 1 4 5 +M V30 10 1 7 8 CFG=1 +M V30 11 1 4 2 CFG=1 +M V30 12 1 6 1 CFG=3 +M V30 13 1 8 9 +M V30 14 1 2 13 +M V30 15 1 2 14 +M V30 16 1 13 15 +M V30 17 2 13 16 +M V30 18 2 14 17 +M V30 19 2 15 18 +M V30 20 1 18 19 +M V30 21 1 17 18 +M V30 22 1 10 20 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(19 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19) - +M V30 XBONDS=(2 22 1) CSTATE=(4 22 -1.37 -0 0) CSTATE=(4 1 1.33 -0 - +M V30 0) LABEL=C CLASS=DNA SAP=(3 10 20 Al) SAP=(3 1 21 Br) +M V30 2 SUP 2 ATOMS=(1 20) XBONDS=(1 22) CSTATE=(4 22 1.37 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 21) XBONDS=(1 1) CSTATE=(4 1 -1.33 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 4 DNA/A +M V30 BEGIN CTAB +M V30 COUNTS 23 25 3 0 1 +M V30 BEGIN ATOM +M V30 1 O 11.9021 -15.1356 0 0 +M V30 2 N 13.3063 -12.397 0 0 CFG=3 +M V30 3 O 12.3079 -12.7223 0 0 +M V30 4 C 12.9863 -13.2208 0 0 CFG=2 +M V30 5 C 12.7342 -13.992 0 0 +M V30 6 C 11.9021 -13.992 0 0 CFG=1 +M V30 7 C 11.639 -13.2097 0 0 CFG=1 +M V30 8 C 10.8575 -12.964 0 0 +M V30 9 O 10.6084 -12.1719 0 0 +M V30 10 P 9.5831 -11.8469 0 0 CFG=3 +M V30 11 O 9.5831 -11.0219 0 0 +M V30 12 O 9.5831 -12.6719 0 0 +M V30 13 N 13.384 -10.97 0 0 +M V30 14 C 12.8253 -11.6546 0 0 +M V30 15 C 14.2078 -11.29 0 0 +M V30 16 C 14.1533 -12.1716 0 0 +M V30 17 N 14.8855 -12.6569 0 0 +M V30 18 C 15.6767 -12.2658 0 0 +M V30 19 N 15.7312 -11.3842 0 0 +M V30 20 C 14.9945 -10.8937 0 0 +M V30 21 N 15.0477 -10.0145 0 0 +M V30 22 O 9.3926 -13.4913 0 0 +M V30 23 H 11.9455 -13.4913 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 23 +M V30 2 1 7 6 +M V30 3 1 10 11 +M V30 4 1 3 4 +M V30 5 2 10 12 +M V30 6 1 6 5 +M V30 7 1 2 16 +M V30 8 1 4 5 +M V30 9 1 7 8 CFG=1 +M V30 10 1 15 13 +M V30 11 2 13 14 +M V30 12 1 14 2 +M V30 13 2 15 16 +M V30 14 1 4 2 CFG=1 +M V30 15 1 6 1 CFG=3 +M V30 16 1 8 9 +M V30 17 1 7 3 +M V30 18 1 15 20 +M V30 19 1 16 17 +M V30 20 2 17 18 +M V30 21 1 18 19 +M V30 22 2 19 20 +M V30 23 1 9 10 +M V30 24 1 20 21 +M V30 25 1 10 22 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(21 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21- +M V30 ) XBONDS=(2 25 1) CSTATE=(4 25 -1.35 -0 0) CSTATE=(4 1 1.2 -0 0) - +M V30 LABEL=A CLASS=DNA SAP=(3 10 22 Al) SAP=(3 1 23 Br) +M V30 2 SUP 2 ATOMS=(1 22) XBONDS=(1 25) CSTATE=(4 25 1.35 0 0) LABEL="5'" - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 23) XBONDS=(1 1) CSTATE=(4 1 -1.2 0 0) LABEL="3'" - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(3 4 6 7) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/api/tests/integration/tests/formats/molecules/fmoc.mol b/api/tests/integration/tests/formats/molecules/fmoc.mol new file mode 100644 index 0000000000..8f37f9c01d --- /dev/null +++ b/api/tests/integration/tests/formats/molecules/fmoc.mol @@ -0,0 +1,844 @@ + + ACCLDraw10232313132D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 56 58 5 0 1 +M V30 BEGIN ATOM +M V30 1 His 0.8141 -6.2109 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Ala 1.4944 -6.2109 0 0 CLASS=AA ATTCHORD=(4 1 Al 3 Br) SEQID=2 +M V30 3 Glu 2.1747 -6.2109 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Gly 2.855 -6.2109 0 0 CLASS=AA ATTCHORD=(4 5 Br 3 Al) SEQID=4 +M V30 5 Thr 3.5353 -6.2109 0 0 CLASS=AA ATTCHORD=(4 4 Al 6 Br) SEQID=5 +M V30 6 Phe 4.2156 -6.2109 0 0 CLASS=AA ATTCHORD=(4 7 Br 5 Al) SEQID=6 +M V30 7 Thr 4.896 -6.2109 0 0 CLASS=AA ATTCHORD=(4 6 Al 8 Br) SEQID=7 +M V30 8 Ser 5.5763 -6.2109 0 0 CLASS=AA ATTCHORD=(4 7 Al 9 Br) SEQID=8 +M V30 9 Asp 6.2566 -6.2109 0 0 CLASS=AA ATTCHORD=(4 8 Al 10 Br) SEQID=9 +M V30 10 Val 6.9369 -6.2109 0 0 CLASS=AA ATTCHORD=(4 11 Br 9 Al) SEQID=10 +M V30 11 Ser 8.2975 -6.2109 0 0 CLASS=AA ATTCHORD=(4 10 Al 12 Br) SEQID=11 +M V30 12 Ser 8.9778 -6.2109 0 0 CLASS=AA ATTCHORD=(4 11 Al 13 Br) SEQID=12 +M V30 13 Tyr 9.6582 -6.2109 0 0 CLASS=AA ATTCHORD=(4 12 Al 14 Br) SEQID=13 +M V30 14 Leu 10.3385 -6.2109 0 0 CLASS=AA ATTCHORD=(4 15 Br 13 Al) SEQID=14 +M V30 15 Glu 11.0188 -6.2109 0 0 CLASS=AA ATTCHORD=(4 16 Br 14 Al) SEQID=15 +M V30 16 Gly 11.6991 -6.2109 0 0 CLASS=AA ATTCHORD=(4 17 Br 15 Al) SEQID=16 +M V30 17 Gln 12.3794 -6.2109 0 0 CLASS=AA ATTCHORD=(4 16 Al 18 Br) SEQID=17 +M V30 18 Ala 13.0597 -6.2109 0 0 CLASS=AA ATTCHORD=(4 17 Al 19 Br) SEQID=18 +M V30 19 Ala 13.74 -6.2109 0 0 CLASS=AA ATTCHORD=(4 18 Al 20 Br) SEQID=19 +M V30 20 Lys 14.4204 -6.2109 0 0 CLASS=AA ATTCHORD=(4 19 Al 48 Br) SEQID=20 +M V30 21 Phe 16.4613 -6.2109 0 0 CLASS=AA ATTCHORD=(4 22 Br 55 Al) SEQID=22 +M V30 22 Ile 17.1416 -6.2109 0 0 CLASS=AA ATTCHORD=(4 23 Br 21 Al) SEQID=23 +M V30 23 Ala 17.8219 -6.2109 0 0 CLASS=AA ATTCHORD=(4 22 Al 24 Br) SEQID=24 +M V30 24 Trp 18.5023 -6.2109 0 0 CLASS=AA ATTCHORD=(4 23 Al 25 Br) SEQID=25 +M V30 25 Leu 19.1826 -6.2109 0 0 CLASS=AA ATTCHORD=(4 26 Br 24 Al) SEQID=26 +M V30 26 Val 19.8629 -6.2109 0 0 CLASS=AA ATTCHORD=(4 27 Br 25 Al) SEQID=27 +M V30 27 Arg 20.5432 -6.2109 0 0 CLASS=AA ATTCHORD=(4 28 Br 26 Al) SEQID=28 +M V30 28 Gly 21.2235 -6.2109 0 0 CLASS=AA ATTCHORD=(4 29 Br 27 Al) SEQID=29 +M V30 29 Arg 21.9038 -6.2109 0 0 CLASS=AA ATTCHORD=(4 30 Br 28 Al) SEQID=30 +M V30 30 Gly 23.2645 -6.2109 0 0 CLASS=AA ATTCHORD=(2 29 Al) SEQID=31 +M V30 31 C 15.781 -5.5301 0 0 +M V30 32 O 16.5933 -5.5301 0 0 +M V30 33 O 15.17 -4.9307 0 0 +M V30 34 C 15.7582 -4.452 0 0 +M V30 35 C 15.7582 -3.771 0 0 CFG=3 +M V30 36 C 16.3453 -3.4234 0 0 +M V30 37 C 16.3453 -2.7437 0 0 +M V30 38 C 16.9327 -2.3994 0 0 +M V30 39 C 17.5203 -2.7392 0 0 +M V30 40 C 17.5203 -3.4203 0 0 +M V30 41 C 16.9343 -3.7602 0 0 +M V30 42 C 15.1649 -2.7437 0 0 +M V30 43 C 14.5702 -2.4052 0 0 +M V30 44 C 13.9797 -2.7496 0 0 +M V30 45 C 13.9797 -3.436 0 0 +M V30 46 C 14.5781 -3.7714 0 0 +M V30 47 C 15.1649 -3.4273 0 0 +M V30 48 N 15.1504 -6.2109 0 0 CFG=3 +M V30 49 C 15.7809 -5.8469 0 0 CFG=1 +M V30 50 C 15.7809 -5.1186 0 0 +M V30 51 C 16.4116 -4.7545 0 0 +M V30 52 C 16.4116 -4.0262 0 0 +M V30 53 O 17.0423 -3.6621 0 0 +M V30 54 O 15.7809 -3.6621 0 0 +M V30 55 C 16.4116 -6.211 0 0 +M V30 56 O 16.4116 -6.9392 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 2 +M V30 3 1 3 4 +M V30 4 1 5 4 +M V30 5 1 5 6 +M V30 6 1 7 6 +M V30 7 1 8 7 +M V30 8 1 9 8 +M V30 9 1 9 10 +M V30 10 1 11 10 +M V30 11 1 12 11 +M V30 12 1 13 12 +M V30 13 1 13 14 +M V30 14 1 15 14 +M V30 15 1 15 16 +M V30 16 1 17 16 +M V30 17 1 17 18 +M V30 18 1 19 18 +M V30 19 1 20 19 +M V30 20 1 48 20 +M V30 21 1 55 21 +M V30 22 1 22 21 +M V30 23 1 23 22 +M V30 24 1 24 23 +M V30 25 1 24 25 +M V30 26 1 26 25 +M V30 27 1 27 26 +M V30 28 1 27 28 +M V30 29 1 29 28 +M V30 30 1 29 30 +M V30 31 1 35 34 +M V30 32 1 34 33 +M V30 33 1 35 36 +M V30 34 2 31 32 +M V30 35 2 43 44 +M V30 36 1 44 45 +M V30 37 2 45 46 +M V30 38 1 46 47 +M V30 39 1 42 43 +M V30 40 2 37 38 +M V30 41 1 39 38 +M V30 42 2 40 39 +M V30 43 1 41 40 +M V30 44 2 36 41 +M V30 45 1 36 37 +M V30 46 1 42 37 +M V30 47 2 47 42 +M V30 48 1 47 35 +M V30 49 1 33 31 +M V30 50 1 31 54 +M V30 51 2 55 56 +M V30 52 1 49 55 +M V30 53 1 52 54 +M V30 54 2 52 53 +M V30 55 1 51 52 +M V30 56 1 50 51 +M V30 57 1 49 50 CFG=1 +M V30 58 1 48 49 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(17 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 31) - +M V30 XBONDS=(1 50) CSTATE=(4 50 -0 0.17 0) LABEL=Fmoc +M V30 2 SUP 2 ATOMS=(9 48 49 50 55 51 52 53 54 56) XBONDS=(3 50 21 20) - +M V30 CSTATE=(4 50 0 -0.17 0) CSTATE=(4 21 0.68 -0.85 0) CSTATE=(4 - +M V30 20 -1.36 -0.85 0) LABEL=E SAP=(3 55 21 Br) SAP=(3 48 20 Al) SAP=(3 - +M V30 54 31 Cx) SEQID=21 +M V30 3 DAT 3 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 0.8141 -6.2109 DA ALL 1 " +M V30 4 DAT 4 PARENT=2 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODAA NATREPLACE=AA/E +M V30 5 DAT 5 ATOMS=(9 48 49 50 55 51 52 53 54 56) - +M V30 FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA="9-fluorenylmethoxycarbonyl group" +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 49) +M V30 END COLLECTION +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 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 2 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 3 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 7.5407 -8.8161 0 0 CFG=3 +M V30 2 C 8.5633 -8.2257 0 0 CFG=1 +M V30 3 C 8.5633 -7.0446 0 0 +M V30 4 C 9.5862 -6.454 0 0 +M V30 5 C 9.5862 -5.2728 0 0 +M V30 6 O 10.6092 -4.6822 0 0 +M V30 7 O 8.5633 -4.6822 0 0 +M V30 8 H 8.5634 -7.6351 0 0 +M V30 9 C 9.5862 -8.8163 0 0 +M V30 10 O 10.7654 -8.8163 0 0 +M V30 11 O 9.5862 -9.9974 0 0 +M V30 12 H 6.4866 -8.8161 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 2 5 6 +M V30 6 1 5 7 +M V30 7 1 7 8 +M V30 8 1 2 9 +M V30 9 1 9 10 +M V30 10 2 9 11 +M V30 11 1 1 12 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 0 -1.18 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 2.08 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) CSTATE=(4 9 -2.2 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 9 4 5 6 7 11) XBONDS=(3 11 9 7) CSTATE=(4 11 - +M V30 -2.08 0 0) CSTATE=(4 9 2.2 -0 0) CSTATE=(4 7 -0 1.18 0) LABEL=E - +M V30 CLASS=AA SAP=(3 9 10 Br) SAP=(3 1 12 Al) SAP=(3 7 8 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 4 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 5 AA/Thr/T/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.4087 -9.1266 0 0 CFG=3 +M V30 2 C 13.0002 -8.6942 0 0 CFG=2 +M V30 3 O 13.6231 -9.8683 0 0 +M V30 4 C 13.6231 -9.1152 0 0 +M V30 5 C 13.0002 -7.9391 0 0 CFG=2 +M V30 6 O 13.6502 -7.5644 0 0 +M V30 7 C 12.3512 -7.5638 0 0 +M V30 8 H 13.0159 -8.1909 0 0 +M V30 9 H 12.1879 -9.1209 0 0 +M V30 10 O 13.8379 -9.1209 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 9 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 10 +M V30 5 1 5 6 CFG=1 +M V30 6 1 5 7 +M V30 7 1 6 8 +M V30 8 1 2 4 +M V30 9 1 1 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(3 7 1 4) BRKXYZ=(9 -4.38 -2.7 - +M V30 0 -4.38 1.03 0 0 0 0) CSTATE=(4 7 0 0.93 0) CSTATE=(4 1 -0.83 0 0) - +M V30 CSTATE=(4 4 0.82 0 0) LABEL=T CLASS=AA SAP=(3 6 8 Cx) SAP=(3 - +M V30 1 9 Al) SAP=(3 4 10 Br) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -1.74 0.45 0 -2.15 0.45 0 - +M V30 0 0 0) CSTATE=(4 7 0 -0.93 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 1) BRKXYZ=(9 -3.73 -1.29 0 -3.74 -1.7 0 - +M V30 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 10) XBONDS=(1 4) BRKXYZ=(9 -1.42 -1.69 0 -1.42 -1.28 - +M V30 0 0 0 0) CSTATE=(4 4 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Phe/F/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 1 +M V30 BEGIN ATOM +M V30 1 N -0.824 1.0892 0 0 CFG=3 +M V30 2 C -0.2325 1.5217 0 0 CFG=2 +M V30 3 O 0.3932 0.3475 0 0 +M V30 4 C 0.3904 1.1006 0 0 +M V30 5 C -0.2322 2.2767 0 0 +M V30 6 C 0.4167 3.4042 0 0 +M V30 7 C 0.4167 2.6542 0 0 +M V30 8 C 1.0662 2.2792 0 0 +M V30 9 C 1.7157 2.6542 0 0 +M V30 10 C 1.7157 3.4042 0 0 +M V30 11 C 1.0662 3.7792 0 0 +M V30 12 O 0.6042 1.1 0 0 +M V30 13 H -1.0458 1.0792 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 5 7 +M V30 2 1 4 12 +M V30 3 1 1 13 +M V30 4 2 6 7 +M V30 5 1 1 2 +M V30 6 1 7 8 +M V30 7 1 2 4 +M V30 8 2 8 9 +M V30 9 2 4 3 +M V30 10 1 9 10 +M V30 11 1 2 5 CFG=1 +M V30 12 2 10 11 +M V30 13 1 11 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 2 3) CSTATE=(4 2 - +M V30 0.82 0.01 0) CSTATE=(4 3 -0.83 -0.02 0) LABEL=F CLASS=AA SAP=(3 4 - +M V30 12 Br) SAP=(3 1 13 Al) +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 3) CSTATE=(4 3 0.83 0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 7 AA/Ser/S/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3872 -8.2377 0 0 CFG=3 +M V30 2 C 12.9787 -7.8052 0 0 CFG=2 +M V30 3 O 13.6017 -8.9794 0 0 +M V30 4 C 13.6017 -8.2263 0 0 +M V30 5 C 12.9787 -7.0502 0 0 +M V30 6 O 13.6287 -6.6754 0 0 +M V30 7 H 13.0227 -7.3333 0 0 +M V30 8 H 12.1665 -8.2208 0 0 +M V30 9 O 13.8165 -8.2263 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 8 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 9 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 2 4 +M V30 8 1 1 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 -3.33 -2.14 0 -3.74 -2.14 0 - +M V30 0 0 0) CSTATE=(4 6 -0.03 -0.9 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 1) BRKXYZ=(9 -5.32 -3.88 0 -5.33 -4.29 0 - +M V30 0 0 0) CSTATE=(4 1 0.83 -0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 6 1 4) BRKXYZ=(9 -5.98 -5.3 0 - +M V30 -5.98 -1.57 0 0 0 0) CSTATE=(4 6 0.03 0.9 0) CSTATE=(4 1 -0.83 - +M V30 0.01 0) CSTATE=(4 4 0.82 0.01 0) LABEL=S CLASS=AA SAP=(3 6 7 Cx) - +M V30 SAP=(3 1 8 Al) SAP=(3 4 9 Br) +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 4) BRKXYZ=(9 -3.01 -4.28 0 -3.01 -3.87 0 - +M V30 0 0 0) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 8 AA/Asp/D/ +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 1 +M V30 BEGIN ATOM +M V30 1 N -3.9532 -1.0983 0 0 CFG=3 +M V30 2 C -3.3617 -0.6658 0 0 CFG=2 +M V30 3 O -2.7387 -1.84 0 0 +M V30 4 C -2.7387 -1.0869 0 0 +M V30 5 C -3.3617 0.0892 0 0 +M V30 6 C -2.7133 0.4694 0 0 +M V30 7 O -2.0644 0.0939 0 0 +M V30 8 O -2.7133 1.22 0 0 +M V30 9 H -3.3905 -0.3084 0 0 +M V30 10 H -4.1738 -1.0926 0 0 +M V30 11 O -2.5238 -1.0926 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 1 4 11 +M V30 3 1 5 6 +M V30 4 1 2 5 CFG=1 +M V30 5 2 6 7 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 1 2 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 -2.55 1.63 0 -2.95 1.6 0 - +M V30 0 0 0) CSTATE=(4 6 0.04 -0.78 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 1) BRKXYZ=(9 -4.51 -0.88 0 -4.51 -1.29 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(3 6 1 2) BRKXYZ=(9 -5.16 - +M V30 -2.3 0 -5.16 2.19 0 0 0 0) CSTATE=(4 6 -0.04 0.78 0) CSTATE=(4 1 - +M V30 -0.83 0 0) CSTATE=(4 2 0.82 0 0) LABEL=D CLASS=AA SAP=(3 8 9 Cx) - +M V30 SAP=(3 1 10 Al) SAP=(3 4 11 Br) +M V30 4 SUP 4 ATOMS=(1 11) XBONDS=(1 2) BRKXYZ=(9 -2.2 -1.28 0 -2.2 -0.87 0 - +M V30 0 0 0) CSTATE=(4 2 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 9 AA/Val/V/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 5.7968 -18.3649 0 0 CFG=3 +M V30 2 C 6.3883 -17.9325 0 0 CFG=2 +M V30 3 O 7.0113 -19.1066 0 0 +M V30 4 C 7.0113 -18.3536 0 0 +M V30 5 C 6.3883 -17.1774 0 0 CFG=3 +M V30 6 C 7.0383 -16.8027 0 0 +M V30 7 C 5.7393 -16.8022 0 0 +M V30 8 O 7.225 -18.3536 0 0 +M V30 9 H 5.575 -18.35 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 5 CFG=1 +M V30 2 1 4 8 +M V30 3 1 1 9 +M V30 4 1 5 6 +M V30 5 1 1 2 +M V30 6 1 5 7 +M V30 7 1 2 4 +M V30 8 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 2 3) CSTATE=(4 2 0.82 0.01 - +M V30 0) CSTATE=(4 3 -0.83 0.01 0) LABEL=V CLASS=AA SAP=(3 4 8 Br) SAP=(3 - +M V30 1 9 Al) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 3) CSTATE=(4 3 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 10 AA/Tyr/Y/ +M V30 BEGIN CTAB +M V30 COUNTS 15 15 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3842 -8.2388 0 0 CFG=3 +M V30 2 C 12.9757 -7.8064 0 0 CFG=2 +M V30 3 O 13.5986 -8.9805 0 0 +M V30 4 C 13.5986 -8.2275 0 0 +M V30 5 C 12.9757 -7.0513 0 0 +M V30 6 C 13.6248 -5.9239 0 0 +M V30 7 C 13.6248 -6.6739 0 0 +M V30 8 C 14.2744 -7.0489 0 0 +M V30 9 C 14.9239 -6.6739 0 0 +M V30 10 C 14.9239 -5.9239 0 0 +M V30 11 C 14.2744 -5.5489 0 0 +M V30 12 O 15.5734 -5.5489 0 0 +M V30 13 H 12.956 -7.2697 0 0 +M V30 14 H 12.1665 -8.2197 0 0 +M V30 15 O 13.8165 -8.2275 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 12 13 +M V30 2 2 6 7 +M V30 3 1 1 14 +M V30 4 1 7 8 +M V30 5 1 1 2 +M V30 6 2 8 9 +M V30 7 1 2 4 +M V30 8 1 9 10 +M V30 9 2 4 3 +M V30 10 2 10 11 +M V30 11 1 11 6 +M V30 12 1 2 5 CFG=1 +M V30 13 1 10 12 +M V30 14 1 4 15 +M V30 15 1 5 7 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 13) XBONDS=(1 1) CSTATE=(4 1 0.04 -0.96 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 14) XBONDS=(1 3) CSTATE=(4 3 0.82 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(12 1 2 3 4 5 6 7 8 9 10 11 12) XBONDS=(3 1 3 14) - +M V30 CSTATE=(4 1 -0.04 0.96 0) CSTATE=(4 3 -0.82 0.01 0) - +M V30 CSTATE=(4 14 0.83 0.01 0) LABEL=Y CLASS=AA SAP=(3 12 13 Cx) - +M V30 SAP=(3 1 14 Al) SAP=(3 4 15 Br) +M V30 4 SUP 4 ATOMS=(1 15) XBONDS=(1 14) CSTATE=(4 14 -0.83 -0.01 0) LABEL=- +M V30 OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 11 AA/Leu/L/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 3.0177 -14.1191 0 0 CFG=3 +M V30 2 C 3.6092 -13.6867 0 0 CFG=2 +M V30 3 O 4.2321 -14.8608 0 0 +M V30 4 C 4.2321 -14.1077 0 0 +M V30 5 C 3.6092 -12.9316 0 0 +M V30 6 C 4.2592 -12.5569 0 0 CFG=3 +M V30 7 C 4.2592 -11.8069 0 0 +M V30 8 C 4.9085 -12.9321 0 0 +M V30 9 O 4.4458 -14.1077 0 0 +M V30 10 H 2.7958 -14.0917 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 +M V30 4 1 1 2 +M V30 5 1 6 7 +M V30 6 1 2 4 +M V30 7 1 6 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.02 0) LABEL=L CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 12 AA/Gln/Q/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 9.0938 -7 0 0 CFG=3 +M V30 2 C 10.1166 -6.4094 0 0 CFG=1 +M V30 3 H 7.7893 -7 0 0 +M V30 4 C 10.1166 -5.228 0 0 +M V30 5 C 11.1398 -7.0002 0 0 +M V30 6 O 12.4755 -7.0002 0 0 +M V30 7 O 11.1398 -8.1816 0 0 +M V30 8 C 11.1398 -4.6373 0 0 +M V30 9 C 11.1398 -3.4558 0 0 +M V30 10 O 12.163 -2.8651 0 0 +M V30 11 N 10.1166 -2.8651 0 0 CFG=3 +M V30 12 H 10.1166 -1.6836 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 CFG=1 +M V30 4 1 2 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 4 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 SGROUP +M V30 1 SUP 1 ATOMS=(9 1 2 4 5 7 8 9 10 11) XBONDS=(3 2 5 11) CSTATE=(4 2 - +M V30 -2.33 0 0) CSTATE=(4 5 2.36 -0 0) CSTATE=(4 11 -0 5.32 0) LABEL=- +M V30 Q CLASS=AA SAP=(3 1 3 Al) SAP=(3 5 6 Br) SAP=(3 11 12 Cx) +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 2) CSTATE=(4 2 2.33 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -2.36 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 0 -5.32 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 13 AA/Lys/K/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3874 -8.2377 0 0 CFG=3 +M V30 2 C 12.9789 -7.8052 0 0 CFG=2 +M V30 3 O 13.6018 -8.9794 0 0 +M V30 4 C 13.6018 -8.2263 0 0 +M V30 5 C 12.9789 -7.0502 0 0 +M V30 6 C 13.6289 -6.6754 0 0 +M V30 7 C 13.6289 -5.9254 0 0 +M V30 8 C 14.2789 -5.5507 0 0 +M V30 9 N 14.2789 -4.8007 0 0 CFG=3 +M V30 10 H 12.9915 -7.302 0 0 +M V30 11 H 12.1665 -8.2377 0 0 +M V30 12 O 13.8165 -8.2263 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 11 +M V30 2 1 5 6 +M V30 3 1 9 10 +M V30 4 1 6 7 +M V30 5 1 4 12 +M V30 6 1 7 8 +M V30 7 1 1 2 +M V30 8 1 8 9 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 11 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -2.09 -0.45 0 -2.5 -0.45 0 - +M V30 0 0 0) CSTATE=(4 3 0 -0.93 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 1) BRKXYZ=(9 -4.73 -4.07 0 -4.73 -4.48 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 1 5) BRKXYZ=(9 -5.38 - +M V30 -5.48 0 -5.38 0.12 0 0 0 0) CSTATE=(4 3 -0 0.93 0) CSTATE=(4 1 - +M V30 -0.83 -0.01 0) CSTATE=(4 5 0.82 0.01 0) LABEL=K CLASS=AA SAP=(3 - +M V30 9 10 Cx) SAP=(3 1 11 Al) SAP=(3 4 12 Br) +M V30 4 SUP 4 ATOMS=(1 12) XBONDS=(1 5) BRKXYZ=(9 -2.42 -4.47 0 -2.42 -4.06 - +M V30 0 0 0 0) CSTATE=(4 5 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 14 AA/Ile/I/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 11.451 -3.4691 0 0 CFG=3 +M V30 2 C 12.0425 -3.0367 0 0 CFG=2 +M V30 3 O 12.6654 -4.2108 0 0 +M V30 4 C 12.6654 -3.4577 0 0 +M V30 5 C 12.0425 -2.2816 0 0 CFG=1 +M V30 6 C 12.6925 -1.9069 0 0 +M V30 7 C 11.3935 -1.9063 0 0 +M V30 8 C 11.3935 -1.1542 0 0 +M V30 9 O 12.8792 -3.4577 0 0 +M V30 10 H 11.2292 -3.4542 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 CFG=3 +M V30 4 1 1 2 +M V30 5 1 5 7 +M V30 6 1 2 4 +M V30 7 1 7 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.01 0) LABEL=I CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 15 AA/Trp/W/ +M V30 BEGIN CTAB +M V30 COUNTS 17 18 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3875 -8.2374 0 0 CFG=3 +M V30 2 C 12.979 -7.805 0 0 CFG=2 +M V30 3 O 13.6019 -8.9791 0 0 +M V30 4 C 13.6019 -8.2261 0 0 +M V30 5 C 12.979 -7.0499 0 0 +M V30 6 C 14.3548 -6.8428 0 0 +M V30 7 C 13.6282 -6.6725 0 0 +M V30 8 N 14.7422 -6.1983 0 0 CFG=3 +M V30 9 C 13.5602 -5.9264 0 0 +M V30 10 C 14.2497 -5.6328 0 0 +M V30 11 C 14.3387 -4.8891 0 0 +M V30 12 C 13.7356 -4.4406 0 0 +M V30 13 C 13.0461 -4.7342 0 0 +M V30 14 C 12.9633 -5.4743 0 0 +M V30 15 H 13.7165 -7.4898 0 0 +M V30 16 H 12.0102 -8.2523 0 0 +M V30 17 O 13.8165 -8.2261 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 16 +M V30 2 1 8 6 +M V30 3 1 8 15 +M V30 4 1 7 9 +M V30 5 1 10 8 +M V30 6 1 1 2 +M V30 7 1 2 4 +M V30 8 2 9 10 +M V30 9 2 4 3 +M V30 10 1 10 11 +M V30 11 1 2 5 CFG=1 +M V30 12 2 11 12 +M V30 13 1 4 17 +M V30 14 1 12 13 +M V30 15 2 13 14 +M V30 16 1 14 9 +M V30 17 1 5 7 +M V30 18 2 6 7 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 15) XBONDS=(1 3) BRKXYZ=(9 -0.02 2.59 0 -0.43 2.58 0 - +M V30 0 0 0) CSTATE=(4 3 -0.72 -0.74 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 16) XBONDS=(1 1) BRKXYZ=(9 -3.11 0.37 0 -3.11 -0.04 0 - +M V30 0 0 0) CSTATE=(4 1 0.98 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(14 1 2 3 4 5 6 7 8 9 10 11 12 13 14) XBONDS=(3 3 1 13) - +M V30 BRKXYZ=(9 -3.76 -1.05 0 -3.76 4.32 0 0 0 0) CSTATE=(4 3 0.72 - +M V30 0.74 0) CSTATE=(4 1 -0.98 -0.02 0) CSTATE=(4 13 0.82 0.01 0) - +M V30 LABEL=W CLASS=AA SAP=(3 8 15 Cx) SAP=(3 1 16 Al) SAP=(3 4 17 Br) +M V30 4 SUP 4 ATOMS=(1 17) XBONDS=(1 13) BRKXYZ=(9 -0.8 -0.04 0 -0.79 0.37 0 - +M V30 0 0 0) CSTATE=(4 13 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 16 AA/Arg/R/ +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3873 -8.5503 0 0 CFG=3 +M V30 2 C 14.9284 -5.4886 0 0 +M V30 3 N 14.9284 -4.7386 0 0 CFG=3 +M V30 4 N 15.5778 -5.8639 0 0 +M V30 5 N 14.2746 -5.8884 0 0 CFG=3 +M V30 6 C 12.9788 -8.1179 0 0 CFG=2 +M V30 7 O 13.6017 -9.292 0 0 +M V30 8 C 13.6017 -8.539 0 0 +M V30 9 C 12.9788 -7.3628 0 0 +M V30 10 C 13.6288 -6.9881 0 0 +M V30 11 C 13.6288 -6.2381 0 0 +M V30 12 O 13.8165 -8.539 0 0 +M V30 13 H 12.9915 -7.6769 0 0 +M V30 14 H 12.1665 -8.5332 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 14 +M V30 2 1 1 6 +M V30 3 1 6 8 +M V30 4 2 8 7 +M V30 5 1 6 9 CFG=1 +M V30 6 1 5 2 +M V30 7 1 3 13 +M V30 8 1 2 3 +M V30 9 1 9 10 +M V30 10 1 8 12 +M V30 11 1 10 11 +M V30 12 1 11 5 +M V30 13 2 2 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(11 5 2 3 4 1 6 7 8 9 10 11) XBONDS=(3 10 7 1) BRKXYZ=(9 - +M V30 -3.92 -3.36 0 -3.92 2.61 0 0 0 0) CSTATE=(4 10 0.82 0.01 0) - +M V30 CSTATE=(4 7 -0 0.87 0) CSTATE=(4 1 -0.83 0.01 0) LABEL=R - +M V30 CLASS=AA SAP=(3 8 12 Br) SAP=(3 3 13 Cx) SAP=(3 1 14 Al) +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.95 -2.35 0 -0.95 -1.94 - +M V30 0 0 0 0) CSTATE=(4 10 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 7) BRKXYZ=(9 0.03 2.05 0 -0.38 2.05 0 - +M V30 0 0 0) CSTATE=(4 7 0 -0.87 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 14) XBONDS=(1 1) BRKXYZ=(9 -3.26 -1.95 0 -3.27 -2.35 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 -0.01 0) LABEL=H CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 6) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/api/tests/integration/tests/formats/molecules/pepchem.mol b/api/tests/integration/tests/formats/molecules/pepchem.mol new file mode 100644 index 0000000000..30d4151312 --- /dev/null +++ b/api/tests/integration/tests/formats/molecules/pepchem.mol @@ -0,0 +1,810 @@ + + ACCLDraw10172318262D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 65 64 4 0 1 +M V30 BEGIN ATOM +M V30 1 His 1.8352 -8.4677 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Ala 2.3877 -8.4677 0 0 CLASS=AA ATTCHORD=(4 1 Al 3 Br) SEQID=2 +M V30 3 Glu 2.9401 -8.4677 0 0 CLASS=AA ATTCHORD=(4 4 Br 2 Al) SEQID=3 +M V30 4 Gly 3.4925 -8.4677 0 0 CLASS=AA ATTCHORD=(4 5 Br 3 Al) SEQID=4 +M V30 5 Thr 4.0449 -8.4677 0 0 CLASS=AA ATTCHORD=(4 4 Al 6 Br) SEQID=5 +M V30 6 Phe 4.5974 -8.4677 0 0 CLASS=AA ATTCHORD=(4 7 Br 5 Al) SEQID=6 +M V30 7 Thr 5.1498 -8.4677 0 0 CLASS=AA ATTCHORD=(4 6 Al 8 Br) SEQID=7 +M V30 8 Ser 5.7023 -8.4677 0 0 CLASS=AA ATTCHORD=(4 7 Al 9 Br) SEQID=8 +M V30 9 Asp 6.2547 -8.4677 0 0 CLASS=AA ATTCHORD=(4 8 Al 10 Br) SEQID=9 +M V30 10 Val 6.8071 -8.4677 0 0 CLASS=AA ATTCHORD=(4 11 Br 9 Al) SEQID=10 +M V30 11 Ser 7.912 -8.4677 0 0 CLASS=AA ATTCHORD=(4 10 Al 12 Br) SEQID=11 +M V30 12 Ser 8.4645 -8.4677 0 0 CLASS=AA ATTCHORD=(4 11 Al 13 Br) SEQID=12 +M V30 13 Tyr 9.0169 -8.4677 0 0 CLASS=AA ATTCHORD=(4 12 Al 14 Br) SEQID=13 +M V30 14 Leu 9.5693 -8.4677 0 0 CLASS=AA ATTCHORD=(4 15 Br 13 Al) SEQID=14 +M V30 15 Glu 10.1217 -8.4677 0 0 CLASS=AA ATTCHORD=(4 16 Br 14 Al) SEQID=15 +M V30 16 Gly 10.6742 -8.4677 0 0 CLASS=AA ATTCHORD=(4 30 Br 15 Al) SEQID=16 +M V30 17 Ala 11.7791 -8.4677 0 0 CLASS=AA ATTCHORD=(4 30 Al 18 Br) SEQID=18 +M V30 18 Ala 12.3315 -8.4677 0 0 CLASS=AA ATTCHORD=(4 17 Al 31 Br) SEQID=19 +M V30 19 Glu 17.576 -8.434 0 0 CLASS=AA ATTCHORD=(4 20 Br 34 Al) SEQID=21 +M V30 20 Phe 18.1284 -8.434 0 0 CLASS=AA ATTCHORD=(4 21 Br 19 Al) SEQID=22 +M V30 21 Ile 18.6808 -8.434 0 0 CLASS=AA ATTCHORD=(4 22 Br 20 Al) SEQID=23 +M V30 22 Ala 19.2333 -8.434 0 0 CLASS=AA ATTCHORD=(4 21 Al 23 Br) SEQID=24 +M V30 23 Trp 19.7857 -8.434 0 0 CLASS=AA ATTCHORD=(4 22 Al 24 Br) SEQID=25 +M V30 24 Leu 20.3382 -8.434 0 0 CLASS=AA ATTCHORD=(4 25 Br 23 Al) SEQID=26 +M V30 25 Val 20.8906 -8.434 0 0 CLASS=AA ATTCHORD=(4 26 Br 24 Al) SEQID=27 +M V30 26 Arg 21.4431 -8.434 0 0 CLASS=AA ATTCHORD=(4 27 Br 25 Al) SEQID=28 +M V30 27 Gly 21.9954 -8.434 0 0 CLASS=AA ATTCHORD=(4 28 Br 26 Al) SEQID=29 +M V30 28 Arg 22.5479 -8.434 0 0 CLASS=AA ATTCHORD=(4 29 Br 27 Al) SEQID=30 +M V30 29 Gly 23.6528 -8.434 0 0 CLASS=AA ATTCHORD=(2 28 Al) SEQID=31 +M V30 30 Gln 11.2266 -8.4677 0 0 CLASS=AA ATTCHORD=(4 16 Al 17 Br) SEQID=17 +M V30 31 N 13.8048 -8.459 0 0 CFG=3 +M V30 32 C 14.655 -7.8375 0 0 CFG=2 +M V30 33 O 15.5502 -9.5251 0 0 +M V30 34 C 15.5502 -8.4426 0 0 +M V30 35 C -4.0243 -2.3209 0 0 +M V30 36 C -1.9768 -2.3144 0 0 +M V30 37 C 0.0712 -2.3075 0 0 +M V30 38 C 2.1193 -2.3007 0 0 +M V30 39 C 4.1672 -2.2939 0 0 +M V30 40 C 6.2153 -2.287 0 0 +M V30 41 C 8.2633 -2.2802 0 0 +M V30 42 C 10.3114 -2.2733 0 0 +M V30 43 O 11.33 -0.3443 0 0 +M V30 44 N 12.3594 -2.2665 0 0 CFG=3 +M V30 45 C 13.3779 -0.3368 0 0 +M V30 46 C 14.4074 -2.2597 0 0 +M V30 47 C 16.4555 -2.2528 0 0 +M V30 48 C 14.655 -6.7524 0 0 +M V30 49 C 15.5893 -6.2138 0 0 +M V30 50 C -3.0027 -1.6759 0 0 +M V30 51 C -0.9546 -1.6691 0 0 +M V30 52 C 1.0934 -1.6623 0 0 +M V30 53 C 3.1414 -1.6554 0 0 +M V30 54 C 5.1895 -1.6486 0 0 +M V30 55 C 7.2375 -1.6417 0 0 +M V30 56 C 9.2856 -1.6349 0 0 +M V30 57 C 11.3336 -1.6281 0 0 +M V30 58 O 12.3496 0.3001 0 0 +M V30 59 C 13.3816 -1.6212 0 0 CFG=2 +M V30 60 O 14.396 0.3104 0 0 +M V30 61 C 15.4296 -1.6144 0 0 +M V30 62 O 17.4771 -1.6079 0 0 +M V30 63 C 15.5893 -5.1358 0 0 +M V30 64 C 16.5233 -4.5973 0 0 +M V30 65 N 16.5233 -3.5195 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 3 2 +M V30 3 1 3 4 +M V30 4 1 5 4 +M V30 5 1 5 6 +M V30 6 1 7 6 +M V30 7 1 8 7 +M V30 8 1 9 8 +M V30 9 1 9 10 +M V30 10 1 11 10 +M V30 11 1 12 11 +M V30 12 1 13 12 +M V30 13 1 13 14 +M V30 14 1 15 14 +M V30 15 1 15 16 +M V30 16 1 30 16 +M V30 17 1 30 17 +M V30 18 1 18 17 +M V30 19 1 31 18 +M V30 20 1 19 34 +M V30 21 1 19 20 +M V30 22 1 21 20 +M V30 23 1 22 21 +M V30 24 1 23 22 +M V30 25 1 23 24 +M V30 26 1 25 24 +M V30 27 1 26 25 +M V30 28 1 26 27 +M V30 29 1 28 27 +M V30 30 1 28 29 +M V30 31 1 47 65 +M V30 32 2 47 62 +M V30 33 1 47 61 +M V30 34 1 61 46 +M V30 35 1 59 46 CFG=3 +M V30 36 1 59 45 +M V30 37 2 45 58 +M V30 38 1 45 60 +M V30 39 1 59 44 +M V30 40 1 44 57 +M V30 41 2 57 43 +M V30 42 1 57 42 +M V30 43 1 42 56 +M V30 44 1 56 41 +M V30 45 1 41 55 +M V30 46 1 55 40 +M V30 47 1 40 54 +M V30 48 1 54 39 +M V30 49 1 39 53 +M V30 50 1 53 38 +M V30 51 1 38 52 +M V30 52 1 52 37 +M V30 53 1 37 51 +M V30 54 1 51 36 +M V30 55 1 36 50 +M V30 56 1 50 35 +M V30 57 1 64 65 +M V30 58 1 63 64 +M V30 59 1 49 63 +M V30 60 1 48 49 +M V30 61 2 34 33 +M V30 62 1 32 34 +M V30 63 1 32 48 CFG=1 +M V30 64 1 31 32 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(9 31 32 33 34 48 49 63 64 65) XBONDS=(3 31 20 19) LABEL=- +M V30 K ESTATE=E SAP=(3 31 18 Al) SAP=(3 34 19 Br) SAP=(3 65 47 Cx) - +M V30 SEQID=20 +M V30 2 DAT 2 ATOMS=(1 1) FIELDNAME="SMMX:sequence position data" - +M V30 FIELDDISP=" 2.7079 -8.4595 DA ALL 1 " +M V30 3 DAT 3 PARENT=1 FIELDNAME=SMMX:class - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=MODAA NATREPLACE=AA/K +M V30 4 DAT 4 ATOMS=(9 31 32 33 34 48 49 63 64 65) - +M V30 FIELDNAME=SMMX:modification - +M V30 FIELDDISP=" 0.0000 0.0000 DR ALL 1 " - +M V30 FIELDDATA=Lys_mod +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 32 59) +M V30 END COLLECTION +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 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 2 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 3 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 7.5407 -8.8161 0 0 CFG=3 +M V30 2 C 8.5633 -8.2257 0 0 CFG=1 +M V30 3 C 8.5633 -7.0446 0 0 +M V30 4 C 9.5862 -6.454 0 0 +M V30 5 C 9.5862 -5.2728 0 0 +M V30 6 O 10.6092 -4.6822 0 0 +M V30 7 O 8.5633 -4.6822 0 0 +M V30 8 H 8.5634 -7.6351 0 0 +M V30 9 C 9.5862 -8.8163 0 0 +M V30 10 O 10.7654 -8.8163 0 0 +M V30 11 O 9.5862 -9.9974 0 0 +M V30 12 H 6.4866 -8.8161 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 2 5 6 +M V30 6 1 5 7 +M V30 7 1 7 8 +M V30 8 1 2 9 +M V30 9 1 9 10 +M V30 10 2 9 11 +M V30 11 1 1 12 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 0 -1.18 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 2.08 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) CSTATE=(4 9 -2.2 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 9 4 5 6 7 11) XBONDS=(3 11 9 7) CSTATE=(4 11 - +M V30 -2.08 0 0) CSTATE=(4 9 2.2 -0 0) CSTATE=(4 7 -0 1.18 0) LABEL=E - +M V30 CLASS=AA SAP=(3 9 10 Br) SAP=(3 1 12 Al) SAP=(3 7 8 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 4 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 5 AA/Thr/T/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.4087 -9.1266 0 0 CFG=3 +M V30 2 C 13.0002 -8.6942 0 0 CFG=2 +M V30 3 O 13.6231 -9.8683 0 0 +M V30 4 C 13.6231 -9.1152 0 0 +M V30 5 C 13.0002 -7.9391 0 0 CFG=2 +M V30 6 O 13.6502 -7.5644 0 0 +M V30 7 C 12.3512 -7.5638 0 0 +M V30 8 H 13.0159 -8.1909 0 0 +M V30 9 H 12.1879 -9.1209 0 0 +M V30 10 O 13.8379 -9.1209 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 9 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 10 +M V30 5 1 5 6 CFG=1 +M V30 6 1 5 7 +M V30 7 1 6 8 +M V30 8 1 2 4 +M V30 9 1 1 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(3 7 1 4) BRKXYZ=(9 -4.38 -2.7 - +M V30 0 -4.38 1.03 0 0 0 0) CSTATE=(4 7 0 0.93 0) CSTATE=(4 1 -0.83 0 0) - +M V30 CSTATE=(4 4 0.82 0 0) LABEL=T CLASS=AA SAP=(3 6 8 Cx) SAP=(3 - +M V30 1 9 Al) SAP=(3 4 10 Br) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -1.74 0.45 0 -2.15 0.45 0 - +M V30 0 0 0) CSTATE=(4 7 0 -0.93 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 1) BRKXYZ=(9 -3.73 -1.29 0 -3.74 -1.7 0 - +M V30 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 10) XBONDS=(1 4) BRKXYZ=(9 -1.42 -1.69 0 -1.42 -1.28 - +M V30 0 0 0 0) CSTATE=(4 4 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Phe/F/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 1 +M V30 BEGIN ATOM +M V30 1 N -0.824 1.0892 0 0 CFG=3 +M V30 2 C -0.2325 1.5217 0 0 CFG=2 +M V30 3 O 0.3932 0.3475 0 0 +M V30 4 C 0.3904 1.1006 0 0 +M V30 5 C -0.2322 2.2767 0 0 +M V30 6 C 0.4167 3.4042 0 0 +M V30 7 C 0.4167 2.6542 0 0 +M V30 8 C 1.0662 2.2792 0 0 +M V30 9 C 1.7157 2.6542 0 0 +M V30 10 C 1.7157 3.4042 0 0 +M V30 11 C 1.0662 3.7792 0 0 +M V30 12 O 0.6042 1.1 0 0 +M V30 13 H -1.0458 1.0792 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 5 7 +M V30 2 1 4 12 +M V30 3 1 1 13 +M V30 4 2 6 7 +M V30 5 1 1 2 +M V30 6 1 7 8 +M V30 7 1 2 4 +M V30 8 2 8 9 +M V30 9 2 4 3 +M V30 10 1 9 10 +M V30 11 1 2 5 CFG=1 +M V30 12 2 10 11 +M V30 13 1 11 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 2 3) CSTATE=(4 2 - +M V30 0.82 0.01 0) CSTATE=(4 3 -0.83 -0.02 0) LABEL=F CLASS=AA SAP=(3 4 - +M V30 12 Br) SAP=(3 1 13 Al) +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 3) CSTATE=(4 3 0.83 0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 7 AA/Ser/S/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3872 -8.2377 0 0 CFG=3 +M V30 2 C 12.9787 -7.8052 0 0 CFG=2 +M V30 3 O 13.6017 -8.9794 0 0 +M V30 4 C 13.6017 -8.2263 0 0 +M V30 5 C 12.9787 -7.0502 0 0 +M V30 6 O 13.6287 -6.6754 0 0 +M V30 7 H 13.0227 -7.3333 0 0 +M V30 8 H 12.1665 -8.2208 0 0 +M V30 9 O 13.8165 -8.2263 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 8 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 9 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 2 4 +M V30 8 1 1 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 -3.33 -2.14 0 -3.74 -2.14 0 - +M V30 0 0 0) CSTATE=(4 6 -0.03 -0.9 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 1) BRKXYZ=(9 -5.32 -3.88 0 -5.33 -4.29 0 - +M V30 0 0 0) CSTATE=(4 1 0.83 -0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 6 1 4) BRKXYZ=(9 -5.98 -5.3 0 - +M V30 -5.98 -1.57 0 0 0 0) CSTATE=(4 6 0.03 0.9 0) CSTATE=(4 1 -0.83 - +M V30 0.01 0) CSTATE=(4 4 0.82 0.01 0) LABEL=S CLASS=AA SAP=(3 6 7 Cx) - +M V30 SAP=(3 1 8 Al) SAP=(3 4 9 Br) +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 4) BRKXYZ=(9 -3.01 -4.28 0 -3.01 -3.87 0 - +M V30 0 0 0) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 8 AA/Asp/D/ +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 1 +M V30 BEGIN ATOM +M V30 1 N -3.9532 -1.0983 0 0 CFG=3 +M V30 2 C -3.3617 -0.6658 0 0 CFG=2 +M V30 3 O -2.7387 -1.84 0 0 +M V30 4 C -2.7387 -1.0869 0 0 +M V30 5 C -3.3617 0.0892 0 0 +M V30 6 C -2.7133 0.4694 0 0 +M V30 7 O -2.0644 0.0939 0 0 +M V30 8 O -2.7133 1.22 0 0 +M V30 9 H -3.3905 -0.3084 0 0 +M V30 10 H -4.1738 -1.0926 0 0 +M V30 11 O -2.5238 -1.0926 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 1 4 11 +M V30 3 1 5 6 +M V30 4 1 2 5 CFG=1 +M V30 5 2 6 7 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 1 2 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 -2.55 1.63 0 -2.95 1.6 0 - +M V30 0 0 0) CSTATE=(4 6 0.04 -0.78 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 1) BRKXYZ=(9 -4.51 -0.88 0 -4.51 -1.29 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(3 6 1 2) BRKXYZ=(9 -5.16 - +M V30 -2.3 0 -5.16 2.19 0 0 0 0) CSTATE=(4 6 -0.04 0.78 0) CSTATE=(4 1 - +M V30 -0.83 0 0) CSTATE=(4 2 0.82 0 0) LABEL=D CLASS=AA SAP=(3 8 9 Cx) - +M V30 SAP=(3 1 10 Al) SAP=(3 4 11 Br) +M V30 4 SUP 4 ATOMS=(1 11) XBONDS=(1 2) BRKXYZ=(9 -2.2 -1.28 0 -2.2 -0.87 0 - +M V30 0 0 0) CSTATE=(4 2 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 9 AA/Val/V/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 5.7968 -18.3649 0 0 CFG=3 +M V30 2 C 6.3883 -17.9325 0 0 CFG=2 +M V30 3 O 7.0113 -19.1066 0 0 +M V30 4 C 7.0113 -18.3536 0 0 +M V30 5 C 6.3883 -17.1774 0 0 CFG=3 +M V30 6 C 7.0383 -16.8027 0 0 +M V30 7 C 5.7393 -16.8022 0 0 +M V30 8 O 7.225 -18.3536 0 0 +M V30 9 H 5.575 -18.35 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 5 CFG=1 +M V30 2 1 4 8 +M V30 3 1 1 9 +M V30 4 1 5 6 +M V30 5 1 1 2 +M V30 6 1 5 7 +M V30 7 1 2 4 +M V30 8 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 2 3) CSTATE=(4 2 0.82 0.01 - +M V30 0) CSTATE=(4 3 -0.83 0.01 0) LABEL=V CLASS=AA SAP=(3 4 8 Br) SAP=(3 - +M V30 1 9 Al) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 3) CSTATE=(4 3 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 10 AA/Tyr/Y/ +M V30 BEGIN CTAB +M V30 COUNTS 15 15 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3842 -8.2388 0 0 CFG=3 +M V30 2 C 12.9757 -7.8064 0 0 CFG=2 +M V30 3 O 13.5986 -8.9805 0 0 +M V30 4 C 13.5986 -8.2275 0 0 +M V30 5 C 12.9757 -7.0513 0 0 +M V30 6 C 13.6248 -5.9239 0 0 +M V30 7 C 13.6248 -6.6739 0 0 +M V30 8 C 14.2744 -7.0489 0 0 +M V30 9 C 14.9239 -6.6739 0 0 +M V30 10 C 14.9239 -5.9239 0 0 +M V30 11 C 14.2744 -5.5489 0 0 +M V30 12 O 15.5734 -5.5489 0 0 +M V30 13 H 12.956 -7.2697 0 0 +M V30 14 H 12.1665 -8.2197 0 0 +M V30 15 O 13.8165 -8.2275 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 12 13 +M V30 2 2 6 7 +M V30 3 1 1 14 +M V30 4 1 7 8 +M V30 5 1 1 2 +M V30 6 2 8 9 +M V30 7 1 2 4 +M V30 8 1 9 10 +M V30 9 2 4 3 +M V30 10 2 10 11 +M V30 11 1 11 6 +M V30 12 1 2 5 CFG=1 +M V30 13 1 10 12 +M V30 14 1 4 15 +M V30 15 1 5 7 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 13) XBONDS=(1 1) CSTATE=(4 1 0.04 -0.96 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 14) XBONDS=(1 3) CSTATE=(4 3 0.82 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(12 1 2 3 4 5 6 7 8 9 10 11 12) XBONDS=(3 1 3 14) - +M V30 CSTATE=(4 1 -0.04 0.96 0) CSTATE=(4 3 -0.82 0.01 0) - +M V30 CSTATE=(4 14 0.83 0.01 0) LABEL=Y CLASS=AA SAP=(3 12 13 Cx) - +M V30 SAP=(3 1 14 Al) SAP=(3 4 15 Br) +M V30 4 SUP 4 ATOMS=(1 15) XBONDS=(1 14) CSTATE=(4 14 -0.83 -0.01 0) LABEL=- +M V30 OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 11 AA/Leu/L/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 3.0177 -14.1191 0 0 CFG=3 +M V30 2 C 3.6092 -13.6867 0 0 CFG=2 +M V30 3 O 4.2321 -14.8608 0 0 +M V30 4 C 4.2321 -14.1077 0 0 +M V30 5 C 3.6092 -12.9316 0 0 +M V30 6 C 4.2592 -12.5569 0 0 CFG=3 +M V30 7 C 4.2592 -11.8069 0 0 +M V30 8 C 4.9085 -12.9321 0 0 +M V30 9 O 4.4458 -14.1077 0 0 +M V30 10 H 2.7958 -14.0917 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 +M V30 4 1 1 2 +M V30 5 1 6 7 +M V30 6 1 2 4 +M V30 7 1 6 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.02 0) LABEL=L CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 12 AA/Ile/I/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 11.451 -3.4691 0 0 CFG=3 +M V30 2 C 12.0425 -3.0367 0 0 CFG=2 +M V30 3 O 12.6654 -4.2108 0 0 +M V30 4 C 12.6654 -3.4577 0 0 +M V30 5 C 12.0425 -2.2816 0 0 CFG=1 +M V30 6 C 12.6925 -1.9069 0 0 +M V30 7 C 11.3935 -1.9063 0 0 +M V30 8 C 11.3935 -1.1542 0 0 +M V30 9 O 12.8792 -3.4577 0 0 +M V30 10 H 11.2292 -3.4542 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 CFG=3 +M V30 4 1 1 2 +M V30 5 1 5 7 +M V30 6 1 2 4 +M V30 7 1 7 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.01 0) LABEL=I CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 13 AA/Trp/W/ +M V30 BEGIN CTAB +M V30 COUNTS 17 18 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3875 -8.2374 0 0 CFG=3 +M V30 2 C 12.979 -7.805 0 0 CFG=2 +M V30 3 O 13.6019 -8.9791 0 0 +M V30 4 C 13.6019 -8.2261 0 0 +M V30 5 C 12.979 -7.0499 0 0 +M V30 6 C 14.3548 -6.8428 0 0 +M V30 7 C 13.6282 -6.6725 0 0 +M V30 8 N 14.7422 -6.1983 0 0 CFG=3 +M V30 9 C 13.5602 -5.9264 0 0 +M V30 10 C 14.2497 -5.6328 0 0 +M V30 11 C 14.3387 -4.8891 0 0 +M V30 12 C 13.7356 -4.4406 0 0 +M V30 13 C 13.0461 -4.7342 0 0 +M V30 14 C 12.9633 -5.4743 0 0 +M V30 15 H 13.7165 -7.4898 0 0 +M V30 16 H 12.0102 -8.2523 0 0 +M V30 17 O 13.8165 -8.2261 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 16 +M V30 2 1 8 6 +M V30 3 1 8 15 +M V30 4 1 7 9 +M V30 5 1 10 8 +M V30 6 1 1 2 +M V30 7 1 2 4 +M V30 8 2 9 10 +M V30 9 2 4 3 +M V30 10 1 10 11 +M V30 11 1 2 5 CFG=1 +M V30 12 2 11 12 +M V30 13 1 4 17 +M V30 14 1 12 13 +M V30 15 2 13 14 +M V30 16 1 14 9 +M V30 17 1 5 7 +M V30 18 2 6 7 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 15) XBONDS=(1 3) BRKXYZ=(9 -0.02 2.59 0 -0.43 2.58 0 - +M V30 0 0 0) CSTATE=(4 3 -0.72 -0.74 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 16) XBONDS=(1 1) BRKXYZ=(9 -3.11 0.37 0 -3.11 -0.04 0 - +M V30 0 0 0) CSTATE=(4 1 0.98 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(14 1 2 3 4 5 6 7 8 9 10 11 12 13 14) XBONDS=(3 3 1 13) - +M V30 BRKXYZ=(9 -3.76 -1.05 0 -3.76 4.32 0 0 0 0) CSTATE=(4 3 0.72 - +M V30 0.74 0) CSTATE=(4 1 -0.98 -0.02 0) CSTATE=(4 13 0.82 0.01 0) - +M V30 LABEL=W CLASS=AA SAP=(3 8 15 Cx) SAP=(3 1 16 Al) SAP=(3 4 17 Br) +M V30 4 SUP 4 ATOMS=(1 17) XBONDS=(1 13) BRKXYZ=(9 -0.8 -0.04 0 -0.79 0.37 0 - +M V30 0 0 0) CSTATE=(4 13 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 14 AA/Arg/R/ +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3873 -8.5503 0 0 CFG=3 +M V30 2 C 14.9284 -5.4886 0 0 +M V30 3 N 14.9284 -4.7386 0 0 CFG=3 +M V30 4 N 15.5778 -5.8639 0 0 +M V30 5 N 14.2746 -5.8884 0 0 CFG=3 +M V30 6 C 12.9788 -8.1179 0 0 CFG=2 +M V30 7 O 13.6017 -9.292 0 0 +M V30 8 C 13.6017 -8.539 0 0 +M V30 9 C 12.9788 -7.3628 0 0 +M V30 10 C 13.6288 -6.9881 0 0 +M V30 11 C 13.6288 -6.2381 0 0 +M V30 12 O 13.8165 -8.539 0 0 +M V30 13 H 12.9915 -7.6769 0 0 +M V30 14 H 12.1665 -8.5332 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 14 +M V30 2 1 1 6 +M V30 3 1 6 8 +M V30 4 2 8 7 +M V30 5 1 6 9 CFG=1 +M V30 6 1 5 2 +M V30 7 1 3 13 +M V30 8 1 2 3 +M V30 9 1 9 10 +M V30 10 1 8 12 +M V30 11 1 10 11 +M V30 12 1 11 5 +M V30 13 2 2 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(11 5 2 3 4 1 6 7 8 9 10 11) XBONDS=(3 10 7 1) BRKXYZ=(9 - +M V30 -3.92 -3.36 0 -3.92 2.61 0 0 0 0) CSTATE=(4 10 0.82 0.01 0) - +M V30 CSTATE=(4 7 -0 0.87 0) CSTATE=(4 1 -0.83 0.01 0) LABEL=R - +M V30 CLASS=AA SAP=(3 8 12 Br) SAP=(3 3 13 Cx) SAP=(3 1 14 Al) +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.95 -2.35 0 -0.95 -1.94 - +M V30 0 0 0 0) CSTATE=(4 10 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 7) BRKXYZ=(9 0.03 2.05 0 -0.38 2.05 0 - +M V30 0 0 0) CSTATE=(4 7 0 -0.87 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 14) XBONDS=(1 1) BRKXYZ=(9 -3.26 -1.95 0 -3.27 -2.35 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 -0.01 0) LABEL=H CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 6) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 15 AA/Gln/Q/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 9.0938 -7 0 0 CFG=3 +M V30 2 C 10.1166 -6.4094 0 0 CFG=1 +M V30 3 H 7.7893 -7 0 0 +M V30 4 C 10.1166 -5.228 0 0 +M V30 5 C 11.1398 -7.0002 0 0 +M V30 6 O 12.4755 -7.0002 0 0 +M V30 7 O 11.1398 -8.1816 0 0 +M V30 8 C 11.1398 -4.6373 0 0 +M V30 9 C 11.1398 -3.4558 0 0 +M V30 10 O 12.163 -2.8651 0 0 +M V30 11 N 10.1166 -2.8651 0 0 CFG=3 +M V30 12 H 10.1166 -1.6836 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 CFG=1 +M V30 4 1 2 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 4 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 SGROUP +M V30 1 SUP 1 ATOMS=(9 1 2 4 5 7 8 9 10 11) XBONDS=(3 2 5 11) CSTATE=(4 2 - +M V30 -2.33 0 0) CSTATE=(4 5 2.36 -0 0) CSTATE=(4 11 -0 5.32 0) LABEL=- +M V30 Q CLASS=AA SAP=(3 1 3 Al) SAP=(3 5 6 Br) SAP=(3 11 12 Cx) +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 2) CSTATE=(4 2 2.33 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -2.36 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 0 -5.32 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END diff --git a/api/tests/integration/tests/formats/ref/chem.ket b/api/tests/integration/tests/formats/ref/chem.ket index d49be98620..bccf27c47b 100644 --- a/api/tests/integration/tests/formats/ref/chem.ket +++ b/api/tests/integration/tests/formats/ref/chem.ket @@ -18,32 +18,17 @@ { "type": "right", "label": "R2", - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 1 - ] - } + "attachmentAtom": 8 }, { "type": "side", "label": "R3", - "attachmentAtom": 6, - "leavingGroup": { - "atoms": [ - 2 - ] - } + "attachmentAtom": 6 }, { "type": "side", "label": "R5", - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 0 - ] - } + "attachmentAtom": 3 } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/conjugate.ket b/api/tests/integration/tests/formats/ref/conjugate.ket index c623ef2bcc..d6ce54526c 100644 --- a/api/tests/integration/tests/formats/ref/conjugate.ket +++ b/api/tests/integration/tests/formats/ref/conjugate.ket @@ -136,220 +136,220 @@ "connectionType": "single", "endpoint1": { "monomerId": "monomer1", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer0", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer2", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer1", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer3", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer2", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer4", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer3", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer5", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer4", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer6", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer5", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer7", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer6", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer8", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer7", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer9", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer8", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer10", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer9", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer11", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer10", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer12", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer11", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer13", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer12", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer14", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer13", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer15", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer14", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer16", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer15", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer17", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer16", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer18", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer17", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer19", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer18", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer20", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer19", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { @@ -359,25 +359,36 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer20", + "monomerId": "monomer39", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer42", "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer38", + "attachmentPointId": "R3" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer41", + "monomerId": "monomer21", "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer21", + "monomerId": "monomer38", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer41", + "monomerId": "monomer23", "attachmentPointId": "R1" }, "endpoint2": { @@ -388,12 +399,12 @@ { "connectionType": "single", "endpoint1": { - "monomerId": "monomer23", - "attachmentPointId": "R2" + "monomerId": "monomer24", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer22", - "attachmentPointId": "R1" + "monomerId": "monomer23", + "attachmentPointId": "R2" } }, { @@ -403,14 +414,14 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer23", + "monomerId": "monomer25", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer24", + "monomerId": "monomer26", "attachmentPointId": "R1" }, "endpoint2": { @@ -421,12 +432,12 @@ { "connectionType": "single", "endpoint1": { - "monomerId": "monomer26", - "attachmentPointId": "R2" + "monomerId": "monomer27", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer25", - "attachmentPointId": "R1" + "monomerId": "monomer26", + "attachmentPointId": "R2" } }, { @@ -436,14 +447,14 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer26", + "monomerId": "monomer28", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer27", + "monomerId": "monomer41", "attachmentPointId": "R1" }, "endpoint2": { @@ -454,12 +465,12 @@ { "connectionType": "single", "endpoint1": { - "monomerId": "monomer39", - "attachmentPointId": "R2" + "monomerId": "monomer29", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer28", - "attachmentPointId": "R1" + "monomerId": "monomer41", + "attachmentPointId": "R2" } }, { @@ -469,14 +480,14 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer39", + "monomerId": "monomer30", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer29", + "monomerId": "monomer31", "attachmentPointId": "R1" }, "endpoint2": { @@ -487,12 +498,12 @@ { "connectionType": "single", "endpoint1": { - "monomerId": "monomer31", - "attachmentPointId": "R2" + "monomerId": "monomer32", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer30", - "attachmentPointId": "R1" + "monomerId": "monomer31", + "attachmentPointId": "R2" } }, { @@ -502,14 +513,14 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer31", + "monomerId": "monomer33", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer32", + "monomerId": "monomer40", "attachmentPointId": "R1" }, "endpoint2": { @@ -520,12 +531,12 @@ { "connectionType": "single", "endpoint1": { - "monomerId": "monomer38", - "attachmentPointId": "R2" + "monomerId": "monomer34", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer33", - "attachmentPointId": "R1" + "monomerId": "monomer40", + "attachmentPointId": "R2" } }, { @@ -535,14 +546,14 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer38", + "monomerId": "monomer35", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer34", + "monomerId": "monomer36", "attachmentPointId": "R1" }, "endpoint2": { @@ -550,48 +561,37 @@ "attachmentPointId": "R2" } }, - { - "connectionType": "single", - "endpoint1": { - "monomerId": "monomer36", - "attachmentPointId": "R2" - }, - "endpoint2": { - "monomerId": "monomer35", - "attachmentPointId": "R1" - } - }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer37", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer36", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer40", - "attachmentPointId": "R3" + "monomerId": "monomer22", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer41", - "attachmentPointId": "R1" + "monomerId": "monomer38", + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer40", + "monomerId": "monomer20", "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer42", - "attachmentPointId": "R2" + "monomerId": "monomer39", + "attachmentPointId": "R1" } } ], @@ -639,13 +639,13 @@ "$ref": "monomerTemplate-Cys_13" }, { - "$ref": "monomerTemplate-SMCC_14" + "$ref": "monomerTemplate-SMCC_13" }, { - "$ref": "monomerTemplate-E_15" + "$ref": "monomerTemplate-Glu_14" }, { - "$ref": "monomerTemplate-C_16" + "$ref": "monomerTemplate-Cyt_15" } ] }, @@ -1070,54 +1070,54 @@ "monomer38": { "type": "monomer", "id": "38", - "seqid": 16, "position": { - "x": 20.172399520874025, - "y": -16.66659927368164 + "x": 14.745832443237305, + "y": -14.96572208404541 }, - "alias": "Cys", - "templateId": "Cys_13" + "alias": "E", + "templateId": "Glu_14" }, "monomer39": { "type": "monomer", "id": "39", - "seqid": 10, "position": { - "x": 17.884300231933595, - "y": -16.66659927368164 + "x": 11.954094886779786, + "y": -10.458263397216797 }, - "alias": "Cys", - "templateId": "Cys_13" + "alias": "C", + "templateId": "Cyt_2" }, "monomer40": { "type": "monomer", - "id": "0", + "id": "40", + "seqid": 16, "position": { - "x": 14.188499450683594, - "y": -2.310850143432617 + "x": 20.172399520874025, + "y": -16.66659927368164 }, - "alias": "SMCC", - "templateId": "SMCC_14" + "alias": "Cys", + "templateId": "Cys_13" }, "monomer41": { "type": "monomer", - "id": "1", + "id": "41", + "seqid": 10, "position": { - "x": 14.745832443237305, - "y": -14.96572208404541 + "x": 17.884300231933595, + "y": -16.66659927368164 }, - "alias": "E", - "templateId": "E_15" + "alias": "Cys", + "templateId": "Cys_13" }, "monomer42": { "type": "monomer", - "id": "2", + "id": "42", "position": { - "x": 11.954094886779786, - "y": -10.458263397216797 + "x": 14.188499450683594, + "y": -2.310850143432617 }, - "alias": "C", - "templateId": "C_16" + "alias": "SMCC", + "templateId": "SMCC_13" }, "monomerTemplate-Thy_0": { "type": "monomerTemplate", @@ -1127,20 +1127,10 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 20 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 21 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -1499,20 +1489,10 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 22 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 23 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -1908,20 +1888,10 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 19 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 20 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -2265,20 +2235,10 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 21 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 22 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -2659,28 +2619,13 @@ "alias": "D", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 9 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 10 - ] - } + "attachmentAtom": 3 }, { - "attachmentAtom": 7, - "leavingGroup": { - "atoms": [ - 8 - ] - } + "attachmentAtom": 7 } ], "atoms": [ @@ -2856,20 +2801,10 @@ "alias": "F", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 12 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 11 - ] - } + "attachmentAtom": 3 } ], "atoms": [ @@ -3082,20 +3017,10 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 5 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 4 - ] - } + "attachmentAtom": 3 } ], "atoms": [ @@ -3194,28 +3119,13 @@ "alias": "H", "attachmentPoints": [ { - "attachmentAtom": 5, - "leavingGroup": { - "atoms": [ - 1 - ] - } + "attachmentAtom": 5 }, { - "attachmentAtom": 4, - "leavingGroup": { - "atoms": [ - 2 - ] - } + "attachmentAtom": 4 }, { - "attachmentAtom": 12, - "leavingGroup": { - "atoms": [ - 10 - ] - } + "attachmentAtom": 12 } ], "atoms": [ @@ -3428,20 +3338,10 @@ "alias": "I", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 9 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 8 - ] - } + "attachmentAtom": 3 } ], "atoms": [ @@ -3604,28 +3504,13 @@ "alias": "K", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 10 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 11 - ] - } + "attachmentAtom": 3 }, { - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 9 - ] - } + "attachmentAtom": 8 } ], "atoms": [ @@ -3816,28 +3701,13 @@ "alias": "U", "attachmentPoints": [ { - "attachmentAtom": 5, - "leavingGroup": { - "atoms": [ - 7 - ] - } + "attachmentAtom": 5 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 8 - ] - } + "attachmentAtom": 3 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 6 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -3983,20 +3853,10 @@ "alias": "V", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 8 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 7 - ] - } + "attachmentAtom": 3 } ], "atoms": [ @@ -4142,28 +4002,13 @@ "alias": "E", "attachmentPoints": [ { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 11 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 9 - ] - } + "attachmentAtom": 8 }, { - "attachmentAtom": 6, - "leavingGroup": { - "atoms": [ - 7 - ] - } + "attachmentAtom": 6 } ], "atoms": [ @@ -4354,28 +4199,13 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 1 - ] - } + "attachmentAtom": 8 }, { - "attachmentAtom": 6, - "leavingGroup": { - "atoms": [ - 2 - ] - } + "attachmentAtom": 6 }, { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 0 - ] - } + "attachmentAtom": 3 } ], "atoms": [ @@ -4513,27 +4343,18 @@ } ] }, - "monomerTemplate-SMCC_14": { + "monomerTemplate-SMCC_13": { "type": "monomerTemplate", + "id": "SMCC_13", "class": "Linker", "classHELM": "CHEM", - "alias": "SMCC", + "alias": "SMCC_13", "attachmentPoints": [ { - "attachmentAtom": 53, - "leavingGroup": { - "atoms": [ - 60 - ] - } + "attachmentAtom": 2 }, { - "attachmentAtom": 51, - "leavingGroup": { - "atoms": [ - 63 - ] - } + "attachmentAtom": 14 } ], "atoms": [ @@ -4788,35 +4609,21 @@ } ] }, - "monomerTemplate-E_15": { + "monomerTemplate-Glu_14": { "type": "monomerTemplate", - "class": "Chem", - "classHELM": "CHEM", + "id": "Glu_14", + "class": "XLINKAA", + "classHELM": "PEPTIDE", "alias": "E", "attachmentPoints": [ { - "attachmentAtom": 54, - "leavingGroup": { - "atoms": [ - 21 - ] - } + "attachmentAtom": 0 }, { - "attachmentAtom": 61, - "leavingGroup": { - "atoms": [ - 22 - ] - } + "attachmentAtom": 3 }, { - "attachmentAtom": 60, - "leavingGroup": { - "atoms": [ - 53 - ] - } + "attachmentAtom": 7 } ], "atoms": [ @@ -4954,27 +4761,18 @@ } ] }, - "monomerTemplate-C_16": { + "monomerTemplate-Cyt_15": { "type": "monomerTemplate", - "class": "DNA", + "id": "Cyt_15", + "class": "XLINKDNA", "classHELM": "RNA", "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 72, - "leavingGroup": { - "atoms": [ - 20 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 63, - "leavingGroup": { - "atoms": [ - 51 - ] - } + "attachmentAtom": 1 } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/cysteine.ket b/api/tests/integration/tests/formats/ref/cysteine.ket index a102a5a252..dfc6e85727 100644 --- a/api/tests/integration/tests/formats/ref/cysteine.ket +++ b/api/tests/integration/tests/formats/ref/cysteine.ket @@ -16,28 +16,13 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 1 - ] - } - }, - { - "attachmentAtom": 6, - "leavingGroup": { - "atoms": [ - 2 - ] - } - }, - { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 0 - ] - } + "attachmentAtom": 8 + }, + { + "attachmentAtom": 6 + }, + { + "attachmentAtom": 3 } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/dcysteine.ket b/api/tests/integration/tests/formats/ref/dcysteine.ket index 14a178e0b9..0f5423148b 100644 --- a/api/tests/integration/tests/formats/ref/dcysteine.ket +++ b/api/tests/integration/tests/formats/ref/dcysteine.ket @@ -18,28 +18,13 @@ "naturalAnalogShort": "C", "attachmentPoints": [ { - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 1 - ] - } - }, - { - "attachmentAtom": 6, - "leavingGroup": { - "atoms": [ - 2 - ] - } - }, - { - "attachmentAtom": 3, - "leavingGroup": { - "atoms": [ - 0 - ] - } + "attachmentAtom": 8 + }, + { + "attachmentAtom": 6 + }, + { + "attachmentAtom": 3 } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/dna_mod.ket b/api/tests/integration/tests/formats/ref/dna_mod.ket new file mode 100644 index 0000000000..50c9be9c8c --- /dev/null +++ b/api/tests/integration/tests/formats/ref/dna_mod.ket @@ -0,0 +1,4176 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer0" + }, + { + "$ref": "monomer1" + }, + { + "$ref": "monomer2" + }, + { + "$ref": "monomer3" + }, + { + "$ref": "monomer4" + }, + { + "$ref": "monomer5" + }, + { + "$ref": "monomer6" + }, + { + "$ref": "monomer7" + }, + { + "$ref": "monomer8" + }, + { + "$ref": "monomer9" + }, + { + "$ref": "monomer10" + }, + { + "$ref": "monomer11" + }, + { + "$ref": "monomer12" + }, + { + "$ref": "monomer13" + }, + { + "$ref": "monomer14" + }, + { + "$ref": "monomer15" + }, + { + "$ref": "monomer16" + }, + { + "$ref": "monomer17" + }, + { + "$ref": "monomer18" + }, + { + "$ref": "monomer19" + }, + { + "$ref": "monomer20" + }, + { + "$ref": "monomer21" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer0", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer3", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer5", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer18", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer20", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer7", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer9", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer17", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer10", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer11", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer11", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer13", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer12", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer15", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer14", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer16", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer17", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer18", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer13", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer7", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer20", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer16", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer21", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-Thy_0" + }, + { + "$ref": "monomerTemplate-Gua_1" + }, + { + "$ref": "monomerTemplate-Cyt_2" + }, + { + "$ref": "monomerTemplate-Ade_3" + }, + { + "$ref": "monomerTemplate-Cyt_3" + }, + { + "$ref": "monomerTemplate-Cyt_4" + }, + { + "$ref": "monomerTemplate-Ade_5" + }, + { + "$ref": "monomerTemplate-cdaC_6" + }, + { + "$ref": "monomerTemplate-Thy_7" + } + ] + }, + "monomer0": { + "type": "monomer", + "id": "0", + "seqid": 1, + "position": { + "x": 2.1939001083374025, + "y": -11.979000091552735 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer1": { + "type": "monomer", + "id": "1", + "seqid": 2, + "position": { + "x": 2.467900037765503, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer2": { + "type": "monomer", + "id": "2", + "seqid": 3, + "position": { + "x": 2.742000102996826, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer3": { + "type": "monomer", + "id": "3", + "seqid": 4, + "position": { + "x": 3.0160000324249269, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer4": { + "type": "monomer", + "id": "4", + "seqid": 5, + "position": { + "x": 3.2899999618530275, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer5": { + "type": "monomer", + "id": "5", + "seqid": 7, + "position": { + "x": 3.8380000591278078, + "y": -11.979000091552735 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer6": { + "type": "monomer", + "id": "6", + "seqid": 8, + "position": { + "x": 4.111999988555908, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer7": { + "type": "monomer", + "id": "7", + "seqid": 10, + "position": { + "x": 4.660099983215332, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer8": { + "type": "monomer", + "id": "8", + "seqid": 11, + "position": { + "x": 5.208099842071533, + "y": -11.979000091552735 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer9": { + "type": "monomer", + "id": "9", + "seqid": 13, + "position": { + "x": 5.756100177764893, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer10": { + "type": "monomer", + "id": "10", + "seqid": 14, + "position": { + "x": 6.030200004577637, + "y": -11.979000091552735 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer11": { + "type": "monomer", + "id": "11", + "seqid": 15, + "position": { + "x": 6.304200172424316, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer12": { + "type": "monomer", + "id": "12", + "seqid": 16, + "position": { + "x": 6.578199863433838, + "y": -11.979000091552735 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer13": { + "type": "monomer", + "id": "13", + "seqid": 17, + "position": { + "x": 6.852200031280518, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer14": { + "type": "monomer", + "id": "14", + "seqid": 19, + "position": { + "x": 7.400199890136719, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer15": { + "type": "monomer", + "id": "15", + "seqid": 20, + "position": { + "x": 7.674200057983398, + "y": -11.979000091552735 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer16": { + "type": "monomer", + "id": "16", + "seqid": 21, + "position": { + "x": 8.222299575805664, + "y": -11.979000091552735 + }, + "alias": "G", + "templateId": "Gua_1" + }, + "monomer17": { + "type": "monomer", + "id": "17", + "position": { + "x": 6.110340595245361, + "y": -11.633955001831055 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomer18": { + "type": "monomer", + "id": "18", + "position": { + "x": 4.874997615814209, + "y": -12.258405685424805 + }, + "alias": "A", + "templateId": "Ade_3" + }, + "monomer19": { + "type": "monomer", + "id": "19", + "position": { + "x": 7.88062047958374, + "y": -11.337328910827637 + }, + "alias": "cdaC", + "templateId": "cdaC_6" + }, + "monomer20": { + "type": "monomer", + "id": "20", + "position": { + "x": 4.927271366119385, + "y": -11.445504188537598 + }, + "alias": "T", + "templateId": "Thy_0" + }, + "monomer21": { + "type": "monomer", + "id": "21", + "position": { + "x": 11.954094886779786, + "y": -10.458263397216797 + }, + "alias": "C", + "templateId": "Cyt_2" + }, + "monomerTemplate-Thy_0": { + "type": "monomerTemplate", + "id": "Thy_0", + "class": "DNA", + "classHELM": "RNA", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 9 + }, + { + "attachmentAtom": 0 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 13.210200309753418, + -15.37720012664795, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.565500259399414, + -12.637800216674805, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.616000175476075, + -13.013799667358399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.294500350952149, + -13.512299537658692, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 14.042400360107422, + -14.283599853515625, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.210200309753418, + -14.283599853515625, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.947199821472168, + -13.501299858093262, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.16569995880127, + -13.255499839782715, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.916500091552735, + -12.463500022888184, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 10.941300392150879, + -12.113499641418457, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.941300392150879, + -11.28849983215332, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.941300392150879, + -12.93850040435791, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.402700424194336, + -12.37279987335205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.824299812316895, + -11.970499992370606, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.675100326538086, + -11.494000434875489, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 16.06060028076172, + -13.013500213623047, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.096699714660645, + -11.09179973602295, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.973299980163575, + -10.844300270080567, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.244199752807618, + -9.970199584960938, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.437600135803223, + -10.448399543762207, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.800800323486329, + -13.745400428771973, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.378700256347657, + -13.745400428771973, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + } + ] + }, + "monomerTemplate-Gua_1": { + "type": "monomerTemplate", + "id": "Gua_1", + "class": "DNA", + "classHELM": "RNA", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 9 + }, + { + "attachmentAtom": 0 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.561800003051758, + -15.110600471496582, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.965999603271485, + -12.397000312805176, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.967599868774414, + -12.722299575805664, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.645999908447266, + -13.220800399780274, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.393899917602539, + -13.991999626159668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.561800003051758, + -13.991999626159668, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.298700332641602, + -13.209699630737305, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.517200469970704, + -12.96399974822998, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.268099784851075, + -12.146900177001954, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 9.267800331115723, + -11.84689998626709, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.267800331115723, + -11.021900177001954, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.267800331115723, + -12.671899795532227, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.043700218200684, + -10.970000267028809, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.484999656677246, + -11.654600143432618, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.867500305175782, + -11.289999961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.812999725341797, + -12.171600341796875, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.54520034790039, + -12.656900405883789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.336400032043457, + -12.265800476074219, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.390899658203125, + -11.384200096130371, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.654199600219727, + -10.893699645996094, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 14.70740032196045, + -10.01449966430664, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 16.071399688720704, + -12.754500389099121, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.114800453186036, + -13.478699684143067, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.667699813842774, + -13.478699684143067, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 14, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 21 + ] + } + ] + }, + "monomerTemplate-Cyt_2": { + "type": "monomerTemplate", + "id": "Cyt_2", + "class": "DNA", + "classHELM": "RNA", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 9 + }, + { + "attachmentAtom": 0 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 13.285200119018555, + -15.389699935913086, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.590900421142579, + -12.615799903869629, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.690999984741211, + -13.001299858093262, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.369500160217286, + -13.499799728393555, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 14.117400169372559, + -14.271100044250489, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.285200119018555, + -14.271100044250489, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 13.022199630737305, + -13.488800048828125, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.240699768066407, + -13.243000030517579, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.991499900817871, + -12.451000213623047, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 10.966300010681153, + -12.050999641418457, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.966300010681153, + -11.22599983215332, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.966300010681153, + -12.87600040435791, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.40060043334961, + -12.275899887084961, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.82919979095459, + -12.007699966430664, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.59220027923584, + -11.37600040435791, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 16.11400032043457, + -12.854299545288086, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.02810001373291, + -11.128100395202637, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.83430004119873, + -10.79259967803955, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.024800300598145, + -9.897600173950196, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.750800132751465, + -13.720399856567383, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.45359992980957, + -13.720399856567383, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 19 + ] + } + ] + }, + "monomerTemplate-Ade_3": { + "type": "monomerTemplate", + "id": "Ade_3", + "class": "DNA", + "classHELM": "RNA", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 9 + }, + { + "attachmentAtom": 0 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 11.902099609375, + -15.135600090026856, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.306300163269043, + -12.397000312805176, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.307900428771973, + -12.722299575805664, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.986300468444825, + -13.220800399780274, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.734199523925782, + -13.991999626159668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.902099609375, + -13.991999626159668, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.638999938964844, + -13.209699630737305, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.857500076293946, + -12.96399974822998, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.608400344848633, + -12.171899795532227, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 9.583100318908692, + -11.84689998626709, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.583100318908692, + -11.021900177001954, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.583100318908692, + -12.671899795532227, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.383999824523926, + -10.970000267028809, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.825300216674805, + -11.654600143432618, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.207799911499024, + -11.289999961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.153300285339356, + -12.171600341796875, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.885499954223633, + -12.656900405883789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.6766996383667, + -12.265800476074219, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.731200218200684, + -11.384200096130371, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.994500160217286, + -10.893699645996094, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.047699928283692, + -10.01449966430664, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.392600059509278, + -13.491299629211426, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.945500373840332, + -13.491299629211426, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 14, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 1 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 0 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 21 + ] + } + ] + }, + "monomerTemplate-Cyt_3": { + "type": "monomerTemplate", + "id": "Cyt_3", + "class": "XLINKDNA", + "classHELM": "RNA", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 9 + }, + { + "attachmentAtom": 1 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.263099670410157, + -10.526300430297852, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.545900344848633, + -14.174300193786621, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.07960033416748, + -11.033300399780274, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.97189998626709, + -11.688899993896485, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.640399932861329, + -12.703300476074219, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.545900344848633, + -12.703300476074219, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 11.20009994506836, + -11.674400329589844, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 10.172300338745118, + -11.351200103759766, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.844599723815918, + -10.309599876403809, + 0.0 + ] + }, + { + "label": "P", + "location": [ + 8.496299743652344, + -9.783599853515625, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.496299743652344, + -8.698599815368653, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.496299743652344, + -10.868499755859375, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.327899932861329, + -10.079299926757813, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.26140022277832, + -9.72659969329834, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.579899787902832, + -8.89579963684082, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.26609992980957, + -10.84000015258789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.522899627685547, + -8.56980037689209, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.583200454711914, + -8.128600120544434, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 13.833700180053711, + -6.951600074768066, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 3, + 0 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + } + ] + }, + "monomerTemplate-Cyt_4": { + "type": "monomerTemplate", + "id": "Cyt_4", + "class": "MODDNA", + "classHELM": "RNA", + "alias": "C", + "naturalAnalog": "dCyt", + "naturalAnalogShort": "dC", + "attachmentPoints": [ + { + "attachmentAtom": 1 + }, + { + "attachmentAtom": 16 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 6.506400108337402, + -11.61050033569336, + 0.0 + ], + "mapping": 2 + }, + { + "label": "P", + "location": [ + 5.1519999504089359, + -11.371500015258789, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 5.1519999504089359, + -11.040399551391602, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 5.1519999504089359, + -11.702500343322754, + 0.0 + ], + "mapping": 3 + }, + { + "label": "C", + "location": [ + 6.831299781799316, + -11.474100112915039, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 6.200699806213379, + -11.366499900817871, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 6.908199787139893, + -11.11299991607666, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 7.117599964141846, + -11.706199645996094, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 6.280600070953369, + -11.013500213623047, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 6.604100227355957, + -10.878899574279786, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 6.680500030517578, + -10.519800186157227, + 0.0 + ], + "mapping": 2 + }, + { + "label": "S", + "location": [ + 6.051199913024902, + -11.77810001373291, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.818399906158447, + -12.00629997253418, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 6.340099811553955, + -11.928999900817871, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 5.963500022888184, + -12.298199653625489, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 6.285900115966797, + -12.250399589538575, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 5.81220006942749, + -12.586400032043457, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 6.468500137329102, + -12.436599731445313, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.497499942779541, + -11.951499938964844, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 5.384099960327148, + -11.645700454711914, + 0.0 + ], + "mapping": 1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 18, + 19 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 17 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 14, + 16 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 18 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 12, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 0 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 4 + ] + } + ] + }, + "monomerTemplate-Ade_5": { + "type": "monomerTemplate", + "id": "Ade_5", + "class": "MODDNA", + "classHELM": "RNA", + "alias": "A", + "naturalAnalog": "dAde", + "naturalAnalogShort": "dA", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 18 + } + ], + "atoms": [ + { + "label": "P", + "location": [ + 3.31820011138916, + -11.268500328063965, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 3.31820011138916, + -10.936100006103516, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 3.31820011138916, + -11.600799560546875, + 0.0 + ], + "mapping": 3 + }, + { + "label": "C", + "location": [ + 4.643799781799316, + -10.839500427246094, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 4.766499996185303, + -11.18239974975586, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 4.530900001525879, + -11.460200309753418, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 4.172500133514404, + -11.395000457763672, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 4.049799919128418, + -11.05210018157959, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 4.285399913787842, + -10.774299621582032, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 4.722099781036377, + -11.770000457763672, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 5.076000213623047, + -11.683699607849121, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 5.103300094604492, + -11.320500373840332, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 4.832300186157227, + -10.617199897766114, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 4.217299938201904, + -11.836000442504883, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 3.919100046157837, + -12.047699928283692, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 4.510799884796143, + -12.054200172424317, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 4.028299808502197, + -12.396699905395508, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 4.394000053405762, + -12.400699615478516, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 3.809799909591675, + -12.689399719238282, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 4.606100082397461, + -12.698100090026856, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 3.573199987411499, + -11.930299758911133, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 3.5016000270843508, + -11.571499824523926, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 4.970300197601318, + -12.663299560546875, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.182799816131592, + -12.961299896240235, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 5.546999931335449, + -12.92650032043457, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.759500026702881, + -13.22439956665039, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 6.123700141906738, + -13.189599990844727, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.607600212097168, + -13.55720043182373, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.913700103759766, + -12.884699821472168, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 6.293600082397461, + -13.427800178527832, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 6.224899768829346, + -12.96780014038086, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 6.414999961853027, + -13.161600112915039, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 5.777200222015381, + -13.795599937438965, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 5.316400051116943, + -13.585100173950196, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 5.486000061035156, + -13.823399543762207, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 5.743599891662598, + -12.646699905395508, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 6.034800052642822, + -12.618399620056153, + 0.0 + ], + "mapping": 1 + }, + { + "label": "F", + "location": [ + 6.156400203704834, + -12.861100196838379, + 0.0 + ], + "mapping": 1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 28, + 37 + ] + }, + { + "type": 1, + "atoms": [ + 28, + 36 + ] + }, + { + "type": 1, + "atoms": [ + 28, + 35 + ] + }, + { + "type": 1, + "atoms": [ + 27, + 34 + ] + }, + { + "type": 1, + "atoms": [ + 27, + 33 + ] + }, + { + "type": 1, + "atoms": [ + 27, + 32 + ] + }, + { + "type": 1, + "atoms": [ + 26, + 31 + ] + }, + { + "type": 1, + "atoms": [ + 26, + 30 + ] + }, + { + "type": 1, + "atoms": [ + 26, + 29 + ] + }, + { + "type": 1, + "atoms": [ + 25, + 28 + ] + }, + { + "type": 1, + "atoms": [ + 25, + 27 + ] + }, + { + "type": 1, + "atoms": [ + 25, + 26 + ] + }, + { + "type": 1, + "atoms": [ + 24, + 25 + ] + }, + { + "type": 1, + "atoms": [ + 23, + 24 + ] + }, + { + "type": 1, + "atoms": [ + 22, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 20, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 22 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 19 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 16, + 18 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 16, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 17 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 20 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 14, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 9 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 21, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-cdaC_6": { + "type": "monomerTemplate", + "id": "cdaC_6", + "class": "MODDNA", + "classHELM": "RNA", + "alias": "cdaC_6", + "naturalAnalog": "cdaC", + "attachmentPoints": [ + { + "attachmentAtom": 8 + }, + { + "attachmentAtom": 0 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 7.574100017547607, + -12.616100311279297, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 7.732500076293945, + -11.683600425720215, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 7.997399806976318, + -11.878199577331543, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 7.89900016784668, + -12.179300308227539, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 7.574100017547607, + -12.179300308227539, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 7.47130012512207, + -11.873900413513184, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 7.166200160980225, + -11.777999877929688, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 7.068900108337402, + -11.458900451660157, + 0.0 + ], + "mapping": 1 + }, + { + "label": "P", + "location": [ + 6.678400039672852, + -11.34179973602295, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 6.678400039672852, + -11.019700050354004, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 6.678400039672852, + -11.663900375366211, + 0.0 + ], + "mapping": 3 + }, + { + "label": "C", + "location": [ + 8.522199630737305, + -10.956899642944336, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 8.161499977111817, + -10.933799743652344, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 7.961299896240234, + -11.234600067138672, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 8.121600151062012, + -11.55840015411377, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 8.4822998046875, + -11.581399917602539, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 8.682499885559082, + -11.280599594116211, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 8.723099708557129, + -10.656299591064454, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 8.61050033569336, + -11.840499877929688, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 8.001099586486817, + -10.60990047454834, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 8.03339958190918, + -10.268899917602539, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 7.709799766540527, + -10.429800033569336, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 9.01159954071045, + -10.675100326538086, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 8.59529972076416, + -10.397000312805176, + 0.0 + ], + "mapping": 2 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 21, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 21 + ] + }, + { + "type": 1, + "atoms": [ + 19, + 20 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 23 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 22 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 18 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 19 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 17 + ] + }, + { + "type": 2, + "atoms": [ + 11, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 14 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ], + "stereo": 6 + } + ] + }, + "monomerTemplate-Thy_7": { + "type": "monomerTemplate", + "id": "Thy_7", + "class": "MODDNA", + "classHELM": "RNA", + "alias": "T", + "naturalAnalog": "dThy", + "naturalAnalogShort": "dT", + "attachmentPoints": [ + { + "attachmentAtom": 17 + }, + { + "attachmentAtom": 1 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 5.307199954986572, + -11.549099922180176, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 4.792099952697754, + -12.590100288391114, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 4.946300029754639, + -11.692000389099121, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.20419979095459, + -11.881400108337403, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 5.108399868011475, + -12.174500465393067, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 4.792099952697754, + -12.174500465393067, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 4.692200183868408, + -11.87720012664795, + 0.0 + ], + "mapping": 1, + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 4.395199775695801, + -11.78380012512207, + 0.0 + ], + "mapping": 1 + }, + { + "label": "O", + "location": [ + 4.30049991607666, + -11.48289966583252, + 0.0 + ], + "mapping": 1 + }, + { + "label": "C", + "location": [ + 5.62529993057251, + -11.448399543762207, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 5.0254998207092289, + -11.295499801635743, + 0.0 + ], + "mapping": 2 + }, + { + "label": "N", + "location": [ + 5.728799819946289, + -11.114399909973145, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 5.87529993057251, + -11.691900253295899, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 5.129000186920166, + -10.961600303649903, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 5.462100028991699, + -10.867600440979004, + 0.0 + ], + "mapping": 2 + }, + { + "label": "O", + "location": [ + 5.565100193023682, + -10.535400390625, + 0.0 + ], + "mapping": 2 + }, + { + "label": "C", + "location": [ + 4.878499984741211, + -10.717100143432618, + 0.0 + ], + "mapping": 2 + }, + { + "label": "P", + "location": [ + 3.9800000190734865, + -11.367799758911133, + 0.0 + ], + "mapping": 3 + }, + { + "label": "O", + "location": [ + 4.044099807739258, + -11.722700119018555, + 0.0 + ], + "mapping": 3 + }, + { + "label": "S", + "location": [ + 4.255099773406982, + -11.134699821472168, + 0.0 + ], + "mapping": 3, + "charge": -1 + }, + { + "label": "Na", + "location": [ + 4.365699768066406, + -10.293000221252442, + 0.0 + ], + "mapping": 3, + "charge": 1 + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 17, + 19 + ] + }, + { + "type": 2, + "atoms": [ + 17, + 18 + ] + }, + { + "type": 2, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 14 + ] + }, + { + "type": 2, + "atoms": [ + 10, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 17, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 0, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 0 + ], + "stereo": 1 + } + ] + } +} \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/dthymine.ket b/api/tests/integration/tests/formats/ref/dthymine.ket index 124dae7cda..8cb11e551c 100644 --- a/api/tests/integration/tests/formats/ref/dthymine.ket +++ b/api/tests/integration/tests/formats/ref/dthymine.ket @@ -16,20 +16,10 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 20 - ] - } - }, - { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 21 - ] - } + "attachmentAtom": 9 + }, + { + "attachmentAtom": 0 } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/fmoc.ket b/api/tests/integration/tests/formats/ref/fmoc.ket new file mode 100644 index 0000000000..1bd34e767d --- /dev/null +++ b/api/tests/integration/tests/formats/ref/fmoc.ket @@ -0,0 +1,4283 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer0" + }, + { + "$ref": "monomer1" + }, + { + "$ref": "monomer2" + }, + { + "$ref": "monomer3" + }, + { + "$ref": "monomer4" + }, + { + "$ref": "monomer5" + }, + { + "$ref": "monomer6" + }, + { + "$ref": "monomer7" + }, + { + "$ref": "monomer8" + }, + { + "$ref": "monomer9" + }, + { + "$ref": "monomer10" + }, + { + "$ref": "monomer11" + }, + { + "$ref": "monomer12" + }, + { + "$ref": "monomer13" + }, + { + "$ref": "monomer14" + }, + { + "$ref": "monomer15" + }, + { + "$ref": "monomer16" + }, + { + "$ref": "monomer17" + }, + { + "$ref": "monomer18" + }, + { + "$ref": "monomer19" + }, + { + "$ref": "monomer20" + }, + { + "$ref": "monomer21" + }, + { + "$ref": "monomer22" + }, + { + "$ref": "monomer23" + }, + { + "$ref": "monomer24" + }, + { + "$ref": "monomer25" + }, + { + "$ref": "monomer26" + }, + { + "$ref": "monomer27" + }, + { + "$ref": "monomer28" + }, + { + "$ref": "monomer29" + }, + { + "$ref": "monomer30" + }, + { + "$ref": "monomer31" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer0", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer7", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer6", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer7", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer10", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer11", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer11", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer16", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer16", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer17", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer18", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer17", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer19", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer18", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer31", + "attachmentPointId": "R3" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R3" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer19", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer21", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer20", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer22", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer21", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer23", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer22", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer23", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer24", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer25", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer24", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer26", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer25", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer26", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer27", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer28", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer27", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer28", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer29", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer20", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R2" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-His_0" + }, + { + "$ref": "monomerTemplate-Ala_1" + }, + { + "$ref": "monomerTemplate-Glu_2" + }, + { + "$ref": "monomerTemplate-Gly_3" + }, + { + "$ref": "monomerTemplate-Thr_4" + }, + { + "$ref": "monomerTemplate-Phe_5" + }, + { + "$ref": "monomerTemplate-Ser_6" + }, + { + "$ref": "monomerTemplate-Asp_7" + }, + { + "$ref": "monomerTemplate-Val_8" + }, + { + "$ref": "monomerTemplate-Tyr_9" + }, + { + "$ref": "monomerTemplate-Leu_10" + }, + { + "$ref": "monomerTemplate-Gln_11" + }, + { + "$ref": "monomerTemplate-Lys_12" + }, + { + "$ref": "monomerTemplate-Ile_13" + }, + { + "$ref": "monomerTemplate-Trp_14" + }, + { + "$ref": "monomerTemplate-Arg_15" + }, + { + "$ref": "monomerTemplate-Fmoc_15" + }, + { + "$ref": "monomerTemplate-Glu_16" + } + ] + }, + "monomer0": { + "type": "monomer", + "id": "0", + "seqid": 1, + "position": { + "x": 0.8141000270843506, + "y": -6.210899829864502 + }, + "alias": "His", + "templateId": "His_0" + }, + "monomer1": { + "type": "monomer", + "id": "1", + "seqid": 2, + "position": { + "x": 1.4944000244140626, + "y": -6.210899829864502 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer2": { + "type": "monomer", + "id": "2", + "seqid": 3, + "position": { + "x": 2.1747000217437746, + "y": -6.210899829864502 + }, + "alias": "Glu", + "templateId": "Glu_2" + }, + "monomer3": { + "type": "monomer", + "id": "3", + "seqid": 4, + "position": { + "x": 2.8550000190734865, + "y": -6.210899829864502 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer4": { + "type": "monomer", + "id": "4", + "seqid": 5, + "position": { + "x": 3.5353000164031984, + "y": -6.210899829864502 + }, + "alias": "Thr", + "templateId": "Thr_4" + }, + "monomer5": { + "type": "monomer", + "id": "5", + "seqid": 6, + "position": { + "x": 4.21560001373291, + "y": -6.210899829864502 + }, + "alias": "Phe", + "templateId": "Phe_5" + }, + "monomer6": { + "type": "monomer", + "id": "6", + "seqid": 7, + "position": { + "x": 4.895999908447266, + "y": -6.210899829864502 + }, + "alias": "Thr", + "templateId": "Thr_4" + }, + "monomer7": { + "type": "monomer", + "id": "7", + "seqid": 8, + "position": { + "x": 5.576300144195557, + "y": -6.210899829864502 + }, + "alias": "Ser", + "templateId": "Ser_6" + }, + "monomer8": { + "type": "monomer", + "id": "8", + "seqid": 9, + "position": { + "x": 6.2565999031066898, + "y": -6.210899829864502 + }, + "alias": "Asp", + "templateId": "Asp_7" + }, + "monomer9": { + "type": "monomer", + "id": "9", + "seqid": 10, + "position": { + "x": 6.9369001388549809, + "y": -6.210899829864502 + }, + "alias": "Val", + "templateId": "Val_8" + }, + "monomer10": { + "type": "monomer", + "id": "10", + "seqid": 11, + "position": { + "x": 8.297499656677246, + "y": -6.210899829864502 + }, + "alias": "Ser", + "templateId": "Ser_6" + }, + "monomer11": { + "type": "monomer", + "id": "11", + "seqid": 12, + "position": { + "x": 8.977800369262696, + "y": -6.210899829864502 + }, + "alias": "Ser", + "templateId": "Ser_6" + }, + "monomer12": { + "type": "monomer", + "id": "12", + "seqid": 13, + "position": { + "x": 9.65820026397705, + "y": -6.210899829864502 + }, + "alias": "Tyr", + "templateId": "Tyr_9" + }, + "monomer13": { + "type": "monomer", + "id": "13", + "seqid": 14, + "position": { + "x": 10.338500022888184, + "y": -6.210899829864502 + }, + "alias": "Leu", + "templateId": "Leu_10" + }, + "monomer14": { + "type": "monomer", + "id": "14", + "seqid": 15, + "position": { + "x": 11.018799781799317, + "y": -6.210899829864502 + }, + "alias": "Glu", + "templateId": "Glu_2" + }, + "monomer15": { + "type": "monomer", + "id": "15", + "seqid": 16, + "position": { + "x": 11.69909954071045, + "y": -6.210899829864502 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer16": { + "type": "monomer", + "id": "16", + "seqid": 17, + "position": { + "x": 12.379400253295899, + "y": -6.210899829864502 + }, + "alias": "Gln", + "templateId": "Gln_11" + }, + "monomer17": { + "type": "monomer", + "id": "17", + "seqid": 18, + "position": { + "x": 13.059700012207032, + "y": -6.210899829864502 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer18": { + "type": "monomer", + "id": "18", + "seqid": 19, + "position": { + "x": 13.739999771118164, + "y": -6.210899829864502 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer19": { + "type": "monomer", + "id": "19", + "seqid": 20, + "position": { + "x": 14.42039966583252, + "y": -6.210899829864502 + }, + "alias": "Lys", + "templateId": "Lys_12" + }, + "monomer20": { + "type": "monomer", + "id": "20", + "seqid": 22, + "position": { + "x": 16.461299896240236, + "y": -6.210899829864502 + }, + "alias": "Phe", + "templateId": "Phe_5" + }, + "monomer21": { + "type": "monomer", + "id": "21", + "seqid": 23, + "position": { + "x": 17.141599655151368, + "y": -6.210899829864502 + }, + "alias": "Ile", + "templateId": "Ile_13" + }, + "monomer22": { + "type": "monomer", + "id": "22", + "seqid": 24, + "position": { + "x": 17.8218994140625, + "y": -6.210899829864502 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer23": { + "type": "monomer", + "id": "23", + "seqid": 25, + "position": { + "x": 18.502300262451173, + "y": -6.210899829864502 + }, + "alias": "Trp", + "templateId": "Trp_14" + }, + "monomer24": { + "type": "monomer", + "id": "24", + "seqid": 26, + "position": { + "x": 19.182600021362306, + "y": -6.210899829864502 + }, + "alias": "Leu", + "templateId": "Leu_10" + }, + "monomer25": { + "type": "monomer", + "id": "25", + "seqid": 27, + "position": { + "x": 19.862899780273439, + "y": -6.210899829864502 + }, + "alias": "Val", + "templateId": "Val_8" + }, + "monomer26": { + "type": "monomer", + "id": "26", + "seqid": 28, + "position": { + "x": 20.54319953918457, + "y": -6.210899829864502 + }, + "alias": "Arg", + "templateId": "Arg_15" + }, + "monomer27": { + "type": "monomer", + "id": "27", + "seqid": 29, + "position": { + "x": 21.223499298095704, + "y": -6.210899829864502 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer28": { + "type": "monomer", + "id": "28", + "seqid": 30, + "position": { + "x": 21.903799057006837, + "y": -6.210899829864502 + }, + "alias": "Arg", + "templateId": "Arg_15" + }, + "monomer29": { + "type": "monomer", + "id": "29", + "seqid": 31, + "position": { + "x": 23.26449966430664, + "y": -6.210899829864502 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer30": { + "type": "monomer", + "id": "30", + "position": { + "x": 16.131311416625978, + "y": -5.159056186676025 + }, + "alias": "E", + "templateId": "Glu_16" + }, + "monomer31": { + "type": "monomer", + "id": "31", + "position": { + "x": 15.770377159118653, + "y": -3.601959228515625 + }, + "alias": "Fmoc", + "templateId": "Fmoc_15" + }, + "monomerTemplate-His_0": { + "type": "monomerTemplate", + "id": "His_0", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "H", + "attachmentPoints": [ + { + "attachmentAtom": 5 + }, + { + "attachmentAtom": 4 + }, + { + "attachmentAtom": 12 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.662099838256836, + -5.933700084686279, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.115599632263184, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.867400169372559, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.627900123596192, + -9.382800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.627900123596192, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.2568998336792, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -8.05739974975586, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -7.205100059509277, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.662099838256836, + -6.780300140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.464500427246094, + -7.050099849700928, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.933199882507325, + -7.526100158691406, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.478500366210938, + -5.680300235748291, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.969099998474121, + -6.370299816131592, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + } + ] + }, + "monomerTemplate-Ala_1": { + "type": "monomerTemplate", + "id": "Ala_1", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 2 + }, + { + "attachmentAtom": 4 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 6.6265997886657719, + -2.066200017929077, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.0015997886657719, + -2.087599992752075, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 5.135799884796143, + -2.078399896621704, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.78439998626709, + -1.5982999801635743, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 6.475299835205078, + -2.0652999877929689, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 6.475299835205078, + -2.897700071334839, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.78439998626709, + -0.7662000060081482, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ] + } + ] + }, + "monomerTemplate-Glu_2": { + "type": "monomerTemplate", + "id": "Glu_2", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "E", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 8 + }, + { + "attachmentAtom": 6 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 7.5406999588012699, + -8.816100120544434, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -8.225700378417969, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -7.044600009918213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -6.453999996185303, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -5.272799968719482, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.609199523925782, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.563300132751465, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 8.563400268554688, + -7.6350998878479, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.765399932861329, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.586199760437012, + -9.997400283813477, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 6.486599922180176, + -8.816100120544434, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 11 + ] + } + ] + }, + "monomerTemplate-Gly_3": { + "type": "monomerTemplate", + "id": "Gly_3", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.6760001182556154, + -12.527400016784668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.267499923706055, + -12.095000267028809, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.893199920654297, + -13.269100189208985, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.890399932861328, + -12.51609992980957, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 5.1041998863220219, + -12.51669979095459, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 3.454200029373169, + -12.512499809265137, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + } + ] + }, + "monomerTemplate-Thr_4": { + "type": "monomerTemplate", + "id": "Thr_4", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 5 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.408699989318848, + -9.12660026550293, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.000200271606446, + -8.694199562072754, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.623100280761719, + -9.868300437927246, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.623100280761719, + -9.11520004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.000200271606446, + -7.9390997886657719, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.650199890136719, + -7.5644001960754398, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.351200103759766, + -7.563799858093262, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.015899658203125, + -8.190899848937989, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.187899589538575, + -9.12090015411377, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.837900161743164, + -9.12090015411377, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-Phe_5": { + "type": "monomerTemplate", + "id": "Phe_5", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "F", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -0.8240000009536743, + 1.0892000198364258, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.23250000178813935, + 1.5217000246047974, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.39320001006126406, + 0.3474999964237213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.3903999924659729, + 1.100600004196167, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.2321999967098236, + 2.276700019836426, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 2.2792000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 3.7792000770568849, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 0.604200005531311, + 1.100000023841858, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -1.045799970626831, + 1.079200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + } + ] + }, + "monomerTemplate-Ser_6": { + "type": "monomerTemplate", + "id": "Ser_6", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "S", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 5 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387200355529786, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978699684143067, + -7.805200099945068, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601699829101563, + -8.979399681091309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601699829101563, + -8.226300239562989, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978699684143067, + -7.05019998550415, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.628700256347657, + -6.6753997802734379, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.022700309753418, + -7.3333001136779789, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.220800399780274, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226300239562989, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-Asp_7": { + "type": "monomerTemplate", + "id": "Asp_7", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "D", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 7 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -3.953200101852417, + -1.0982999801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + -0.6657999753952026, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -2.7386999130249025, + -1.840000033378601, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7386999130249025, + -1.086899995803833, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + 0.08919999748468399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7132999897003176, + 0.46939998865127566, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.0643999576568605, + 0.09390000253915787, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.7132999897003176, + 1.2200000286102296, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -3.390500068664551, + -0.3084000051021576, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -4.173799991607666, + -1.0925999879837037, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.5237998962402345, + -1.0925999879837037, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Val_8": { + "type": "monomerTemplate", + "id": "Val_8", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "V", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 5.796800136566162, + -18.364900588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.9325008392334, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 7.011300086975098, + -19.106599807739259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.011300086975098, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.177400588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.038300037384033, + -16.80270004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.739299774169922, + -16.802200317382814, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 7.224999904632568, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.574999809265137, + -18.350000381469728, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Tyr_9": { + "type": "monomerTemplate", + "id": "Tyr_9", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "Y", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 11 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.384200096130371, + -8.238800048828125, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.975700378417969, + -7.806399822235107, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.598600387573243, + -8.980500221252442, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.598600387573243, + -8.227499961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.975700378417969, + -7.051300048828125, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.624799728393555, + -5.923900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.624799728393555, + -6.673900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.274399757385254, + -7.048900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.92389965057373, + -6.673900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.92389965057373, + -5.923900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.274399757385254, + -5.548900127410889, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.573399543762207, + -5.548900127410889, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.956000328063965, + -7.269700050354004, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.21969985961914, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.227499961853028, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + } + ] + }, + "monomerTemplate-Leu_10": { + "type": "monomerTemplate", + "id": "Leu_10", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "L", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.017699956893921, + -14.119099617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.6092000007629396, + -13.686699867248536, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 4.232100009918213, + -14.860799789428711, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.232100009918213, + -14.10770034790039, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.6092000007629396, + -12.931599617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.259200096130371, + -12.556900024414063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.259200096130371, + -11.806900024414063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.9085001945495609, + -12.932100296020508, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.445799827575684, + -14.10770034790039, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 2.795799970626831, + -14.091699600219727, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Gln_11": { + "type": "monomerTemplate", + "id": "Gln_11", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "Q", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 4 + }, + { + "attachmentAtom": 10 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 9.093799591064454, + -7.0, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.116600036621094, + -6.40939998626709, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "H", + "location": [ + 7.789299964904785, + -7.0, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.116600036621094, + -5.228000164031982, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -7.000199794769287, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.475500106811524, + -7.000199794769287, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.139800071716309, + -8.181599617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -4.63730001449585, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -3.4558000564575197, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.163000106811524, + -2.8650999069213869, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 10.116600036621094, + -2.8650999069213869, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 10.116600036621094, + -1.6835999488830567, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + } + ] + }, + "monomerTemplate-Lys_12": { + "type": "monomerTemplate", + "id": "Lys_12", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "K", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 8 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387399673461914, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978899955749512, + -7.805200099945068, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601799964904786, + -8.979399681091309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601799964904786, + -8.226300239562989, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978899955749512, + -7.05019998550415, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628899574279786, + -6.6753997802734379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628899574279786, + -5.9253997802734379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.278900146484375, + -5.5507001876831059, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.278900146484375, + -4.8007001876831059, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.991499900817871, + -7.302000045776367, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226300239562989, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Ile_13": { + "type": "monomerTemplate", + "id": "Ile_13", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "I", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 11.451000213623047, + -3.469099998474121, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -3.0367000102996828, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 12.665399551391602, + -4.2108001708984379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.665399551391602, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -2.281599998474121, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.692500114440918, + -1.9069000482559205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.9062999486923218, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.1541999578475953, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.879199981689454, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.22920036315918, + -3.454200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Trp_14": { + "type": "monomerTemplate", + "id": "Trp_14", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "W", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 7 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387499809265137, + -8.23740005493164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.979000091552735, + -7.804999828338623, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601900100708008, + -8.979100227355957, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601900100708008, + -8.226099967956543, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.979000091552735, + -7.049900054931641, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.3548002243042, + -6.842800140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628199577331543, + -6.672500133514404, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.742199897766114, + -6.198299884796143, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.560199737548829, + -5.926400184631348, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.249699592590332, + -5.632800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.338700294494629, + -4.889100074768066, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.735600471496582, + -4.4405999183654789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.046099662780762, + -4.7342000007629398, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.963299751281739, + -5.474299907684326, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.716500282287598, + -7.489799976348877, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.010199546813965, + -8.252300262451172, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226099967956543, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + } + ] + }, + "monomerTemplate-Arg_15": { + "type": "monomerTemplate", + "id": "Arg_15", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 7 + }, + { + "attachmentAtom": 2 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387299537658692, + -8.550299644470215, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.928400039672852, + -5.48859977722168, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.928400039672852, + -4.73859977722168, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.577799797058106, + -5.863900184631348, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.2746000289917, + -5.888400077819824, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978799819946289, + -8.117899894714356, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601699829101563, + -9.291999816894532, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601699829101563, + -8.538999557495118, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978799819946289, + -7.362800121307373, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628800392150879, + -6.988100051879883, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628800392150879, + -6.238100051879883, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.538999557495118, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.991499900817871, + -7.6768999099731449, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.53320026397705, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 8 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + } + ] + }, + "monomerTemplate-Fmoc_15": { + "type": "monomerTemplate", + "id": "Fmoc_15", + "class": "Chem", + "classHELM": "CHEM", + "alias": "Fmoc_15", + "attachmentPoints": [ + { + "type": "side", + "label": "R3", + "attachmentAtom": 16 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 16.593299865722658, + -5.530099868774414, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.170000076293946, + -4.930699825286865, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.758199691772461, + -4.452000141143799, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.758199691772461, + -3.7709999084472658, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.345300674438478, + -3.4233999252319338, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.345300674438478, + -2.7437000274658205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.93269920349121, + -2.399399995803833, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 17.520299911499025, + -2.7392001152038576, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 17.520299911499025, + -3.420300006866455, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.93429946899414, + -3.760200023651123, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.164899826049805, + -2.7437000274658205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.570199966430664, + -2.4052000045776369, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.979700088500977, + -2.7495999336242677, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.979700088500977, + -3.436000108718872, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.578100204467774, + -3.771399974822998, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.164899826049805, + -3.427299976348877, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.781000137329102, + -5.530099868774414, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 16, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 2, + "atoms": [ + 13, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 14, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 15, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 15, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 16 + ] + } + ] + }, + "monomerTemplate-Glu_16": { + "type": "monomerTemplate", + "id": "Glu_16", + "class": "MODAA", + "classHELM": "PEPTIDE", + "alias": "E", + "naturalAnalog": "Glu", + "naturalAnalogShort": "E", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 7 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 15.150400161743164, + -6.210899829864502, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.780900001525879, + -5.84689998626709, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 15.780900001525879, + -5.118599891662598, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.41160011291504, + -6.210999965667725, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.41160011291504, + -4.754499912261963, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.41160011291504, + -4.026199817657471, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 17.042299270629884, + -3.662100076675415, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.780900001525879, + -3.662100076675415, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 16.41160011291504, + -6.939199924468994, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + } +} \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/pepchem.ket b/api/tests/integration/tests/formats/ref/pepchem.ket new file mode 100644 index 0000000000..62ca51f5ef --- /dev/null +++ b/api/tests/integration/tests/formats/ref/pepchem.ket @@ -0,0 +1,3769 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer0" + }, + { + "$ref": "monomer1" + }, + { + "$ref": "monomer2" + }, + { + "$ref": "monomer3" + }, + { + "$ref": "monomer4" + }, + { + "$ref": "monomer5" + }, + { + "$ref": "monomer6" + }, + { + "$ref": "monomer7" + }, + { + "$ref": "monomer8" + }, + { + "$ref": "monomer9" + }, + { + "$ref": "monomer10" + }, + { + "$ref": "monomer11" + }, + { + "$ref": "monomer12" + }, + { + "$ref": "monomer13" + }, + { + "$ref": "monomer14" + }, + { + "$ref": "monomer15" + }, + { + "$ref": "monomer16" + }, + { + "$ref": "monomer17" + }, + { + "$ref": "monomer18" + }, + { + "$ref": "monomer19" + }, + { + "$ref": "monomer20" + }, + { + "$ref": "monomer21" + }, + { + "$ref": "monomer22" + }, + { + "$ref": "monomer23" + }, + { + "$ref": "monomer24" + }, + { + "$ref": "monomer25" + }, + { + "$ref": "monomer26" + }, + { + "$ref": "monomer27" + }, + { + "$ref": "monomer28" + }, + { + "$ref": "monomer29" + }, + { + "$ref": "monomer30" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer0", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer1", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer7", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer6", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer7", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer10", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer9", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer11", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer11", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer29", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer29", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer16", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer17", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer16", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer18", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer18", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer20", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer21", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer20", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer22", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer21", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer22", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer23", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer24", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer23", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer25", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer24", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer25", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer26", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer27", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer26", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer27", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer28", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer17", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R1" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-His_0" + }, + { + "$ref": "monomerTemplate-Ala_1" + }, + { + "$ref": "monomerTemplate-Glu_2" + }, + { + "$ref": "monomerTemplate-Gly_3" + }, + { + "$ref": "monomerTemplate-Thr_4" + }, + { + "$ref": "monomerTemplate-Phe_5" + }, + { + "$ref": "monomerTemplate-Ser_6" + }, + { + "$ref": "monomerTemplate-Asp_7" + }, + { + "$ref": "monomerTemplate-Val_8" + }, + { + "$ref": "monomerTemplate-Tyr_9" + }, + { + "$ref": "monomerTemplate-Leu_10" + }, + { + "$ref": "monomerTemplate-Ile_11" + }, + { + "$ref": "monomerTemplate-Trp_12" + }, + { + "$ref": "monomerTemplate-Arg_13" + }, + { + "$ref": "monomerTemplate-Gln_14" + }, + { + "$ref": "monomerTemplate-Lys_14" + } + ] + }, + "monomer0": { + "type": "monomer", + "id": "0", + "seqid": 1, + "position": { + "x": 1.8351999521255494, + "y": -8.467700004577637 + }, + "alias": "His", + "templateId": "His_0" + }, + "monomer1": { + "type": "monomer", + "id": "1", + "seqid": 2, + "position": { + "x": 2.387700080871582, + "y": -8.467700004577637 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer2": { + "type": "monomer", + "id": "2", + "seqid": 3, + "position": { + "x": 2.9400999546051027, + "y": -8.467700004577637 + }, + "alias": "Glu", + "templateId": "Glu_2" + }, + "monomer3": { + "type": "monomer", + "id": "3", + "seqid": 4, + "position": { + "x": 3.492500066757202, + "y": -8.467700004577637 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer4": { + "type": "monomer", + "id": "4", + "seqid": 5, + "position": { + "x": 4.044899940490723, + "y": -8.467700004577637 + }, + "alias": "Thr", + "templateId": "Thr_4" + }, + "monomer5": { + "type": "monomer", + "id": "5", + "seqid": 6, + "position": { + "x": 4.597400188446045, + "y": -8.467700004577637 + }, + "alias": "Phe", + "templateId": "Phe_5" + }, + "monomer6": { + "type": "monomer", + "id": "6", + "seqid": 7, + "position": { + "x": 5.149799823760986, + "y": -8.467700004577637 + }, + "alias": "Thr", + "templateId": "Thr_4" + }, + "monomer7": { + "type": "monomer", + "id": "7", + "seqid": 8, + "position": { + "x": 5.702300071716309, + "y": -8.467700004577637 + }, + "alias": "Ser", + "templateId": "Ser_6" + }, + "monomer8": { + "type": "monomer", + "id": "8", + "seqid": 9, + "position": { + "x": 6.254700183868408, + "y": -8.467700004577637 + }, + "alias": "Asp", + "templateId": "Asp_7" + }, + "monomer9": { + "type": "monomer", + "id": "9", + "seqid": 10, + "position": { + "x": 6.80709981918335, + "y": -8.467700004577637 + }, + "alias": "Val", + "templateId": "Val_8" + }, + "monomer10": { + "type": "monomer", + "id": "10", + "seqid": 11, + "position": { + "x": 7.9120001792907719, + "y": -8.467700004577637 + }, + "alias": "Ser", + "templateId": "Ser_6" + }, + "monomer11": { + "type": "monomer", + "id": "11", + "seqid": 12, + "position": { + "x": 8.464500427246094, + "y": -8.467700004577637 + }, + "alias": "Ser", + "templateId": "Ser_6" + }, + "monomer12": { + "type": "monomer", + "id": "12", + "seqid": 13, + "position": { + "x": 9.016900062561036, + "y": -8.467700004577637 + }, + "alias": "Tyr", + "templateId": "Tyr_9" + }, + "monomer13": { + "type": "monomer", + "id": "13", + "seqid": 14, + "position": { + "x": 9.569299697875977, + "y": -8.467700004577637 + }, + "alias": "Leu", + "templateId": "Leu_10" + }, + "monomer14": { + "type": "monomer", + "id": "14", + "seqid": 15, + "position": { + "x": 10.121700286865235, + "y": -8.467700004577637 + }, + "alias": "Glu", + "templateId": "Glu_2" + }, + "monomer15": { + "type": "monomer", + "id": "15", + "seqid": 16, + "position": { + "x": 10.674200057983399, + "y": -8.467700004577637 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer16": { + "type": "monomer", + "id": "16", + "seqid": 18, + "position": { + "x": 11.77910041809082, + "y": -8.467700004577637 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer17": { + "type": "monomer", + "id": "17", + "seqid": 19, + "position": { + "x": 12.331500053405762, + "y": -8.467700004577637 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer18": { + "type": "monomer", + "id": "18", + "seqid": 21, + "position": { + "x": 17.576000213623048, + "y": -8.434000015258789 + }, + "alias": "Glu", + "templateId": "Glu_2" + }, + "monomer19": { + "type": "monomer", + "id": "19", + "seqid": 22, + "position": { + "x": 18.128400802612306, + "y": -8.434000015258789 + }, + "alias": "Phe", + "templateId": "Phe_5" + }, + "monomer20": { + "type": "monomer", + "id": "20", + "seqid": 23, + "position": { + "x": 18.68079948425293, + "y": -8.434000015258789 + }, + "alias": "Ile", + "templateId": "Ile_11" + }, + "monomer21": { + "type": "monomer", + "id": "21", + "seqid": 24, + "position": { + "x": 19.233299255371095, + "y": -8.434000015258789 + }, + "alias": "Ala", + "templateId": "Ala_1" + }, + "monomer22": { + "type": "monomer", + "id": "22", + "seqid": 25, + "position": { + "x": 19.78569984436035, + "y": -8.434000015258789 + }, + "alias": "Trp", + "templateId": "Trp_12" + }, + "monomer23": { + "type": "monomer", + "id": "23", + "seqid": 26, + "position": { + "x": 20.338199615478517, + "y": -8.434000015258789 + }, + "alias": "Leu", + "templateId": "Leu_10" + }, + "monomer24": { + "type": "monomer", + "id": "24", + "seqid": 27, + "position": { + "x": 20.890600204467775, + "y": -8.434000015258789 + }, + "alias": "Val", + "templateId": "Val_8" + }, + "monomer25": { + "type": "monomer", + "id": "25", + "seqid": 28, + "position": { + "x": 21.443099975585939, + "y": -8.434000015258789 + }, + "alias": "Arg", + "templateId": "Arg_13" + }, + "monomer26": { + "type": "monomer", + "id": "26", + "seqid": 29, + "position": { + "x": 21.995399475097658, + "y": -8.434000015258789 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer27": { + "type": "monomer", + "id": "27", + "seqid": 30, + "position": { + "x": 22.54789924621582, + "y": -8.434000015258789 + }, + "alias": "Arg", + "templateId": "Arg_13" + }, + "monomer28": { + "type": "monomer", + "id": "28", + "seqid": 31, + "position": { + "x": 23.652799606323243, + "y": -8.434000015258789 + }, + "alias": "Gly", + "templateId": "Gly_3" + }, + "monomer29": { + "type": "monomer", + "id": "29", + "seqid": 17, + "position": { + "x": 11.22659969329834, + "y": -8.467700004577637 + }, + "alias": "Gln", + "templateId": "Gln_14" + }, + "monomer30": { + "type": "monomer", + "id": "30", + "position": { + "x": 15.382266998291016, + "y": -6.720333099365234 + }, + "alias": "K", + "templateId": "Lys_14" + }, + "monomerTemplate-His_0": { + "type": "monomerTemplate", + "id": "His_0", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "H", + "attachmentPoints": [ + { + "attachmentAtom": 5 + }, + { + "attachmentAtom": 4 + }, + { + "attachmentAtom": 12 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.662099838256836, + -5.933700084686279, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.115599632263184, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.867400169372559, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.627900123596192, + -9.382800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.627900123596192, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.2568998336792, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -8.05739974975586, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -7.205100059509277, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.662099838256836, + -6.780300140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.464500427246094, + -7.050099849700928, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.933199882507325, + -7.526100158691406, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.478500366210938, + -5.680300235748291, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.969099998474121, + -6.370299816131592, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + } + ] + }, + "monomerTemplate-Ala_1": { + "type": "monomerTemplate", + "id": "Ala_1", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 2 + }, + { + "attachmentAtom": 4 + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 6.6265997886657719, + -2.066200017929077, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.0015997886657719, + -2.087599992752075, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 5.135799884796143, + -2.078399896621704, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.78439998626709, + -1.5982999801635743, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 6.475299835205078, + -2.0652999877929689, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 6.475299835205078, + -2.897700071334839, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.78439998626709, + -0.7662000060081482, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ] + } + ] + }, + "monomerTemplate-Glu_2": { + "type": "monomerTemplate", + "id": "Glu_2", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "E", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 8 + }, + { + "attachmentAtom": 6 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 7.5406999588012699, + -8.816100120544434, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -8.225700378417969, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -7.044600009918213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -6.453999996185303, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -5.272799968719482, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.609199523925782, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.563300132751465, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 8.563400268554688, + -7.6350998878479, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.765399932861329, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.586199760437012, + -9.997400283813477, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 6.486599922180176, + -8.816100120544434, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 11 + ] + } + ] + }, + "monomerTemplate-Gly_3": { + "type": "monomerTemplate", + "id": "Gly_3", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.6760001182556154, + -12.527400016784668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.267499923706055, + -12.095000267028809, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.893199920654297, + -13.269100189208985, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.890399932861328, + -12.51609992980957, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 5.1041998863220219, + -12.51669979095459, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 3.454200029373169, + -12.512499809265137, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + } + ] + }, + "monomerTemplate-Thr_4": { + "type": "monomerTemplate", + "id": "Thr_4", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 5 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.408699989318848, + -9.12660026550293, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.000200271606446, + -8.694199562072754, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.623100280761719, + -9.868300437927246, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.623100280761719, + -9.11520004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.000200271606446, + -7.9390997886657719, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.650199890136719, + -7.5644001960754398, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.351200103759766, + -7.563799858093262, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.015899658203125, + -8.190899848937989, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.187899589538575, + -9.12090015411377, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.837900161743164, + -9.12090015411377, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-Phe_5": { + "type": "monomerTemplate", + "id": "Phe_5", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "F", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -0.8240000009536743, + 1.0892000198364258, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.23250000178813935, + 1.5217000246047974, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.39320001006126406, + 0.3474999964237213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.3903999924659729, + 1.100600004196167, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.2321999967098236, + 2.276700019836426, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 2.2792000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 3.7792000770568849, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 0.604200005531311, + 1.100000023841858, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -1.045799970626831, + 1.079200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + } + ] + }, + "monomerTemplate-Ser_6": { + "type": "monomerTemplate", + "id": "Ser_6", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "S", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 5 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387200355529786, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978699684143067, + -7.805200099945068, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601699829101563, + -8.979399681091309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601699829101563, + -8.226300239562989, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978699684143067, + -7.05019998550415, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.628700256347657, + -6.6753997802734379, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.022700309753418, + -7.3333001136779789, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.220800399780274, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226300239562989, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-Asp_7": { + "type": "monomerTemplate", + "id": "Asp_7", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "D", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 7 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -3.953200101852417, + -1.0982999801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + -0.6657999753952026, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -2.7386999130249025, + -1.840000033378601, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7386999130249025, + -1.086899995803833, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + 0.08919999748468399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7132999897003176, + 0.46939998865127566, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.0643999576568605, + 0.09390000253915787, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.7132999897003176, + 1.2200000286102296, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -3.390500068664551, + -0.3084000051021576, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -4.173799991607666, + -1.0925999879837037, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.5237998962402345, + -1.0925999879837037, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Val_8": { + "type": "monomerTemplate", + "id": "Val_8", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "V", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 5.796800136566162, + -18.364900588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.9325008392334, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 7.011300086975098, + -19.106599807739259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.011300086975098, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.177400588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.038300037384033, + -16.80270004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.739299774169922, + -16.802200317382814, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 7.224999904632568, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.574999809265137, + -18.350000381469728, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Tyr_9": { + "type": "monomerTemplate", + "id": "Tyr_9", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "Y", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 11 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.384200096130371, + -8.238800048828125, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.975700378417969, + -7.806399822235107, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.598600387573243, + -8.980500221252442, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.598600387573243, + -8.227499961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.975700378417969, + -7.051300048828125, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.624799728393555, + -5.923900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.624799728393555, + -6.673900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.274399757385254, + -7.048900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.92389965057373, + -6.673900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.92389965057373, + -5.923900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.274399757385254, + -5.548900127410889, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.573399543762207, + -5.548900127410889, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.956000328063965, + -7.269700050354004, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.21969985961914, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.227499961853028, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + } + ] + }, + "monomerTemplate-Leu_10": { + "type": "monomerTemplate", + "id": "Leu_10", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "L", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.017699956893921, + -14.119099617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.6092000007629396, + -13.686699867248536, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 4.232100009918213, + -14.860799789428711, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.232100009918213, + -14.10770034790039, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.6092000007629396, + -12.931599617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.259200096130371, + -12.556900024414063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.259200096130371, + -11.806900024414063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.9085001945495609, + -12.932100296020508, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.445799827575684, + -14.10770034790039, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 2.795799970626831, + -14.091699600219727, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Ile_11": { + "type": "monomerTemplate", + "id": "Ile_11", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "I", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 11.451000213623047, + -3.469099998474121, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -3.0367000102996828, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 12.665399551391602, + -4.2108001708984379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.665399551391602, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -2.281599998474121, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.692500114440918, + -1.9069000482559205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.9062999486923218, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.1541999578475953, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.879199981689454, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.22920036315918, + -3.454200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Trp_12": { + "type": "monomerTemplate", + "id": "Trp_12", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "W", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 7 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387499809265137, + -8.23740005493164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.979000091552735, + -7.804999828338623, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601900100708008, + -8.979100227355957, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601900100708008, + -8.226099967956543, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.979000091552735, + -7.049900054931641, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.3548002243042, + -6.842800140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628199577331543, + -6.672500133514404, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.742199897766114, + -6.198299884796143, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.560199737548829, + -5.926400184631348, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.249699592590332, + -5.632800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.338700294494629, + -4.889100074768066, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.735600471496582, + -4.4405999183654789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.046099662780762, + -4.7342000007629398, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.963299751281739, + -5.474299907684326, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.716500282287598, + -7.489799976348877, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.010199546813965, + -8.252300262451172, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226099967956543, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + } + ] + }, + "monomerTemplate-Arg_13": { + "type": "monomerTemplate", + "id": "Arg_13", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 7 + }, + { + "attachmentAtom": 2 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387299537658692, + -8.550299644470215, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.928400039672852, + -5.48859977722168, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.928400039672852, + -4.73859977722168, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.577799797058106, + -5.863900184631348, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.2746000289917, + -5.888400077819824, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978799819946289, + -8.117899894714356, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601699829101563, + -9.291999816894532, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601699829101563, + -8.538999557495118, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978799819946289, + -7.362800121307373, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628800392150879, + -6.988100051879883, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628800392150879, + -6.238100051879883, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.538999557495118, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.991499900817871, + -7.6768999099731449, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.53320026397705, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 8 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + } + ] + }, + "monomerTemplate-Gln_14": { + "type": "monomerTemplate", + "id": "Gln_14", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "Q", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 4 + }, + { + "attachmentAtom": 10 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 9.093799591064454, + -7.0, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.116600036621094, + -6.40939998626709, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "H", + "location": [ + 7.789299964904785, + -7.0, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.116600036621094, + -5.228000164031982, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -7.000199794769287, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.475500106811524, + -7.000199794769287, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.139800071716309, + -8.181599617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -4.63730001449585, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -3.4558000564575197, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.163000106811524, + -2.8650999069213869, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 10.116600036621094, + -2.8650999069213869, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 10.116600036621094, + -1.6835999488830567, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + } + ] + }, + "monomerTemplate-Lys_14": { + "type": "monomerTemplate", + "id": "Lys_14", + "class": "MODAA", + "classHELM": "PEPTIDE", + "alias": "K", + "naturalAnalog": "Lys", + "naturalAnalogShort": "K", + "attachmentPoints": [ + { + "attachmentAtom": 0 + }, + { + "attachmentAtom": 3 + }, + { + "attachmentAtom": 8 + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.804800033569336, + -8.458999633789063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.654999732971192, + -7.837500095367432, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 15.550200462341309, + -9.525099754333496, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.550200462341309, + -8.44260025024414, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.654999732971192, + -6.752399921417236, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.589300155639649, + -6.213799953460693, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 15.589300155639649, + -5.135799884796143, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 16.523300170898439, + -4.597300052642822, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 16.523300170898439, + -3.5195000171661379, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + } +} \ No newline at end of file diff --git a/api/tests/integration/tests/formats/ref/rna_mod.ket b/api/tests/integration/tests/formats/ref/rna_mod.ket index 49e9b0e181..d4c66bb47a 100644 --- a/api/tests/integration/tests/formats/ref/rna_mod.ket +++ b/api/tests/integration/tests/formats/ref/rna_mod.ket @@ -55,88 +55,77 @@ "connectionType": "single", "endpoint1": { "monomerId": "monomer1", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer0", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer2", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer1", - "attachmentPointId": "R1" - } - }, - { - "connectionType": "single", - "endpoint1": { - "monomerId": "monomer15", "attachmentPointId": "R2" - }, - "endpoint2": { - "monomerId": "monomer2", - "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer3", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer15", - "attachmentPointId": "R1" + "monomerId": "monomer14", + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer4", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer3", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { "monomerId": "monomer5", - "attachmentPointId": "R2" + "attachmentPointId": "R1" }, "endpoint2": { "monomerId": "monomer4", - "attachmentPointId": "R1" + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer12", + "monomerId": "monomer5", "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer5", + "monomerId": "monomer15", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer6", - "attachmentPointId": "R2" + "monomerId": "monomer7", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer12", - "attachmentPointId": "R1" + "monomerId": "monomer6", + "attachmentPointId": "R2" } }, { @@ -146,74 +135,85 @@ "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer6", + "monomerId": "monomer13", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer14", - "attachmentPointId": "R2" + "monomerId": "monomer9", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer7", - "attachmentPointId": "R1" + "monomerId": "monomer8", + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer8", - "attachmentPointId": "R2" + "monomerId": "monomer10", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer14", - "attachmentPointId": "R1" + "monomerId": "monomer9", + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer9", + "monomerId": "monomer10", "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer8", + "monomerId": "monomer12", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer10", - "attachmentPointId": "R2" + "monomerId": "monomer11", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer9", - "attachmentPointId": "R1" + "monomerId": "monomer12", + "attachmentPointId": "R2" } }, { "connectionType": "single", "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + }, + "endpoint2": { "monomerId": "monomer13", "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer2", + "attachmentPointId": "R2" }, "endpoint2": { - "monomerId": "monomer10", + "monomerId": "monomer14", "attachmentPointId": "R1" } }, { "connectionType": "single", "endpoint1": { - "monomerId": "monomer11", - "attachmentPointId": "R2" + "monomerId": "monomer6", + "attachmentPointId": "R1" }, "endpoint2": { - "monomerId": "monomer13", - "attachmentPointId": "R1" + "monomerId": "monomer15", + "attachmentPointId": "R2" } } ], @@ -228,16 +228,16 @@ "$ref": "monomerTemplate-Ade_2" }, { - "$ref": "monomerTemplate-G_3" + "$ref": "monomerTemplate-Gua_2" }, { - "$ref": "monomerTemplate-C_4" + "$ref": "monomerTemplate-Cyt_3" }, { - "$ref": "monomerTemplate-dabA_5" + "$ref": "monomerTemplate-dabA_4" }, { - "$ref": "monomerTemplate-5fU_6" + "$ref": "monomerTemplate-5fU_5" } ] }, @@ -375,43 +375,43 @@ }, "monomer12": { "type": "monomer", - "id": "0", - "position": { - "x": 11.9769868850708, - "y": -5.913022518157959 - }, - "alias": "G", - "templateId": "G_3" - }, - "monomer13": { - "type": "monomer", - "id": "4", + "id": "12", "position": { "x": 13.926956176757813, "y": -5.917850017547607 }, "alias": "C", - "templateId": "C_4" + "templateId": "Cyt_0" }, - "monomer14": { + "monomer13": { "type": "monomer", - "id": "8", + "id": "13", "position": { "x": 12.804008483886719, "y": -5.742058753967285 }, "alias": "dabA", - "templateId": "dabA_5" + "templateId": "dabA_4" }, - "monomer15": { + "monomer14": { "type": "monomer", - "id": "12", + "id": "14", "position": { "x": 10.707457542419434, "y": -5.907927989959717 }, "alias": "5fU", - "templateId": "5fU_6" + "templateId": "5fU_5" + }, + "monomer15": { + "type": "monomer", + "id": "15", + "position": { + "x": 11.9769868850708, + "y": -5.913022518157959 + }, + "alias": "G", + "templateId": "Gua_1" }, "monomerTemplate-Cyt_0": { "type": "monomerTemplate", @@ -421,20 +421,10 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 19 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 20 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -795,20 +785,10 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 9, - "leavingGroup": { - "atoms": [ - 22 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 23 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -1221,20 +1201,10 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 8, - "leavingGroup": { - "atoms": [ - 20 - ] - } + "attachmentAtom": 8 }, { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 21 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -1624,29 +1594,20 @@ } ] }, - "monomerTemplate-G_3": { + "monomerTemplate-Gua_2": { "type": "monomerTemplate", - "class": "RNA", + "id": "Gua_2", + "class": "MODRNA", "classHELM": "RNA", "alias": "G", "naturalAnalog": "Gua", "naturalAnalogShort": "G", "attachmentPoints": [ { - "attachmentAtom": 32, - "leavingGroup": { - "atoms": [ - 5 - ] - } + "attachmentAtom": 20 }, { - "attachmentAtom": 12, - "leavingGroup": { - "atoms": [ - 6 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -2044,29 +2005,20 @@ } ] }, - "monomerTemplate-C_4": { + "monomerTemplate-Cyt_3": { "type": "monomerTemplate", - "class": "RNA", + "id": "Cyt_3", + "class": "MODRNA", "classHELM": "RNA", "alias": "C", "naturalAnalog": "Cyt", "naturalAnalogShort": "C", "attachmentPoints": [ { - "attachmentAtom": 52, - "leavingGroup": { - "atoms": [ - 10 - ] - } + "attachmentAtom": 17 }, { - "attachmentAtom": 35, - "leavingGroup": { - "atoms": [ - 11 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -2409,28 +2361,19 @@ } ] }, - "monomerTemplate-dabA_5": { + "monomerTemplate-dabA_4": { "type": "monomerTemplate", - "class": "RNA", + "id": "dabA_4", + "class": "MODRNA", "classHELM": "RNA", - "alias": "dabA", + "alias": "dabA_4", "naturalAnalog": "dabA", "attachmentPoints": [ { - "attachmentAtom": 66, - "leavingGroup": { - "atoms": [ - 7 - ] - } + "attachmentAtom": 9 }, { - "attachmentAtom": 57, - "leavingGroup": { - "atoms": [ - 8 - ] - } + "attachmentAtom": 0 } ], "atoms": [ @@ -2844,28 +2787,19 @@ } ] }, - "monomerTemplate-5fU_6": { + "monomerTemplate-5fU_5": { "type": "monomerTemplate", - "class": "RNA", + "id": "5fU_5", + "class": "MODRNA", "classHELM": "RNA", - "alias": "5fU", + "alias": "5fU_5", "naturalAnalog": "5fU", "attachmentPoints": [ { - "attachmentAtom": 89, - "leavingGroup": { - "atoms": [ - 2 - ] - } + "attachmentAtom": 8 }, { - "attachmentAtom": 81, - "leavingGroup": { - "atoms": [ - 3 - ] - } + "attachmentAtom": 0 } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/thymine.ket b/api/tests/integration/tests/formats/ref/thymine.ket index de0d2fd5aa..9dd34f3697 100644 --- a/api/tests/integration/tests/formats/ref/thymine.ket +++ b/api/tests/integration/tests/formats/ref/thymine.ket @@ -16,20 +16,10 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 10, - "leavingGroup": { - "atoms": [ - 21 - ] - } - }, - { - "attachmentAtom": 0, - "leavingGroup": { - "atoms": [ - 22 - ] - } + "attachmentAtom": 10 + }, + { + "attachmentAtom": 0 } ], "atoms": [ diff --git a/core/indigo-core/molecule/base_molecule.h b/core/indigo-core/molecule/base_molecule.h index 9cc8dfdaf8..875a8b7e92 100644 --- a/core/indigo-core/molecule/base_molecule.h +++ b/core/indigo-core/molecule/base_molecule.h @@ -202,6 +202,7 @@ namespace indigo int transformSCSRtoFullCTAB(); int transformFullCTABtoSCSR(ObjArray& templates); int transformHELMtoSGroups(Array& helm_class, Array& name, Array& code, Array& natreplace, StringPool& r_names); + void transformSuperatomsToTemplates(); virtual bool isRSite(int atom_idx) = 0; virtual dword getRSiteBits(int atom_idx) = 0; diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 44149cd8f9..aa67de0c9e 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -196,7 +196,6 @@ namespace indigo void saveEndpoint(BaseMolecule& mol, const std::string& ep, int beg_idx, int end_idx, JsonWriter& writer); int getMonomerNumber(int mon_idx); void collectTemplates(BaseMolecule& mol); - void collectSCSRSuperAtoms(BaseMolecule& mol); void saveAtoms(BaseMolecule& mol, JsonWriter& writer); void saveBonds(BaseMolecule& mol, JsonWriter& writer); @@ -230,9 +229,6 @@ namespace indigo std::unordered_map> _templates; std::unordered_map, std::string, pair_int_hash> _monomer_connections; std::map _monomers_enum; - std::unordered_map _scsr_atom_superatoms; - std::map _scsr_superatoms; - Array _scsr_orphaned_atoms; private: MoleculeJsonSaver(const MoleculeJsonSaver&); // no implicit copy diff --git a/core/indigo-core/molecule/molfile_loader.h b/core/indigo-core/molecule/molfile_loader.h index e9f32e87eb..18a31df478 100644 --- a/core/indigo-core/molecule/molfile_loader.h +++ b/core/indigo-core/molecule/molfile_loader.h @@ -121,6 +121,7 @@ namespace indigo void _readSGroup3000(const char* str); void _readRGroups3000(); void _readTGroups3000(); + void _collectSCSRSuperAtoms(); void _readSGroupDisplay(Scanner& scanner, DataSGroup& dsg); void _readCollectionBlock3000(); void _readSGroupsBlock3000(); @@ -145,6 +146,7 @@ namespace indigo QueryMolecule* _qmol; std::unordered_map _scsr_atom_superatoms; std::map _scsr_superatoms; + Array _scsr_orphaned_atoms; private: MolfileLoader(const MolfileLoader&); // no implicit copy diff --git a/core/indigo-core/molecule/monomer_commons.h b/core/indigo-core/molecule/monomer_commons.h index 58a5bc3df6..f6ef3cb617 100644 --- a/core/indigo-core/molecule/monomer_commons.h +++ b/core/indigo-core/molecule/monomer_commons.h @@ -10,26 +10,42 @@ namespace indigo { const int kStdMonomerDef = 3; + // amino acids const std::string kMonomerClassAA = "AA"; const std::string kMonomerClassdAA = "dAA"; + const std::string kMonomerClassMODAA = "MODAA"; + const std::string kMonomerClassMODDAA = "MODdAA"; + const std::string kMonomerClassXLINKAA = "XLINKAA"; + const std::string kMonomerClassXLINKDAA = "XLINKdAA"; + const std::string kMonomerClassAminoAcid = "AminoAcid"; + const std::string kMonomerClassDAminoAcid = "D-AminoAcid"; + const std::string kMonomerClassPEPTIDE = "PEPTIDE"; + + // nucleic classes const std::string kMonomerClassDNA = "DNA"; const std::string kMonomerClassRNA = "RNA"; - const std::string kMonomerClassPEPTIDE = "PEPTIDE"; - const std::string kMonomerClassCHEM = "CHEM"; + const std::string kMonomerClassMODDNA = "MODDNA"; + const std::string kMonomerClassMODRNA = "MODRNA"; + const std::string kMonomerClassXLINKDNA = "XLINKDNA"; + const std::string kMonomerClassXLINKRNA = "XLINKRNA"; + const std::string kMonomerClassCHEM = "CHEM"; const std::string kMonomerClassSUGAR = "SUGAR"; const std::string kMonomerClassBASE = "BASE"; const std::string kMonomerClassPHOSPHATE = "PHOSPHATE"; - const std::string kMonomerClassAminoAcid = "AminoAcid"; - const std::string kMonomerClassDAminoAcid = "D-AminoAcid"; + const std::string kMonomerClassMOD = "MOD"; const std::string kMonomerClassXLINK = "XLINK"; const std::string kPrefix_d("d"); const std::string kPrefix_r("r"); - const std::unordered_set kNucleicClasses = {kMonomerClassDNA, kMonomerClassRNA, kMonomerClassSUGAR, kMonomerClassBASE, kMonomerClassPHOSPHATE}; - const std::unordered_set kAminoClasses = {kMonomerClassAA, kMonomerClassdAA, kMonomerClassAminoAcid, kMonomerClassDAminoAcid}; + const std::unordered_set kNucleicClasses = {kMonomerClassDNA, kMonomerClassRNA, kMonomerClassMODRNA, + kMonomerClassMODDNA, kMonomerClassXLINKRNA, kMonomerClassXLINKDNA, + kMonomerClassSUGAR, kMonomerClassBASE, kMonomerClassPHOSPHATE}; + + const std::unordered_set kAminoClasses = {kMonomerClassAA, kMonomerClassdAA, kMonomerClassAminoAcid, kMonomerClassDAminoAcid, + kMonomerClassMODAA, kMonomerClassMODDAA, kMonomerClassXLINKAA, kMonomerClassXLINKDAA}; inline bool isNucleicClass(const std::string& monomer_class) { diff --git a/core/indigo-core/molecule/src/base_molecule.cpp b/core/indigo-core/molecule/src/base_molecule.cpp index 480df3cade..0e7d101cc1 100644 --- a/core/indigo-core/molecule/src/base_molecule.cpp +++ b/core/indigo-core/molecule/src/base_molecule.cpp @@ -27,6 +27,7 @@ #include "molecule/molecule_exact_matcher.h" #include "molecule/molecule_exact_substructure_matcher.h" #include "molecule/molecule_substructure_matcher.h" +#include "molecule/monomer_commons.h" #include "molecule/query_molecule.h" #include "molecule/smiles_loader.h" @@ -3114,6 +3115,9 @@ int BaseMolecule::_transformSGroupToTGroup(int sg_idx, int& tg_idx) return -1; Superatom& su = (Superatom&)sgroups.getSGroup(sg_idx); + // TODO: special handling needed for LGRP + if (su.sa_class.size() && std::string(su.sa_class.ptr()) == "LGRP") + return -1; ap_points_atoms.clear(); ap_points_ids.clear(); @@ -3172,9 +3176,7 @@ int BaseMolecule::_transformSGroupToTGroup(int sg_idx, int& tg_idx) } if (su.sa_class.size() == 0) - return -1; - else if (strncmp(su.sa_class.ptr(), "AA", 2) != 0) - return -1; + su.sa_class.appendString(kMonomerClassCHEM.c_str(), true); tg_idx = this->tgroups.addTGroup(); TGroup& tg = this->tgroups.getTGroup(tg_idx); @@ -4081,6 +4083,16 @@ int BaseMolecule::bondCode(int edge_idx) return getBondOrder(edge_idx); } +void BaseMolecule::transformSuperatomsToTemplates() +{ + int tg_idx; + for (auto sg_idx = sgroups.begin(); sg_idx != sgroups.end(); sg_idx = sgroups.next(sg_idx)) + { + if (sgroups.getSGroup(sg_idx).sgroup_type == SGroup::SG_TYPE_SUP) + _transformSGroupToTGroup(sg_idx, tg_idx); + } +} + int BaseMolecule::transformHELMtoSGroups(Array& helm_class, Array& name, Array& code, Array& natreplace, StringPool& r_names) { QS_DEF(Array, sg_atoms); diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index 27c38aece1..b7fae73a43 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1394,55 +1394,6 @@ void MoleculeJsonSaver::collectTemplates(BaseMolecule& mol) } } -void MoleculeJsonSaver::collectSCSRSuperAtoms(BaseMolecule& mol) -{ - _scsr_atom_superatoms.clear(); - _scsr_orphaned_atoms.clear(); - int super_idx = 0; - for (int i = mol.sgroups.begin(); i != mol.sgroups.end(); i = mol.sgroups.next(i)) - { - SGroup& sgroup = mol.sgroups.getSGroup(i); - if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) - { - auto& sa = (Superatom&)sgroup; - // superatoms originated from SCSR-templates always has a seqid - if (sa.seqid) - { - _scsr_superatoms.emplace(i, super_idx++); - for (auto atom_idx : sa.atoms) - _scsr_atom_superatoms.emplace(atom_idx, i); - } - } - else - { - if (sgroup.sgroup_type == SGroup::SG_TYPE_DAT) - { - auto& dsg = (DataSGroup&)sgroup; - if (dsg.parent_idx > -1 && std::string(dsg.name.ptr()) == "SMMX:class" && dsg.sa_natreplace.size()) - { - SGroup& sgroup = mol.sgroups.getSGroup(dsg.parent_idx); - if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) - { - auto& sa = (Superatom&)sgroup; - if (sa.sa_natreplace.size() == 0) - sa.sa_natreplace.copy(dsg.sa_natreplace); - if (sa.sa_class.size() == 0 && sa.sa_natreplace.size()) - { - auto sa_class = split(sa.sa_natreplace.ptr(), '/').front(); - sa.sa_class.appendString(sa_class.c_str(), true); - } - } - } - } - } - } - - for (int atom_idx = mol.vertexBegin(); atom_idx != mol.vertexEnd(); atom_idx = mol.vertexNext(atom_idx)) - { - if ( !mol.isTemplateAtom(atom_idx) && _scsr_atom_superatoms.find(atom_idx) == _scsr_atom_superatoms.end()) - _scsr_orphaned_atoms.push( atom_idx ); - } -} int MoleculeJsonSaver::getMonomerNumber(int mon_idx) { @@ -1463,25 +1414,6 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i writer.Key("monomerId"); writer.String((std::string("monomer") + std::to_string(getMonomerNumber(beg_idx))).c_str()); } - else - { - auto sa_it = _scsr_atom_superatoms.find(beg_idx); // find corresponding superAtom - if (sa_it != _scsr_atom_superatoms.end()) - { - auto sa_num_it = _scsr_superatoms.find(sa_it->second); - if (sa_num_it != _scsr_superatoms.end()) - { - writer.Key("monomerId"); - writer.String((std::string("monomer") + std::to_string(_monomers_enum.size() + sa_num_it->second)).c_str()); - } - else - { - printf("No connection for superatom %d\n", sa_it->second); - } - } - // else - // throw Error("No connection for atom index %d\n", beg_idx); - } // find connection auto conn_it = _monomer_connections.find(std::make_pair(beg_idx, end_idx)); @@ -1491,7 +1423,7 @@ void MoleculeJsonSaver::saveEndpoint(BaseMolecule& mol, const std::string& ep, i writer.String(convertAPToHELM(conn_it->second).c_str()); } // else - // throw Error("no attachment point\n"); + // throw Error("no attachment point"); writer.EndObject(); } @@ -1516,16 +1448,6 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) writer.String(mol_node.c_str()); writer.EndObject(); } - else if (_scsr_orphaned_atoms.size()) - { - // TODO: handle orphaned atoms - /* - writer.StartObject(); - writer.Key("$ref"); - std::string mol_node = std::string("mol0"); - writer.String(mol_node.c_str()); - writer.EndObject();*/ - } saveMetaData(writer, mol.meta()); @@ -1560,14 +1482,6 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) } } - for (const auto& kvp : _scsr_superatoms) - { - writer.StartObject(); - writer.Key("$ref"); - writer.String((std::string("monomer") + std::to_string(mon_idx + kvp.second)).c_str()); - writer.EndObject(); - } - writer.EndArray(); // nodes if (mol.tgroups.getTGroupCount()) @@ -1580,30 +1494,14 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) _monomer_connections.emplace(std::make_pair(sap.ap_occur_idx, sap.ap_aidx), sap.ap_id.ptr()); } - for (const auto& kvp : _scsr_superatoms) - { - auto& sa = (Superatom&)mol.sgroups.getSGroup(kvp.first); - for (auto i = sa.attachment_points.begin(); i != sa.attachment_points.end(); i = sa.attachment_points.next(i)) - { - auto& sap = sa.attachment_points.at(i); - _monomer_connections.emplace(std::make_pair(sap.aidx, sap.lvidx), sap.apid.ptr()); - } - } - // save connections writer.Key("connections"); writer.StartArray(); for (auto i : mol.edges()) { auto& e = mol.getEdge(i); - // save connections between templates or superatoms - - // check superatom's connection - auto sa_beg_it = _scsr_atom_superatoms.find(e.beg); - auto sa_end_it = _scsr_atom_superatoms.find(e.end); - bool sa_connection = sa_beg_it != _scsr_atom_superatoms.end() && sa_end_it != _scsr_atom_superatoms.end() && sa_beg_it->second != sa_end_it->second; - - if (mol.isTemplateAtom(e.beg) || mol.isTemplateAtom(e.end) || sa_connection) + // save connections between templates + if (mol.isTemplateAtom(e.beg) && mol.isTemplateAtom(e.end) ) { writer.StartObject(); writer.Key("connectionType"); @@ -1628,19 +1526,6 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) writer.EndObject(); } - for (const auto& kvp : _scsr_superatoms) - { - auto& sa = (Superatom&)mol.sgroups.getSGroup(kvp.first); - auto template_name = std::string("monomerTemplate-"); - if (sa.subscript.size()) - template_name += sa.subscript.ptr(); - template_name += std::string("_") + std::to_string(mol.tgroups.getTGroupCount() + kvp.second); - writer.StartObject(); - writer.Key("$ref"); - writer.String(template_name.c_str()); - writer.EndObject(); - } - writer.EndArray(); // templates } writer.EndObject(); // root @@ -1663,8 +1548,6 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) BaseMolecule::collapse(*mol); collectTemplates(*mol); - if (mol->tgroups.getTGroupCount()) - collectSCSRSuperAtoms(*mol); saveRoot(*mol, writer); // save monomers @@ -1710,42 +1593,6 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) } } - for (const auto& kvp : _scsr_superatoms) - { - int mon_id = _monomers_enum.size() + kvp.second; - writer.Key((std::string("monomer") + std::to_string(mon_id)).c_str()); - writer.StartObject(); - writer.Key("type"); - writer.String("monomer"); - writer.Key("id"); - writer.String(std::to_string(mon_id).c_str()); - auto& sa = (Superatom&)mol->sgroups.getSGroup(kvp.first); - if (sa.seqid > 0) - { - writer.Key("seqid"); - writer.Int(sa.seqid); - } - Vec2f sa_pos; - mol->getSGroupAtomsCenterPoint(sa, sa_pos); - writer.Key("position"); - writer.StartObject(); - writer.Key("x"); - writer.Double(sa_pos.x); - writer.Key("y"); - writer.Double(sa_pos.y); - writer.EndObject(); // position - writer.Key("alias"); - writer.String(sa.subscript.ptr()); - writer.Key("templateId"); - - std::string template_name; - if (sa.subscript.size()) - template_name += sa.subscript.ptr(); - template_name += std::string("_") + std::to_string(mol->tgroups.getTGroupCount() + kvp.second); - writer.String(template_name.c_str()); - writer.EndObject(); // monomer - } - // save templates for (int i = mol->tgroups.begin(); i != mol->tgroups.end(); i = mol->tgroups.next(i)) { @@ -1753,9 +1600,6 @@ void MoleculeJsonSaver::saveMolecule(BaseMolecule& bmol, JsonWriter& writer) saveMonomerTemplate(tg, writer); } - for (const auto& kvp : _scsr_superatoms) - saveSuperAtomAsTemplate(*mol, kvp.first, mol->tgroups.getTGroupCount() + kvp.second, writer); - // save molecules for (int idx = 0; idx < mol->countComponents(_s_neighbors); idx++) { diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index 652240fc88..983f7b5752 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -27,6 +27,8 @@ #include "molecule/molfile_loader.h" #include "molecule/query_molecule.h" #include "molecule/smiles_loader.h" +#include "molecule/parse_utils.h" +#include "molecule/monomer_commons.h" #define STRCMP(a, b) strncmp((a), (b), strlen(b)) @@ -1917,6 +1919,19 @@ void MolfileLoader::_postLoad() if (sgroup.sgroup_type == SGroup::SG_TYPE_DAT) { DataSGroup& dsg = static_cast(sgroup); + if (dsg.parent_idx > -1 && std::string(dsg.name.ptr()) == "SMMX:class") + { + SGroup& sgroup = _bmol->sgroups.getSGroup(dsg.parent_idx); + if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) + { + auto& sa = (Superatom&)sgroup; + if (sa.sa_natreplace.size() == 0) + sa.sa_natreplace.copy(dsg.sa_natreplace); + if (sa.sa_class.size() == 0) + sa.sa_class.copy(dsg.data); + } + } + if (dsg.isMrv_implicit()) { BufferScanner scanner(dsg.data); @@ -2071,13 +2086,37 @@ void MolfileLoader::_postLoad() _bmol->have_xyz = true; MoleculeCIPCalculator cip; cip.convertSGroupsToCIP(*_bmol); - if (_bmol->tgroups.getTGroupCount()) - _convertSuperatomsToTemplates(); + if (_bmol->tgroups.getTGroupCount() && _bmol->sgroups.getSGroupCount()) + _bmol->transformSuperatomsToTemplates(); } void MolfileLoader::_convertSuperatomsToTemplates() { - + for (const auto& kvp : _scsr_superatoms) + { + Superatom& sa = (Superatom&)_bmol->sgroups.getSGroup(kvp.first); + std::unordered_set sg_atoms(sa.atoms.ptr(), sa.atoms.ptr() + sa.atoms.size()); + Array map_out; + int tg_idx = _bmol->tgroups.addTGroup(); + TGroup& tgroup = _bmol->tgroups.getTGroup(tg_idx); + tgroup.tgroup_id = tg_idx; + tgroup.fragment.reset(_bmol->neu()); + tgroup.fragment->makeSubmolecule(*_bmol, sa.atoms, &map_out); + tgroup.fragment->clearSGroups(); + + if (sa.subscript.size()) + tgroup.tgroup_alias.copy(sa.subscript); + + if (sa.sa_class.ptr()) + tgroup.tgroup_class.copy( sa.sa_class ); + + if (sa.sa_natreplace.size()) + tgroup.tgroup_natreplace.copy(sa.sa_natreplace); + auto ta_idx = _bmol->addVertex(); + _bmol->isTemplateAtom(ta_idx); + + auto seqid = sa.seqid; + } } void MolfileLoader::_readRGroups2000() @@ -2088,7 +2127,6 @@ void MolfileLoader::_readRGroups2000() while (!_scanner.isEOF()) { char chars[5]; - chars[4] = 0; _scanner.readCharsFix(4, chars); @@ -3602,6 +3640,57 @@ void MolfileLoader::_readSGroup3000(const char* str) } } +void MolfileLoader::_collectSCSRSuperAtoms() +{ + _scsr_atom_superatoms.clear(); + _scsr_orphaned_atoms.clear(); + int super_idx = 0; + for (int i = _bmol->sgroups.begin(); i != _bmol->sgroups.end(); i = _bmol->sgroups.next(i)) + { + SGroup& sgroup = _bmol->sgroups.getSGroup(i); + if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) + { + auto& sa = (Superatom&)sgroup; + // superatoms originated from SCSR-templates always has a seqid + if (sa.seqid) + { + _scsr_superatoms.emplace(i, super_idx++); + for (auto atom_idx : sa.atoms) + _scsr_atom_superatoms.emplace(atom_idx, i); + } + } + else + { + if (sgroup.sgroup_type == SGroup::SG_TYPE_DAT) + { + auto& dsg = (DataSGroup&)sgroup; + if (dsg.parent_idx > -1 && std::string(dsg.name.ptr()) == "SMMX:class" && dsg.sa_natreplace.size()) + { + SGroup& sgroup = _bmol->sgroups.getSGroup(dsg.parent_idx); + if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) + { + auto& sa = (Superatom&)sgroup; + if (sa.sa_natreplace.size() == 0) + sa.sa_natreplace.copy(dsg.sa_natreplace); + if (sa.sa_class.size() == 0 && sa.sa_natreplace.size()) + { + auto sa_class = split(sa.sa_natreplace.ptr(), '/').front(); + sa.sa_class.appendString(sa_class.c_str(), true); + } + } + } + } + } + } + + for (int atom_idx = _bmol->vertexBegin(); atom_idx != _bmol->vertexEnd(); atom_idx = _bmol->vertexNext(atom_idx)) + { + if (!_bmol->isTemplateAtom(atom_idx) && _scsr_atom_superatoms.find(atom_idx) == _scsr_atom_superatoms.end()) + _scsr_orphaned_atoms.push(atom_idx); + } +} + + void MolfileLoader::_readTGroups3000() { QS_DEF(Array, str); From bec35868abec4b55e618a1583974c8b1ae2657f1 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 10:43:08 +0100 Subject: [PATCH 19/27] molv3000-fix --- .../molecule/molecule_json_saver.h | 1 - .../molecule/src/molecule_json_saver.cpp | 76 +------------------ 2 files changed, 3 insertions(+), 74 deletions(-) diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index aa67de0c9e..174144f5fb 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -207,7 +207,6 @@ namespace indigo void saveSGroups(BaseMolecule& mol, JsonWriter& writer); void saveSGroup(SGroup& sgroup, JsonWriter& writer); - void saveSuperAtomAsTemplate(BaseMolecule& mol, int sa_index, int template_number, JsonWriter& writer); void saveAttachmentPoint(BaseMolecule& mol, int atom_idx, JsonWriter& writer); void saveStereoCenter(BaseMolecule& mol, int atom_idx, JsonWriter& writer); diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index b7fae73a43..d44911ce2c 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1138,75 +1138,6 @@ std::string MoleculeJsonSaver::monomerAlias(const TGroup& tg) return alias; } -void MoleculeJsonSaver::saveSuperAtomAsTemplate(BaseMolecule& mol, int sa_index, int template_number, JsonWriter& writer) -{ - Superatom& sa = (Superatom&)mol.sgroups.getSGroup(sa_index); - Array map_out; - std::unique_ptr sub_mol(mol.neu()); - sub_mol->makeSubmolecule(mol, sa.atoms, &map_out); - sub_mol->clearSGroups(); - auto template_name = std::string("monomerTemplate-"); - std::string template_id; - std::string alias; - if (sa.subscript.size()) - { - template_id += sa.subscript.ptr(); - alias = sa.subscript.ptr(); - } - template_id += std::string("_") + std::to_string(template_number); - template_name += template_id; - writer.Key(template_name.c_str()); - writer.StartObject(); - writer.Key("type"); - writer.String("monomerTemplate"); - - // determine template class - std::string template_class; - if (sa.sa_class.ptr()) - template_class = sa.sa_class.ptr(); - - auto temp_it = _templates.find(sa.subscript.ptr()); - if (temp_it != _templates.end()) - { - auto& tg = temp_it->second.get(); - if (template_class.empty() && tg.tgroup_class.size()) - template_class = tg.tgroup_class.ptr(); - if (alias.empty()) - alias = monomerAlias(tg); - } - - // if failed to determine the class, fallback to CHEM - if (template_class.empty()) - template_class = "CHEM"; - - writer.Key("class"); - writer.String(monomerKETClass(template_class).c_str()); - writer.Key("classHELM"); - writer.String(monomerHELMClass(template_class).c_str()); - if (alias.size()) - { - writer.Key("alias"); - writer.String(alias.c_str()); - } - - if (sa.sa_natreplace.size()) - { - auto analog = naturalAnalog(sa.sa_natreplace.ptr()); - writer.Key("naturalAnalog"); - writer.String(analog.c_str()); - auto nat_alias = monomerAliasByName(template_class, analog); - if (nat_alias.size() < analog.size()) - { - writer.Key("naturalAnalogShort"); - writer.String(nat_alias.c_str()); - } - } - - saveSuperatomAttachmentPoints(sa, map_out, writer); - saveFragment(*sub_mol, writer); - writer.EndObject(); // monomer template -} - void MoleculeJsonSaver::saveMonomerTemplate(TGroup& tg, JsonWriter& writer) { std::string template_name("monomerTemplate-"); @@ -1301,9 +1232,9 @@ void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, Array& writer.StartArray(); writer.Int(atp.lvidx); writer.EndArray(); - writer.EndObject(); //leavingGroup + writer.EndObject(); // leavingGroup } - writer.EndObject(); //attachmentAtom + writer.EndObject(); // attachmentAtom } writer.EndArray(); } @@ -1394,7 +1325,6 @@ void MoleculeJsonSaver::collectTemplates(BaseMolecule& mol) } } - int MoleculeJsonSaver::getMonomerNumber(int mon_idx) { auto mon_it = _monomers_enum.find(mon_idx); @@ -1501,7 +1431,7 @@ void MoleculeJsonSaver::saveRoot(BaseMolecule& mol, JsonWriter& writer) { auto& e = mol.getEdge(i); // save connections between templates - if (mol.isTemplateAtom(e.beg) && mol.isTemplateAtom(e.end) ) + if (mol.isTemplateAtom(e.beg) && mol.isTemplateAtom(e.end)) { writer.StartObject(); writer.Key("connectionType"); From cb13f1af3afd3519937170e5e31b87d6516e556b Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 10:49:44 +0100 Subject: [PATCH 20/27] molv3000-fix --- core/indigo-core/molecule/src/molecule_json_loader.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/indigo-core/molecule/src/molecule_json_loader.cpp b/core/indigo-core/molecule/src/molecule_json_loader.cpp index 592274793a..f510c5e8c6 100644 --- a/core/indigo-core/molecule/src/molecule_json_loader.cpp +++ b/core/indigo-core/molecule/src/molecule_json_loader.cpp @@ -1,5 +1,3 @@ -#include "molecule/molecule_json_loader.h" - #include #include #include @@ -10,6 +8,7 @@ #include "molecule/elements.h" #include "molecule/ket_commons.h" #include "molecule/molecule.h" +#include "molecule/molecule_json_loader.h" #include "molecule/molecule_sgroups.h" #include "molecule/monomer_commons.h" #include "molecule/query_molecule.h" From 13c9002b6e147e219082775553bdb7b0f22a4aa4 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 10:54:02 +0100 Subject: [PATCH 21/27] molv3000-fix --- core/indigo-core/molecule/src/molfile_loader.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index 983f7b5752..d000b54d8e 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -25,10 +25,10 @@ #include "molecule/molecule_3d_constraints.h" #include "molecule/molecule_stereocenters.h" #include "molecule/molfile_loader.h" +#include "molecule/monomer_commons.h" +#include "molecule/parse_utils.h" #include "molecule/query_molecule.h" #include "molecule/smiles_loader.h" -#include "molecule/parse_utils.h" -#include "molecule/monomer_commons.h" #define STRCMP(a, b) strncmp((a), (b), strlen(b)) @@ -2108,7 +2108,7 @@ void MolfileLoader::_convertSuperatomsToTemplates() tgroup.tgroup_alias.copy(sa.subscript); if (sa.sa_class.ptr()) - tgroup.tgroup_class.copy( sa.sa_class ); + tgroup.tgroup_class.copy(sa.sa_class); if (sa.sa_natreplace.size()) tgroup.tgroup_natreplace.copy(sa.sa_natreplace); @@ -3690,7 +3690,6 @@ void MolfileLoader::_collectSCSRSuperAtoms() } } - void MolfileLoader::_readTGroups3000() { QS_DEF(Array, str); From b46b092a650c347f1085f347685002800f8b3ca5 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 11:19:16 +0100 Subject: [PATCH 22/27] molv3000-fix --- .../integration/tests/formats/ref/chem.ket | 21 +- .../tests/formats/ref/conjugate.ket | 238 ++++++++++++-- .../tests/formats/ref/cysteine.ket | 29 +- .../tests/formats/ref/dcysteine.ket | 29 +- .../integration/tests/formats/ref/dna_mod.ket | 56 +++- .../tests/formats/ref/dthymine.ket | 18 +- .../integration/tests/formats/ref/fmoc.ket | 294 +++++++++++++++--- .../integration/tests/formats/ref/pepchem.ket | 273 +++++++++++++--- .../integration/tests/formats/ref/rna_mod.ket | 42 ++- .../integration/tests/formats/ref/thymine.ket | 18 +- .../molecule/molecule_json_saver.h | 2 +- .../molecule/src/molecule_json_saver.cpp | 10 +- 12 files changed, 869 insertions(+), 161 deletions(-) diff --git a/api/tests/integration/tests/formats/ref/chem.ket b/api/tests/integration/tests/formats/ref/chem.ket index bccf27c47b..d49be98620 100644 --- a/api/tests/integration/tests/formats/ref/chem.ket +++ b/api/tests/integration/tests/formats/ref/chem.ket @@ -18,17 +18,32 @@ { "type": "right", "label": "R2", - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { "type": "side", "label": "R3", - "attachmentAtom": 6 + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { "type": "side", "label": "R5", - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 0 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/conjugate.ket b/api/tests/integration/tests/formats/ref/conjugate.ket index d6ce54526c..d6e1dbaa76 100644 --- a/api/tests/integration/tests/formats/ref/conjugate.ket +++ b/api/tests/integration/tests/formats/ref/conjugate.ket @@ -1127,10 +1127,20 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 20 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 21 + ] + } } ], "atoms": [ @@ -1489,10 +1499,20 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 22 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 23 + ] + } } ], "atoms": [ @@ -1888,10 +1908,20 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 19 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 20 + ] + } } ], "atoms": [ @@ -2235,10 +2265,20 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 21 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 22 + ] + } } ], "atoms": [ @@ -2619,13 +2659,28 @@ "alias": "D", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -2801,10 +2856,20 @@ "alias": "F", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 12 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } } ], "atoms": [ @@ -3017,10 +3082,20 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 5 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + } } ], "atoms": [ @@ -3119,13 +3194,28 @@ "alias": "H", "attachmentPoints": [ { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { - "attachmentAtom": 12 + "attachmentAtom": 12, + "leavingGroup": { + "atoms": [ + 10 + ] + } } ], "atoms": [ @@ -3338,10 +3428,20 @@ "alias": "I", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -3504,13 +3604,28 @@ "alias": "K", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 10 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } } ], "atoms": [ @@ -3701,13 +3816,28 @@ "alias": "U", "attachmentPoints": [ { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 7 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 6 + ] + } } ], "atoms": [ @@ -3853,10 +3983,20 @@ "alias": "V", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -4002,13 +4142,28 @@ "alias": "E", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 6 + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -4199,13 +4354,28 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { - "attachmentAtom": 6 + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 0 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/cysteine.ket b/api/tests/integration/tests/formats/ref/cysteine.ket index dfc6e85727..a102a5a252 100644 --- a/api/tests/integration/tests/formats/ref/cysteine.ket +++ b/api/tests/integration/tests/formats/ref/cysteine.ket @@ -16,13 +16,28 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 8 - }, - { - "attachmentAtom": 6 - }, - { - "attachmentAtom": 3 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 0 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/dcysteine.ket b/api/tests/integration/tests/formats/ref/dcysteine.ket index 0f5423148b..14a178e0b9 100644 --- a/api/tests/integration/tests/formats/ref/dcysteine.ket +++ b/api/tests/integration/tests/formats/ref/dcysteine.ket @@ -18,13 +18,28 @@ "naturalAnalogShort": "C", "attachmentPoints": [ { - "attachmentAtom": 8 - }, - { - "attachmentAtom": 6 - }, - { - "attachmentAtom": 3 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 0 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/dna_mod.ket b/api/tests/integration/tests/formats/ref/dna_mod.ket index 50c9be9c8c..847154afa2 100644 --- a/api/tests/integration/tests/formats/ref/dna_mod.ket +++ b/api/tests/integration/tests/formats/ref/dna_mod.ket @@ -576,10 +576,20 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 20 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 21 + ] + } } ], "atoms": [ @@ -938,10 +948,20 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 22 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 23 + ] + } } ], "atoms": [ @@ -1337,10 +1357,20 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 19 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 20 + ] + } } ], "atoms": [ @@ -1684,10 +1714,20 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 21 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 22 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/dthymine.ket b/api/tests/integration/tests/formats/ref/dthymine.ket index 8cb11e551c..124dae7cda 100644 --- a/api/tests/integration/tests/formats/ref/dthymine.ket +++ b/api/tests/integration/tests/formats/ref/dthymine.ket @@ -16,10 +16,20 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 9 - }, - { - "attachmentAtom": 0 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 20 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 21 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/fmoc.ket b/api/tests/integration/tests/formats/ref/fmoc.ket index 1bd34e767d..55dad11e7d 100644 --- a/api/tests/integration/tests/formats/ref/fmoc.ket +++ b/api/tests/integration/tests/formats/ref/fmoc.ket @@ -856,13 +856,28 @@ "alias": "H", "attachmentPoints": [ { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { - "attachmentAtom": 12 + "attachmentAtom": 12, + "leavingGroup": { + "atoms": [ + 10 + ] + } } ], "atoms": [ @@ -1075,10 +1090,20 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 2 + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 0 + ] + } } ], "atoms": [ @@ -1194,13 +1219,28 @@ "alias": "E", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 6 + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -1391,10 +1431,20 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 5 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + } } ], "atoms": [ @@ -1493,13 +1543,28 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -1662,10 +1727,20 @@ "alias": "F", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 12 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } } ], "atoms": [ @@ -1878,13 +1953,28 @@ "alias": "S", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 7 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 6 + ] + } } ], "atoms": [ @@ -2030,13 +2120,28 @@ "alias": "D", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -2212,10 +2317,20 @@ "alias": "V", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -2361,13 +2476,28 @@ "alias": "Y", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 13 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 14 + ] + } }, { - "attachmentAtom": 11 + "attachmentAtom": 11, + "leavingGroup": { + "atoms": [ + 12 + ] + } } ], "atoms": [ @@ -2610,10 +2740,20 @@ "alias": "L", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -2774,13 +2914,28 @@ "alias": "Q", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 5 + ] + } }, { - "attachmentAtom": 10 + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 11 + ] + } } ], "atoms": [ @@ -2971,13 +3126,28 @@ "alias": "K", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 10 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } } ], "atoms": [ @@ -3168,10 +3338,20 @@ "alias": "I", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -3334,13 +3514,28 @@ "alias": "W", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 15 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 16 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 14 + ] + } } ], "atoms": [ @@ -3620,13 +3815,28 @@ "alias": "R", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 13 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 2 + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 12 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/pepchem.ket b/api/tests/integration/tests/formats/ref/pepchem.ket index 62ca51f5ef..a1e8a959c9 100644 --- a/api/tests/integration/tests/formats/ref/pepchem.ket +++ b/api/tests/integration/tests/formats/ref/pepchem.ket @@ -826,13 +826,28 @@ "alias": "H", "attachmentPoints": [ { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { - "attachmentAtom": 12 + "attachmentAtom": 12, + "leavingGroup": { + "atoms": [ + 10 + ] + } } ], "atoms": [ @@ -1045,10 +1060,20 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 2 + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 1 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 0 + ] + } } ], "atoms": [ @@ -1164,13 +1189,28 @@ "alias": "E", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 6 + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -1361,10 +1401,20 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 5 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + } } ], "atoms": [ @@ -1463,13 +1513,28 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -1632,10 +1697,20 @@ "alias": "F", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 12 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } } ], "atoms": [ @@ -1848,13 +1923,28 @@ "alias": "S", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 7 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 5 + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 6 + ] + } } ], "atoms": [ @@ -2000,13 +2090,28 @@ "alias": "D", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -2182,10 +2287,20 @@ "alias": "V", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 7 + ] + } } ], "atoms": [ @@ -2331,13 +2446,28 @@ "alias": "Y", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 13 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 14 + ] + } }, { - "attachmentAtom": 11 + "attachmentAtom": 11, + "leavingGroup": { + "atoms": [ + 12 + ] + } } ], "atoms": [ @@ -2580,10 +2710,20 @@ "alias": "L", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -2744,10 +2884,20 @@ "alias": "I", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } } ], "atoms": [ @@ -2910,13 +3060,28 @@ "alias": "W", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 15 + ] + } }, { - "attachmentAtom": 3 + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 16 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 14 + ] + } } ], "atoms": [ @@ -3196,13 +3361,28 @@ "alias": "R", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 13 + ] + } }, { - "attachmentAtom": 7 + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 11 + ] + } }, { - "attachmentAtom": 2 + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 12 + ] + } } ], "atoms": [ @@ -3423,13 +3603,28 @@ "alias": "Q", "attachmentPoints": [ { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 2 + ] + } }, { - "attachmentAtom": 4 + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 5 + ] + } }, { - "attachmentAtom": 10 + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 11 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/rna_mod.ket b/api/tests/integration/tests/formats/ref/rna_mod.ket index d4c66bb47a..2d7844ba8f 100644 --- a/api/tests/integration/tests/formats/ref/rna_mod.ket +++ b/api/tests/integration/tests/formats/ref/rna_mod.ket @@ -421,10 +421,20 @@ "alias": "C", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 19 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 20 + ] + } } ], "atoms": [ @@ -785,10 +795,20 @@ "alias": "G", "attachmentPoints": [ { - "attachmentAtom": 9 + "attachmentAtom": 9, + "leavingGroup": { + "atoms": [ + 22 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 23 + ] + } } ], "atoms": [ @@ -1201,10 +1221,20 @@ "alias": "A", "attachmentPoints": [ { - "attachmentAtom": 8 + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 20 + ] + } }, { - "attachmentAtom": 0 + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 21 + ] + } } ], "atoms": [ diff --git a/api/tests/integration/tests/formats/ref/thymine.ket b/api/tests/integration/tests/formats/ref/thymine.ket index 9dd34f3697..de0d2fd5aa 100644 --- a/api/tests/integration/tests/formats/ref/thymine.ket +++ b/api/tests/integration/tests/formats/ref/thymine.ket @@ -16,10 +16,20 @@ "alias": "T", "attachmentPoints": [ { - "attachmentAtom": 10 - }, - { - "attachmentAtom": 0 + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 21 + ] + } + }, + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 22 + ] + } } ], "atoms": [ diff --git a/core/indigo-core/molecule/molecule_json_saver.h b/core/indigo-core/molecule/molecule_json_saver.h index 174144f5fb..a887a0886f 100644 --- a/core/indigo-core/molecule/molecule_json_saver.h +++ b/core/indigo-core/molecule/molecule_json_saver.h @@ -203,7 +203,7 @@ namespace indigo void saveFragment(BaseMolecule& fragment, JsonWriter& writer); void saveMonomerTemplate(TGroup& tg, JsonWriter& writer); void saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer); - void saveSuperatomAttachmentPoints(Superatom& sa, Array& mapping, JsonWriter& writer); + void saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer); void saveSGroups(BaseMolecule& mol, JsonWriter& writer); void saveSGroup(SGroup& sgroup, JsonWriter& writer); diff --git a/core/indigo-core/molecule/src/molecule_json_saver.cpp b/core/indigo-core/molecule/src/molecule_json_saver.cpp index d44911ce2c..c251dbbb84 100644 --- a/core/indigo-core/molecule/src/molecule_json_saver.cpp +++ b/core/indigo-core/molecule/src/molecule_json_saver.cpp @@ -1186,7 +1186,7 @@ void MoleculeJsonSaver::saveMonomerTemplate(TGroup& tg, JsonWriter& writer) writer.EndObject(); } -void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, Array& mapping, JsonWriter& writer) +void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, JsonWriter& writer) { std::map sorted_attachment_points; if (sa.attachment_points.size()) @@ -1222,9 +1222,8 @@ void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, Array& writer.String(convertAPToHELM(atp_id_str).c_str()); } writer.Key("attachmentAtom"); - writer.Int(mapping.size() > atp.aidx ? mapping[atp.aidx] : atp.aidx); - // if lvidx is outside of sgroup then lvidx is a destination atom - if (atp.lvidx >= 0 && mapping.size() > atp.lvidx && mapping[atp.lvidx] != -1) + writer.Int(atp.aidx); + if (atp.lvidx >= 0) { writer.Key("leavingGroup"); writer.StartObject(); @@ -1243,14 +1242,13 @@ void MoleculeJsonSaver::saveSuperatomAttachmentPoints(Superatom& sa, Array& void MoleculeJsonSaver::saveMonomerAttachmentPoints(TGroup& tg, JsonWriter& writer) { - Array dummy_mapping; auto& sgroups = tg.fragment->sgroups; for (int j = sgroups.begin(); j != sgroups.end(); j = sgroups.next(j)) { SGroup& sg = sgroups.getSGroup(j); if (sg.sgroup_type == SGroup::SG_TYPE_SUP) { - saveSuperatomAttachmentPoints((Superatom&)sg, dummy_mapping, writer); + saveSuperatomAttachmentPoints((Superatom&)sg, writer); sgroups.remove(j); } } From d5d22426b5c15fc5744d655dc43961e514df1e40 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 11:25:27 +0100 Subject: [PATCH 23/27] molv3000-fix --- core/indigo-core/molecule/molfile_loader.h | 1 - .../molecule/src/molfile_loader.cpp | 50 ------------------- 2 files changed, 51 deletions(-) diff --git a/core/indigo-core/molecule/molfile_loader.h b/core/indigo-core/molecule/molfile_loader.h index 18a31df478..5558cba257 100644 --- a/core/indigo-core/molecule/molfile_loader.h +++ b/core/indigo-core/molecule/molfile_loader.h @@ -121,7 +121,6 @@ namespace indigo void _readSGroup3000(const char* str); void _readRGroups3000(); void _readTGroups3000(); - void _collectSCSRSuperAtoms(); void _readSGroupDisplay(Scanner& scanner, DataSGroup& dsg); void _readCollectionBlock3000(); void _readSGroupsBlock3000(); diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index d000b54d8e..6b5f977490 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -3640,56 +3640,6 @@ void MolfileLoader::_readSGroup3000(const char* str) } } -void MolfileLoader::_collectSCSRSuperAtoms() -{ - _scsr_atom_superatoms.clear(); - _scsr_orphaned_atoms.clear(); - int super_idx = 0; - for (int i = _bmol->sgroups.begin(); i != _bmol->sgroups.end(); i = _bmol->sgroups.next(i)) - { - SGroup& sgroup = _bmol->sgroups.getSGroup(i); - if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) - { - auto& sa = (Superatom&)sgroup; - // superatoms originated from SCSR-templates always has a seqid - if (sa.seqid) - { - _scsr_superatoms.emplace(i, super_idx++); - for (auto atom_idx : sa.atoms) - _scsr_atom_superatoms.emplace(atom_idx, i); - } - } - else - { - if (sgroup.sgroup_type == SGroup::SG_TYPE_DAT) - { - auto& dsg = (DataSGroup&)sgroup; - if (dsg.parent_idx > -1 && std::string(dsg.name.ptr()) == "SMMX:class" && dsg.sa_natreplace.size()) - { - SGroup& sgroup = _bmol->sgroups.getSGroup(dsg.parent_idx); - if (sgroup.sgroup_type == SGroup::SG_TYPE_SUP) - { - auto& sa = (Superatom&)sgroup; - if (sa.sa_natreplace.size() == 0) - sa.sa_natreplace.copy(dsg.sa_natreplace); - if (sa.sa_class.size() == 0 && sa.sa_natreplace.size()) - { - auto sa_class = split(sa.sa_natreplace.ptr(), '/').front(); - sa.sa_class.appendString(sa_class.c_str(), true); - } - } - } - } - } - } - - for (int atom_idx = _bmol->vertexBegin(); atom_idx != _bmol->vertexEnd(); atom_idx = _bmol->vertexNext(atom_idx)) - { - if (!_bmol->isTemplateAtom(atom_idx) && _scsr_atom_superatoms.find(atom_idx) == _scsr_atom_superatoms.end()) - _scsr_orphaned_atoms.push(atom_idx); - } -} - void MolfileLoader::_readTGroups3000() { QS_DEF(Array, str); From ac1b31ffa7fb53cd96e7794440682902f5193572 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 11:38:13 +0100 Subject: [PATCH 24/27] molv3000-fix --- .../integration/ref/formats/mol_to_ket.py.out | 1 + .../integration/tests/formats/mol_to_ket.py | 1 + .../tests/formats/molecules/peptides.mol | 2195 +++++++++++++++++ 3 files changed, 2197 insertions(+) create mode 100644 api/tests/integration/tests/formats/molecules/peptides.mol diff --git a/api/tests/integration/ref/formats/mol_to_ket.py.out b/api/tests/integration/ref/formats/mol_to_ket.py.out index 66b5c413ab..813167a995 100644 --- a/api/tests/integration/ref/formats/mol_to_ket.py.out +++ b/api/tests/integration/ref/formats/mol_to_ket.py.out @@ -12,6 +12,7 @@ dthymine.ket:SUCCEED fmoc.ket:SUCCEED non_atrop.ket:SUCCEED pepchem.ket:SUCCEED +peptides.ket:SUCCEED rna_mod.ket:SUCCEED suplabel.ket:SUCCEED thymine.ket:SUCCEED diff --git a/api/tests/integration/tests/formats/mol_to_ket.py b/api/tests/integration/tests/formats/mol_to_ket.py index 02a90cdb9c..151e3e7ec7 100644 --- a/api/tests/integration/tests/formats/mol_to_ket.py +++ b/api/tests/integration/tests/formats/mol_to_ket.py @@ -39,6 +39,7 @@ def find_diff(a, b): "conjugate", "dna_mod", "pepchem", + "peptides", "fmoc", ] diff --git a/api/tests/integration/tests/formats/molecules/peptides.mol b/api/tests/integration/tests/formats/molecules/peptides.mol new file mode 100644 index 0000000000..feaa254539 --- /dev/null +++ b/api/tests/integration/tests/formats/molecules/peptides.mol @@ -0,0 +1,2195 @@ + + ACCLDraw10272301442D + + 0 0 0 0 0 999 V3000 +M V30 BEGIN CTAB +M V30 COUNTS 477 476 1 0 1 +M V30 BEGIN ATOM +M V30 1 Met 1 -1 0 0 CLASS=AA ATTCHORD=(2 2 Br) SEQID=1 +M V30 2 Thr 1.9449 -1 0 0 CLASS=AA ATTCHORD=(4 1 Al 3 Br) SEQID=2 +M V30 3 Pro 2.8898 -1 0 0 CLASS=AA ATTCHORD=(4 2 Al 4 Br) SEQID=3 +M V30 4 Glu 3.8346 -1 0 0 CLASS=AA ATTCHORD=(4 5 Br 3 Al) SEQID=4 +M V30 5 Asp 4.7795 -1 0 0 CLASS=AA ATTCHORD=(4 4 Al 6 Br) SEQID=5 +M V30 6 Pro 5.7244 -1 0 0 CLASS=AA ATTCHORD=(4 5 Al 7 Br) SEQID=6 +M V30 7 Glu 6.6693 -1 0 0 CLASS=AA ATTCHORD=(4 8 Br 6 Al) SEQID=7 +M V30 8 Glu 7.6142 -1 0 0 CLASS=AA ATTCHORD=(4 9 Br 7 Al) SEQID=8 +M V30 9 Thr 8.5591 -1 0 0 CLASS=AA ATTCHORD=(4 8 Al 10 Br) SEQID=9 +M V30 10 Gln 9.5039 -1 0 0 CLASS=AA ATTCHORD=(4 9 Al 11 Br) SEQID=10 +M V30 11 Pro 11.3937 -1 0 0 CLASS=AA ATTCHORD=(4 10 Al 12 Br) SEQID=11 +M V30 12 Leu 12.3386 -1 0 0 CLASS=AA ATTCHORD=(4 13 Br 11 Al) SEQID=12 +M V30 13 Leu 13.2835 -1 0 0 CLASS=AA ATTCHORD=(4 14 Br 12 Al) SEQID=13 +M V30 14 Gly 14.2283 -1 0 0 CLASS=AA ATTCHORD=(4 15 Br 13 Al) SEQID=14 +M V30 15 Pro 15.1732 -1 0 0 CLASS=AA ATTCHORD=(4 14 Al 16 Br) SEQID=15 +M V30 16 Pro 16.1181 -1 0 0 CLASS=AA ATTCHORD=(4 15 Al 17 Br) SEQID=16 +M V30 17 Gly 17.063 -1 0 0 CLASS=AA ATTCHORD=(4 18 Br 16 Al) SEQID=17 +M V30 18 Gly 18.0079 -1 0 0 CLASS=AA ATTCHORD=(4 19 Br 17 Al) SEQID=18 +M V30 19 Ser 18.9528 -1 0 0 CLASS=AA ATTCHORD=(4 18 Al 20 Br) SEQID=19 +M V30 20 Ala 19.8976 -1 0 0 CLASS=AA ATTCHORD=(4 19 Al 21 Br) SEQID=20 +M V30 21 Pro 21.7874 -1 0 0 CLASS=AA ATTCHORD=(4 20 Al 22 Br) SEQID=21 +M V30 22 Arg 22.7323 -1 0 0 CLASS=AA ATTCHORD=(4 23 Br 21 Al) SEQID=22 +M V30 23 Gly 23.6772 -1 0 0 CLASS=AA ATTCHORD=(4 24 Br 22 Al) SEQID=23 +M V30 24 Arg 24.622 -1 0 0 CLASS=AA ATTCHORD=(4 25 Br 23 Al) SEQID=24 +M V30 25 Arg 25.5669 -1 0 0 CLASS=AA ATTCHORD=(4 26 Br 24 Al) SEQID=25 +M V30 26 Val 26.5118 -1 0 0 CLASS=AA ATTCHORD=(4 27 Br 25 Al) SEQID=26 +M V30 27 Phe 27.4567 -1 0 0 CLASS=AA ATTCHORD=(4 28 Br 26 Al) SEQID=27 +M V30 28 Leu 28.4016 -1 0 0 CLASS=AA ATTCHORD=(4 29 Br 27 Al) SEQID=28 +M V30 29 Ala 29.3465 -1 0 0 CLASS=AA ATTCHORD=(4 28 Al 30 Br) SEQID=29 +M V30 30 Ala 30.2913 -1 0 0 CLASS=AA ATTCHORD=(4 29 Al 31 Br) SEQID=30 +M V30 31 Phe 32.1811 -1 0 0 CLASS=AA ATTCHORD=(4 32 Br 30 Al) SEQID=31 +M V30 32 Ala 33.126 -1 0 0 CLASS=AA ATTCHORD=(4 31 Al 33 Br) SEQID=32 +M V30 33 Ala 34.0709 -1 0 0 CLASS=AA ATTCHORD=(4 32 Al 34 Br) SEQID=33 +M V30 34 Ala 35.0157 -1 0 0 CLASS=AA ATTCHORD=(4 33 Al 35 Br) SEQID=34 +M V30 35 Leu 35.9606 -1 0 0 CLASS=AA ATTCHORD=(4 36 Br 34 Al) SEQID=35 +M V30 36 Gly 36.9055 -1 0 0 CLASS=AA ATTCHORD=(4 37 Br 35 Al) SEQID=36 +M V30 37 Pro 37.8504 -1 0 0 CLASS=AA ATTCHORD=(4 36 Al 38 Br) SEQID=37 +M V30 38 Leu 38.7953 -1 0 0 CLASS=AA ATTCHORD=(4 39 Br 37 Al) SEQID=38 +M V30 39 Ser 39.7402 -1 0 0 CLASS=AA ATTCHORD=(4 38 Al 40 Br) SEQID=39 +M V30 40 Phe 40.685 -1 0 0 CLASS=AA ATTCHORD=(4 41 Br 39 Al) SEQID=40 +M V30 41 Gly 1 -1.9449 0 0 CLASS=AA ATTCHORD=(4 42 Br 40 Al) SEQID=41 +M V30 42 Phe 1.9449 -1.9449 0 0 CLASS=AA ATTCHORD=(4 43 Br 41 Al) SEQID=42 +M V30 43 Ala 2.8898 -1.9449 0 0 CLASS=AA ATTCHORD=(4 42 Al 44 Br) SEQID=43 +M V30 44 Leu 3.8346 -1.9449 0 0 CLASS=AA ATTCHORD=(4 45 Br 43 Al) SEQID=44 +M V30 45 Gly 4.7795 -1.9449 0 0 CLASS=AA ATTCHORD=(4 46 Br 44 Al) SEQID=45 +M V30 46 Tyr 5.7244 -1.9449 0 0 CLASS=AA ATTCHORD=(4 45 Al 47 Br) SEQID=46 +M V30 47 Ser 6.6693 -1.9449 0 0 CLASS=AA ATTCHORD=(4 46 Al 48 Br) SEQID=47 +M V30 48 Ser 7.6142 -1.9449 0 0 CLASS=AA ATTCHORD=(4 47 Al 49 Br) SEQID=48 +M V30 49 Pro 8.5591 -1.9449 0 0 CLASS=AA ATTCHORD=(4 48 Al 50 Br) SEQID=49 +M V30 50 Ala 9.5039 -1.9449 0 0 CLASS=AA ATTCHORD=(4 49 Al 51 Br) SEQID=50 +M V30 51 Ile 11.3937 -1.9449 0 0 CLASS=AA ATTCHORD=(4 52 Br 50 Al) SEQID=51 +M V30 52 Pro 12.3386 -1.9449 0 0 CLASS=AA ATTCHORD=(4 51 Al 53 Br) SEQID=52 +M V30 53 Ser 13.2835 -1.9449 0 0 CLASS=AA ATTCHORD=(4 52 Al 54 Br) SEQID=53 +M V30 54 Leu 14.2283 -1.9449 0 0 CLASS=AA ATTCHORD=(4 55 Br 53 Al) SEQID=54 +M V30 55 Gln 15.1732 -1.9449 0 0 CLASS=AA ATTCHORD=(4 54 Al 56 Br) SEQID=55 +M V30 56 Arg 16.1181 -1.9449 0 0 CLASS=AA ATTCHORD=(4 57 Br 55 Al) SEQID=56 +M V30 57 Ala 17.063 -1.9449 0 0 CLASS=AA ATTCHORD=(4 56 Al 58 Br) SEQID=57 +M V30 58 Ala 18.0079 -1.9449 0 0 CLASS=AA ATTCHORD=(4 57 Al 59 Br) SEQID=58 +M V30 59 Pro 18.9528 -1.9449 0 0 CLASS=AA ATTCHORD=(4 58 Al 60 Br) SEQID=59 +M V30 60 Pro 19.8976 -1.9449 0 0 CLASS=AA ATTCHORD=(4 59 Al 61 Br) SEQID=60 +M V30 61 Ala 21.7874 -1.9449 0 0 CLASS=AA ATTCHORD=(4 60 Al 62 Br) SEQID=61 +M V30 62 Pro 22.7323 -1.9449 0 0 CLASS=AA ATTCHORD=(4 61 Al 63 Br) SEQID=62 +M V30 63 Arg 23.6772 -1.9449 0 0 CLASS=AA ATTCHORD=(4 64 Br 62 Al) SEQID=63 +M V30 64 Leu 24.622 -1.9449 0 0 CLASS=AA ATTCHORD=(4 65 Br 63 Al) SEQID=64 +M V30 65 Asp 25.5669 -1.9449 0 0 CLASS=AA ATTCHORD=(4 64 Al 66 Br) SEQID=65 +M V30 66 Asp 26.5118 -1.9449 0 0 CLASS=AA ATTCHORD=(4 65 Al 67 Br) SEQID=66 +M V30 67 Ala 27.4567 -1.9449 0 0 CLASS=AA ATTCHORD=(4 66 Al 68 Br) SEQID=67 +M V30 68 Ala 28.4016 -1.9449 0 0 CLASS=AA ATTCHORD=(4 67 Al 69 Br) SEQID=68 +M V30 69 Ala 29.3465 -1.9449 0 0 CLASS=AA ATTCHORD=(4 68 Al 70 Br) SEQID=69 +M V30 70 Ser 30.2913 -1.9449 0 0 CLASS=AA ATTCHORD=(4 69 Al 71 Br) SEQID=70 +M V30 71 Trp 32.1811 -1.9449 0 0 CLASS=AA ATTCHORD=(4 70 Al 72 Br) SEQID=71 +M V30 72 Phe 33.126 -1.9449 0 0 CLASS=AA ATTCHORD=(4 73 Br 71 Al) SEQID=72 +M V30 73 Gly 34.0709 -1.9449 0 0 CLASS=AA ATTCHORD=(4 74 Br 72 Al) SEQID=73 +M V30 74 Ala 35.0157 -1.9449 0 0 CLASS=AA ATTCHORD=(4 73 Al 75 Br) SEQID=74 +M V30 75 Val 35.9606 -1.9449 0 0 CLASS=AA ATTCHORD=(4 76 Br 74 Al) SEQID=75 +M V30 76 Val 36.9055 -1.9449 0 0 CLASS=AA ATTCHORD=(4 77 Br 75 Al) SEQID=76 +M V30 77 Thr 37.8504 -1.9449 0 0 CLASS=AA ATTCHORD=(4 76 Al 78 Br) SEQID=77 +M V30 78 Leu 38.7953 -1.9449 0 0 CLASS=AA ATTCHORD=(4 79 Br 77 Al) SEQID=78 +M V30 79 Gly 39.7402 -1.9449 0 0 CLASS=AA ATTCHORD=(4 80 Br 78 Al) SEQID=79 +M V30 80 Ala 40.685 -1.9449 0 0 CLASS=AA ATTCHORD=(4 79 Al 81 Br) SEQID=80 +M V30 81 Ala 1 -2.8898 0 0 CLASS=AA ATTCHORD=(4 80 Al 82 Br) SEQID=81 +M V30 82 Ala 1.9449 -2.8898 0 0 CLASS=AA ATTCHORD=(4 81 Al 83 Br) SEQID=82 +M V30 83 Gly 2.8898 -2.8898 0 0 CLASS=AA ATTCHORD=(4 84 Br 82 Al) SEQID=83 +M V30 84 Gly 3.8346 -2.8898 0 0 CLASS=AA ATTCHORD=(4 85 Br 83 Al) SEQID=84 +M V30 85 Val 4.7795 -2.8898 0 0 CLASS=AA ATTCHORD=(4 86 Br 84 Al) SEQID=85 +M V30 86 Leu 5.7244 -2.8898 0 0 CLASS=AA ATTCHORD=(4 87 Br 85 Al) SEQID=86 +M V30 87 Gly 6.6693 -2.8898 0 0 CLASS=AA ATTCHORD=(4 88 Br 86 Al) SEQID=87 +M V30 88 Gly 7.6142 -2.8898 0 0 CLASS=AA ATTCHORD=(4 89 Br 87 Al) SEQID=88 +M V30 89 Trp 8.5591 -2.8898 0 0 CLASS=AA ATTCHORD=(4 88 Al 90 Br) SEQID=89 +M V30 90 Leu 9.5039 -2.8898 0 0 CLASS=AA ATTCHORD=(4 91 Br 89 Al) SEQID=90 +M V30 91 Val 11.3937 -2.8898 0 0 CLASS=AA ATTCHORD=(4 92 Br 90 Al) SEQID=91 +M V30 92 Asp 12.3386 -2.8898 0 0 CLASS=AA ATTCHORD=(4 91 Al 93 Br) SEQID=92 +M V30 93 Arg 13.2835 -2.8898 0 0 CLASS=AA ATTCHORD=(4 94 Br 92 Al) SEQID=93 +M V30 94 Ala 14.2283 -2.8898 0 0 CLASS=AA ATTCHORD=(4 93 Al 95 Br) SEQID=94 +M V30 95 Gly 15.1732 -2.8898 0 0 CLASS=AA ATTCHORD=(4 96 Br 94 Al) SEQID=95 +M V30 96 Arg 16.1181 -2.8898 0 0 CLASS=AA ATTCHORD=(4 97 Br 95 Al) SEQID=96 +M V30 97 Lys 17.063 -2.8898 0 0 CLASS=AA ATTCHORD=(4 96 Al 98 Br) SEQID=97 +M V30 98 Leu 18.0079 -2.8898 0 0 CLASS=AA ATTCHORD=(4 99 Br 97 Al) SEQID=98 +M V30 99 Ser 18.9528 -2.8898 0 0 CLASS=AA ATTCHORD=(4 98 Al 100 Br) SEQID=99 +M V30 100 Leu 19.8976 -2.8898 0 0 CLASS=AA ATTCHORD=(4 101 Br 99 Al) - +M V30 SEQID=100 +M V30 101 Leu 21.7874 -2.8898 0 0 CLASS=AA ATTCHORD=(4 102 Br 100 Al) - +M V30 SEQID=101 +M V30 102 Leu 22.7323 -2.8898 0 0 CLASS=AA ATTCHORD=(4 477 Br 101 Al) - +M V30 SEQID=102 +M V30 103 Ser 24.622 -2.8898 0 0 CLASS=AA ATTCHORD=(4 477 Al 104 Br) - +M V30 SEQID=104 +M V30 104 Val 25.5669 -2.8898 0 0 CLASS=AA ATTCHORD=(4 105 Br 103 Al) - +M V30 SEQID=105 +M V30 105 Pro 26.5118 -2.8898 0 0 CLASS=AA ATTCHORD=(4 104 Al 106 Br) - +M V30 SEQID=106 +M V30 106 Phe 27.4567 -2.8898 0 0 CLASS=AA ATTCHORD=(4 107 Br 105 Al) - +M V30 SEQID=107 +M V30 107 Val 28.4016 -2.8898 0 0 CLASS=AA ATTCHORD=(4 108 Br 106 Al) - +M V30 SEQID=108 +M V30 108 Ala 29.3465 -2.8898 0 0 CLASS=AA ATTCHORD=(4 107 Al 109 Br) - +M V30 SEQID=109 +M V30 109 Gly 30.2913 -2.8898 0 0 CLASS=AA ATTCHORD=(4 110 Br 108 Al) - +M V30 SEQID=110 +M V30 110 Phe 32.1811 -2.8898 0 0 CLASS=AA ATTCHORD=(4 111 Br 109 Al) - +M V30 SEQID=111 +M V30 111 Ala 33.126 -2.8898 0 0 CLASS=AA ATTCHORD=(4 110 Al 112 Br) - +M V30 SEQID=112 +M V30 112 Val 34.0709 -2.8898 0 0 CLASS=AA ATTCHORD=(4 113 Br 111 Al) - +M V30 SEQID=113 +M V30 113 Ile 35.0157 -2.8898 0 0 CLASS=AA ATTCHORD=(4 114 Br 112 Al) - +M V30 SEQID=114 +M V30 114 Thr 35.9606 -2.8898 0 0 CLASS=AA ATTCHORD=(4 113 Al 115 Br) - +M V30 SEQID=115 +M V30 115 Ala 36.9055 -2.8898 0 0 CLASS=AA ATTCHORD=(4 114 Al 116 Br) - +M V30 SEQID=116 +M V30 116 Ala 37.8504 -2.8898 0 0 CLASS=AA ATTCHORD=(4 115 Al 117 Br) - +M V30 SEQID=117 +M V30 117 Gln 38.7953 -2.8898 0 0 CLASS=AA ATTCHORD=(4 116 Al 118 Br) - +M V30 SEQID=118 +M V30 118 Asp 39.7402 -2.8898 0 0 CLASS=AA ATTCHORD=(4 117 Al 119 Br) - +M V30 SEQID=119 +M V30 119 Val 40.685 -2.8898 0 0 CLASS=AA ATTCHORD=(4 120 Br 118 Al) - +M V30 SEQID=120 +M V30 120 Trp 1 -3.8346 0 0 CLASS=AA ATTCHORD=(4 119 Al 121 Br) SEQID=121 +M V30 121 Met 1.9449 -3.8346 0 0 CLASS=AA ATTCHORD=(4 122 Br 120 Al) - +M V30 SEQID=122 +M V30 122 Leu 2.8898 -3.8346 0 0 CLASS=AA ATTCHORD=(4 123 Br 121 Al) - +M V30 SEQID=123 +M V30 123 Leu 3.8346 -3.8346 0 0 CLASS=AA ATTCHORD=(4 124 Br 122 Al) - +M V30 SEQID=124 +M V30 124 Gly 4.7795 -3.8346 0 0 CLASS=AA ATTCHORD=(4 125 Br 123 Al) - +M V30 SEQID=125 +M V30 125 Gly 5.7244 -3.8346 0 0 CLASS=AA ATTCHORD=(4 126 Br 124 Al) - +M V30 SEQID=126 +M V30 126 Arg 6.6693 -3.8346 0 0 CLASS=AA ATTCHORD=(4 127 Br 125 Al) - +M V30 SEQID=127 +M V30 127 Leu 7.6142 -3.8346 0 0 CLASS=AA ATTCHORD=(4 128 Br 126 Al) - +M V30 SEQID=128 +M V30 128 Leu 8.5591 -3.8346 0 0 CLASS=AA ATTCHORD=(4 129 Br 127 Al) - +M V30 SEQID=129 +M V30 129 Thr 9.5039 -3.8346 0 0 CLASS=AA ATTCHORD=(4 128 Al 130 Br) - +M V30 SEQID=130 +M V30 130 Gly 11.3937 -3.8346 0 0 CLASS=AA ATTCHORD=(4 131 Br 129 Al) - +M V30 SEQID=131 +M V30 131 Leu 12.3386 -3.8346 0 0 CLASS=AA ATTCHORD=(4 132 Br 130 Al) - +M V30 SEQID=132 +M V30 132 Ala 13.2835 -3.8346 0 0 CLASS=AA ATTCHORD=(4 131 Al 476 Br) - +M V30 SEQID=133 +M V30 133 Gly 15.1732 -3.8346 0 0 CLASS=AA ATTCHORD=(4 134 Br 476 Al) - +M V30 SEQID=135 +M V30 134 Val 16.1181 -3.8346 0 0 CLASS=AA ATTCHORD=(4 135 Br 133 Al) - +M V30 SEQID=136 +M V30 135 Ala 17.063 -3.8346 0 0 CLASS=AA ATTCHORD=(4 134 Al 136 Br) - +M V30 SEQID=137 +M V30 136 Ser 18.0079 -3.8346 0 0 CLASS=AA ATTCHORD=(4 135 Al 137 Br) - +M V30 SEQID=138 +M V30 137 Leu 18.9528 -3.8346 0 0 CLASS=AA ATTCHORD=(4 138 Br 136 Al) - +M V30 SEQID=139 +M V30 138 Val 19.8976 -3.8346 0 0 CLASS=AA ATTCHORD=(4 139 Br 137 Al) - +M V30 SEQID=140 +M V30 139 Ala 21.7874 -3.8346 0 0 CLASS=AA ATTCHORD=(4 138 Al 140 Br) - +M V30 SEQID=141 +M V30 140 Pro 22.7323 -3.8346 0 0 CLASS=AA ATTCHORD=(4 139 Al 141 Br) - +M V30 SEQID=142 +M V30 141 Val 23.6772 -3.8346 0 0 CLASS=AA ATTCHORD=(4 142 Br 140 Al) - +M V30 SEQID=143 +M V30 142 Tyr 24.622 -3.8346 0 0 CLASS=AA ATTCHORD=(4 141 Al 143 Br) - +M V30 SEQID=144 +M V30 143 Ile 25.5669 -3.8346 0 0 CLASS=AA ATTCHORD=(4 144 Br 142 Al) - +M V30 SEQID=145 +M V30 144 Ser 26.5118 -3.8346 0 0 CLASS=AA ATTCHORD=(4 143 Al 145 Br) - +M V30 SEQID=146 +M V30 145 Glu 27.4567 -3.8346 0 0 CLASS=AA ATTCHORD=(4 146 Br 144 Al) - +M V30 SEQID=147 +M V30 146 Ile 28.4016 -3.8346 0 0 CLASS=AA ATTCHORD=(4 147 Br 145 Al) - +M V30 SEQID=148 +M V30 147 Ala 29.3465 -3.8346 0 0 CLASS=AA ATTCHORD=(4 146 Al 148 Br) - +M V30 SEQID=149 +M V30 148 Tyr 30.2913 -3.8346 0 0 CLASS=AA ATTCHORD=(4 147 Al 149 Br) - +M V30 SEQID=150 +M V30 149 Pro 32.1811 -3.8346 0 0 CLASS=AA ATTCHORD=(4 148 Al 150 Br) - +M V30 SEQID=151 +M V30 150 Ala 33.126 -3.8346 0 0 CLASS=AA ATTCHORD=(4 149 Al 151 Br) - +M V30 SEQID=152 +M V30 151 Val 34.0709 -3.8346 0 0 CLASS=AA ATTCHORD=(4 152 Br 150 Al) - +M V30 SEQID=153 +M V30 152 Arg 35.0157 -3.8346 0 0 CLASS=AA ATTCHORD=(4 153 Br 151 Al) - +M V30 SEQID=154 +M V30 153 Gly 35.9606 -3.8346 0 0 CLASS=AA ATTCHORD=(4 154 Br 152 Al) - +M V30 SEQID=155 +M V30 154 Leu 36.9055 -3.8346 0 0 CLASS=AA ATTCHORD=(4 155 Br 153 Al) - +M V30 SEQID=156 +M V30 155 Leu 37.8504 -3.8346 0 0 CLASS=AA ATTCHORD=(4 156 Br 154 Al) - +M V30 SEQID=157 +M V30 156 Gly 38.7953 -3.8346 0 0 CLASS=AA ATTCHORD=(4 157 Br 155 Al) - +M V30 SEQID=158 +M V30 157 Ser 39.7402 -3.8346 0 0 CLASS=AA ATTCHORD=(4 156 Al 475 Br) - +M V30 SEQID=159 +M V30 158 Val 1 -4.7795 0 0 CLASS=AA ATTCHORD=(4 159 Br 475 Al) SEQID=161 +M V30 159 Gln 1.9449 -4.7795 0 0 CLASS=AA ATTCHORD=(4 158 Al 160 Br) - +M V30 SEQID=162 +M V30 160 Leu 2.8898 -4.7795 0 0 CLASS=AA ATTCHORD=(4 161 Br 159 Al) - +M V30 SEQID=163 +M V30 161 Met 3.8346 -4.7795 0 0 CLASS=AA ATTCHORD=(4 162 Br 160 Al) - +M V30 SEQID=164 +M V30 162 Val 4.7795 -4.7795 0 0 CLASS=AA ATTCHORD=(4 163 Br 161 Al) - +M V30 SEQID=165 +M V30 163 Val 5.7244 -4.7795 0 0 CLASS=AA ATTCHORD=(4 164 Br 162 Al) - +M V30 SEQID=166 +M V30 164 Val 6.6693 -4.7795 0 0 CLASS=AA ATTCHORD=(4 165 Br 163 Al) - +M V30 SEQID=167 +M V30 165 Gly 7.6142 -4.7795 0 0 CLASS=AA ATTCHORD=(4 166 Br 164 Al) - +M V30 SEQID=168 +M V30 166 Ile 8.5591 -4.7795 0 0 CLASS=AA ATTCHORD=(4 167 Br 165 Al) - +M V30 SEQID=169 +M V30 167 Leu 9.5039 -4.7795 0 0 CLASS=AA ATTCHORD=(4 168 Br 166 Al) - +M V30 SEQID=170 +M V30 168 Leu 11.3937 -4.7795 0 0 CLASS=AA ATTCHORD=(4 169 Br 167 Al) - +M V30 SEQID=171 +M V30 169 Ala 12.3386 -4.7795 0 0 CLASS=AA ATTCHORD=(4 168 Al 170 Br) - +M V30 SEQID=172 +M V30 170 Tyr 13.2835 -4.7795 0 0 CLASS=AA ATTCHORD=(4 169 Al 171 Br) - +M V30 SEQID=173 +M V30 171 Leu 14.2283 -4.7795 0 0 CLASS=AA ATTCHORD=(4 172 Br 170 Al) - +M V30 SEQID=174 +M V30 172 Ala 15.1732 -4.7795 0 0 CLASS=AA ATTCHORD=(4 171 Al 173 Br) - +M V30 SEQID=175 +M V30 173 Gly 16.1181 -4.7795 0 0 CLASS=AA ATTCHORD=(4 174 Br 172 Al) - +M V30 SEQID=176 +M V30 174 Trp 17.063 -4.7795 0 0 CLASS=AA ATTCHORD=(4 173 Al 175 Br) - +M V30 SEQID=177 +M V30 175 Val 18.0079 -4.7795 0 0 CLASS=AA ATTCHORD=(4 176 Br 174 Al) - +M V30 SEQID=178 +M V30 176 Leu 18.9528 -4.7795 0 0 CLASS=AA ATTCHORD=(4 177 Br 175 Al) - +M V30 SEQID=179 +M V30 177 Glu 19.8976 -4.7795 0 0 CLASS=AA ATTCHORD=(4 178 Br 176 Al) - +M V30 SEQID=180 +M V30 178 Trp 21.7874 -4.7795 0 0 CLASS=AA ATTCHORD=(4 177 Al 179 Br) - +M V30 SEQID=181 +M V30 179 Arg 22.7323 -4.7795 0 0 CLASS=AA ATTCHORD=(4 180 Br 178 Al) - +M V30 SEQID=182 +M V30 180 Trp 23.6772 -4.7795 0 0 CLASS=AA ATTCHORD=(4 179 Al 181 Br) - +M V30 SEQID=183 +M V30 181 Leu 24.622 -4.7795 0 0 CLASS=AA ATTCHORD=(4 182 Br 180 Al) - +M V30 SEQID=184 +M V30 182 Ala 25.5669 -4.7795 0 0 CLASS=AA ATTCHORD=(4 181 Al 183 Br) - +M V30 SEQID=185 +M V30 183 Val 26.5118 -4.7795 0 0 CLASS=AA ATTCHORD=(4 184 Br 182 Al) - +M V30 SEQID=186 +M V30 184 Leu 27.4567 -4.7795 0 0 CLASS=AA ATTCHORD=(4 185 Br 183 Al) - +M V30 SEQID=187 +M V30 185 Gly 28.4016 -4.7795 0 0 CLASS=AA ATTCHORD=(4 474 Br 184 Al) - +M V30 SEQID=188 +M V30 186 Val 30.2913 -4.7795 0 0 CLASS=AA ATTCHORD=(4 187 Br 474 Al) - +M V30 SEQID=190 +M V30 187 Pro 32.1811 -4.7795 0 0 CLASS=AA ATTCHORD=(4 186 Al 188 Br) - +M V30 SEQID=191 +M V30 188 Pro 33.126 -4.7795 0 0 CLASS=AA ATTCHORD=(4 187 Al 189 Br) - +M V30 SEQID=192 +M V30 189 Ser 34.0709 -4.7795 0 0 CLASS=AA ATTCHORD=(4 188 Al 190 Br) - +M V30 SEQID=193 +M V30 190 Leu 35.0157 -4.7795 0 0 CLASS=AA ATTCHORD=(4 191 Br 189 Al) - +M V30 SEQID=194 +M V30 191 Met 35.9606 -4.7795 0 0 CLASS=AA ATTCHORD=(4 192 Br 190 Al) - +M V30 SEQID=195 +M V30 192 Leu 36.9055 -4.7795 0 0 CLASS=AA ATTCHORD=(4 193 Br 191 Al) - +M V30 SEQID=196 +M V30 193 Leu 37.8504 -4.7795 0 0 CLASS=AA ATTCHORD=(4 194 Br 192 Al) - +M V30 SEQID=197 +M V30 194 Leu 38.7953 -4.7795 0 0 CLASS=AA ATTCHORD=(4 195 Br 193 Al) - +M V30 SEQID=198 +M V30 195 Met 39.7402 -4.7795 0 0 CLASS=AA ATTCHORD=(4 473 Br 194 Al) - +M V30 SEQID=199 +M V30 196 Phe 1 -5.7244 0 0 CLASS=AA ATTCHORD=(4 197 Br 473 Al) SEQID=201 +M V30 197 Met 1.9449 -5.7244 0 0 CLASS=AA ATTCHORD=(4 198 Br 196 Al) - +M V30 SEQID=202 +M V30 198 Pro 2.8898 -5.7244 0 0 CLASS=AA ATTCHORD=(4 197 Al 199 Br) - +M V30 SEQID=203 +M V30 199 Glu 3.8346 -5.7244 0 0 CLASS=AA ATTCHORD=(4 200 Br 198 Al) - +M V30 SEQID=204 +M V30 200 Thr 4.7795 -5.7244 0 0 CLASS=AA ATTCHORD=(4 199 Al 201 Br) - +M V30 SEQID=205 +M V30 201 Pro 5.7244 -5.7244 0 0 CLASS=AA ATTCHORD=(4 200 Al 202 Br) - +M V30 SEQID=206 +M V30 202 Arg 6.6693 -5.7244 0 0 CLASS=AA ATTCHORD=(4 203 Br 201 Al) - +M V30 SEQID=207 +M V30 203 Phe 7.6142 -5.7244 0 0 CLASS=AA ATTCHORD=(4 204 Br 202 Al) - +M V30 SEQID=208 +M V30 204 Leu 8.5591 -5.7244 0 0 CLASS=AA ATTCHORD=(4 205 Br 203 Al) - +M V30 SEQID=209 +M V30 205 Leu 9.5039 -5.7244 0 0 CLASS=AA ATTCHORD=(4 206 Br 204 Al) - +M V30 SEQID=210 +M V30 206 Thr 11.3937 -5.7244 0 0 CLASS=AA ATTCHORD=(4 205 Al 207 Br) - +M V30 SEQID=211 +M V30 207 Gln 12.3386 -5.7244 0 0 CLASS=AA ATTCHORD=(4 206 Al 208 Br) - +M V30 SEQID=212 +M V30 208 His 13.2835 -5.7244 0 0 CLASS=AA ATTCHORD=(4 207 Al 209 Br) - +M V30 SEQID=213 +M V30 209 Arg 14.2283 -5.7244 0 0 CLASS=AA ATTCHORD=(4 210 Br 208 Al) - +M V30 SEQID=214 +M V30 210 Arg 15.1732 -5.7244 0 0 CLASS=AA ATTCHORD=(4 211 Br 209 Al) - +M V30 SEQID=215 +M V30 211 Gln 16.1181 -5.7244 0 0 CLASS=AA ATTCHORD=(4 210 Al 212 Br) - +M V30 SEQID=216 +M V30 212 Glu 17.063 -5.7244 0 0 CLASS=AA ATTCHORD=(4 213 Br 211 Al) - +M V30 SEQID=217 +M V30 213 Ala 18.0079 -5.7244 0 0 CLASS=AA ATTCHORD=(4 212 Al 214 Br) - +M V30 SEQID=218 +M V30 214 Met 18.9528 -5.7244 0 0 CLASS=AA ATTCHORD=(4 215 Br 213 Al) - +M V30 SEQID=219 +M V30 215 Ala 19.8976 -5.7244 0 0 CLASS=AA ATTCHORD=(4 214 Al 216 Br) - +M V30 SEQID=220 +M V30 216 Ala 21.7874 -5.7244 0 0 CLASS=AA ATTCHORD=(4 215 Al 217 Br) - +M V30 SEQID=221 +M V30 217 Leu 22.7323 -5.7244 0 0 CLASS=AA ATTCHORD=(4 218 Br 216 Al) - +M V30 SEQID=222 +M V30 218 Arg 23.6772 -5.7244 0 0 CLASS=AA ATTCHORD=(4 219 Br 217 Al) - +M V30 SEQID=223 +M V30 219 Phe 24.622 -5.7244 0 0 CLASS=AA ATTCHORD=(4 220 Br 218 Al) - +M V30 SEQID=224 +M V30 220 Leu 25.5669 -5.7244 0 0 CLASS=AA ATTCHORD=(4 221 Br 219 Al) - +M V30 SEQID=225 +M V30 221 Trp 26.5118 -5.7244 0 0 CLASS=AA ATTCHORD=(4 220 Al 222 Br) - +M V30 SEQID=226 +M V30 222 Gly 27.4567 -5.7244 0 0 CLASS=AA ATTCHORD=(4 223 Br 221 Al) - +M V30 SEQID=227 +M V30 223 Ser 28.4016 -5.7244 0 0 CLASS=AA ATTCHORD=(4 222 Al 224 Br) - +M V30 SEQID=228 +M V30 224 Glu 29.3465 -5.7244 0 0 CLASS=AA ATTCHORD=(4 225 Br 223 Al) - +M V30 SEQID=229 +M V30 225 Gln 30.2913 -5.7244 0 0 CLASS=AA ATTCHORD=(4 224 Al 226 Br) - +M V30 SEQID=230 +M V30 226 Gly 32.1811 -5.7244 0 0 CLASS=AA ATTCHORD=(4 227 Br 225 Al) - +M V30 SEQID=231 +M V30 227 Trp 33.126 -5.7244 0 0 CLASS=AA ATTCHORD=(4 226 Al 228 Br) - +M V30 SEQID=232 +M V30 228 Glu 34.0709 -5.7244 0 0 CLASS=AA ATTCHORD=(4 229 Br 227 Al) - +M V30 SEQID=233 +M V30 229 Asp 35.0157 -5.7244 0 0 CLASS=AA ATTCHORD=(4 228 Al 230 Br) - +M V30 SEQID=234 +M V30 230 Pro 35.9606 -5.7244 0 0 CLASS=AA ATTCHORD=(4 229 Al 231 Br) - +M V30 SEQID=235 +M V30 231 Pro 36.9055 -5.7244 0 0 CLASS=AA ATTCHORD=(4 230 Al 232 Br) - +M V30 SEQID=236 +M V30 232 Ile 37.8504 -5.7244 0 0 CLASS=AA ATTCHORD=(4 233 Br 231 Al) - +M V30 SEQID=237 +M V30 233 Gly 38.7953 -5.7244 0 0 CLASS=AA ATTCHORD=(4 234 Br 232 Al) - +M V30 SEQID=238 +M V30 234 Ala 39.7402 -5.7244 0 0 CLASS=AA ATTCHORD=(4 233 Al 235 Br) - +M V30 SEQID=239 +M V30 235 Glu 40.685 -5.7244 0 0 CLASS=AA ATTCHORD=(4 236 Br 234 Al) - +M V30 SEQID=240 +M V30 236 Gln 1 -6.6693 0 0 CLASS=AA ATTCHORD=(4 235 Al 237 Br) SEQID=241 +M V30 237 Ser 1.9449 -6.6693 0 0 CLASS=AA ATTCHORD=(4 236 Al 238 Br) - +M V30 SEQID=242 +M V30 238 Phe 2.8898 -6.6693 0 0 CLASS=AA ATTCHORD=(4 239 Br 237 Al) - +M V30 SEQID=243 +M V30 239 His 3.8346 -6.6693 0 0 CLASS=AA ATTCHORD=(4 238 Al 240 Br) - +M V30 SEQID=244 +M V30 240 Leu 4.7795 -6.6693 0 0 CLASS=AA ATTCHORD=(4 241 Br 239 Al) - +M V30 SEQID=245 +M V30 241 Ala 5.7244 -6.6693 0 0 CLASS=AA ATTCHORD=(4 240 Al 242 Br) - +M V30 SEQID=246 +M V30 242 Leu 6.6693 -6.6693 0 0 CLASS=AA ATTCHORD=(4 243 Br 241 Al) - +M V30 SEQID=247 +M V30 243 Leu 7.6142 -6.6693 0 0 CLASS=AA ATTCHORD=(4 244 Br 242 Al) - +M V30 SEQID=248 +M V30 244 Arg 8.5591 -6.6693 0 0 CLASS=AA ATTCHORD=(4 245 Br 243 Al) - +M V30 SEQID=249 +M V30 245 Gln 9.5039 -6.6693 0 0 CLASS=AA ATTCHORD=(4 244 Al 246 Br) - +M V30 SEQID=250 +M V30 246 Pro 11.3937 -6.6693 0 0 CLASS=AA ATTCHORD=(4 245 Al 247 Br) - +M V30 SEQID=251 +M V30 247 Gly 12.3386 -6.6693 0 0 CLASS=AA ATTCHORD=(4 248 Br 246 Al) - +M V30 SEQID=252 +M V30 248 Ile 13.2835 -6.6693 0 0 CLASS=AA ATTCHORD=(4 249 Br 247 Al) - +M V30 SEQID=253 +M V30 249 Tyr 14.2283 -6.6693 0 0 CLASS=AA ATTCHORD=(4 248 Al 250 Br) - +M V30 SEQID=254 +M V30 250 Lys 15.1732 -6.6693 0 0 CLASS=AA ATTCHORD=(4 249 Al 251 Br) - +M V30 SEQID=255 +M V30 251 Pro 16.1181 -6.6693 0 0 CLASS=AA ATTCHORD=(4 250 Al 252 Br) - +M V30 SEQID=256 +M V30 252 Phe 17.063 -6.6693 0 0 CLASS=AA ATTCHORD=(4 253 Br 251 Al) - +M V30 SEQID=257 +M V30 253 Ile 18.0079 -6.6693 0 0 CLASS=AA ATTCHORD=(4 254 Br 252 Al) - +M V30 SEQID=258 +M V30 254 Ile 18.9528 -6.6693 0 0 CLASS=AA ATTCHORD=(4 255 Br 253 Al) - +M V30 SEQID=259 +M V30 255 Gly 19.8976 -6.6693 0 0 CLASS=AA ATTCHORD=(4 256 Br 254 Al) - +M V30 SEQID=260 +M V30 256 Val 21.7874 -6.6693 0 0 CLASS=AA ATTCHORD=(4 257 Br 255 Al) - +M V30 SEQID=261 +M V30 257 Ser 22.7323 -6.6693 0 0 CLASS=AA ATTCHORD=(4 256 Al 258 Br) - +M V30 SEQID=262 +M V30 258 Leu 23.6772 -6.6693 0 0 CLASS=AA ATTCHORD=(4 259 Br 257 Al) - +M V30 SEQID=263 +M V30 259 Met 24.622 -6.6693 0 0 CLASS=AA ATTCHORD=(4 260 Br 258 Al) - +M V30 SEQID=264 +M V30 260 Ala 25.5669 -6.6693 0 0 CLASS=AA ATTCHORD=(4 259 Al 261 Br) - +M V30 SEQID=265 +M V30 261 Phe 26.5118 -6.6693 0 0 CLASS=AA ATTCHORD=(4 262 Br 260 Al) - +M V30 SEQID=266 +M V30 262 Gln 27.4567 -6.6693 0 0 CLASS=AA ATTCHORD=(4 261 Al 263 Br) - +M V30 SEQID=267 +M V30 263 Gln 28.4016 -6.6693 0 0 CLASS=AA ATTCHORD=(4 262 Al 264 Br) - +M V30 SEQID=268 +M V30 264 Leu 29.3465 -6.6693 0 0 CLASS=AA ATTCHORD=(4 265 Br 263 Al) - +M V30 SEQID=269 +M V30 265 Ser 30.2913 -6.6693 0 0 CLASS=AA ATTCHORD=(4 264 Al 266 Br) - +M V30 SEQID=270 +M V30 266 Gly 32.1811 -6.6693 0 0 CLASS=AA ATTCHORD=(4 267 Br 265 Al) - +M V30 SEQID=271 +M V30 267 Val 33.126 -6.6693 0 0 CLASS=AA ATTCHORD=(4 268 Br 266 Al) - +M V30 SEQID=272 +M V30 268 Asn 34.0709 -6.6693 0 0 CLASS=AA ATTCHORD=(4 267 Al 269 Br) - +M V30 SEQID=273 +M V30 269 Ala 35.0157 -6.6693 0 0 CLASS=AA ATTCHORD=(4 268 Al 270 Br) - +M V30 SEQID=274 +M V30 270 Val 35.9606 -6.6693 0 0 CLASS=AA ATTCHORD=(4 271 Br 269 Al) - +M V30 SEQID=275 +M V30 271 Met 36.9055 -6.6693 0 0 CLASS=AA ATTCHORD=(4 272 Br 270 Al) - +M V30 SEQID=276 +M V30 272 Phe 37.8504 -6.6693 0 0 CLASS=AA ATTCHORD=(4 273 Br 271 Al) - +M V30 SEQID=277 +M V30 273 Tyr 38.7953 -6.6693 0 0 CLASS=AA ATTCHORD=(4 272 Al 274 Br) - +M V30 SEQID=278 +M V30 274 Ala 39.7402 -6.6693 0 0 CLASS=AA ATTCHORD=(4 273 Al 275 Br) - +M V30 SEQID=279 +M V30 275 Glu 40.685 -6.6693 0 0 CLASS=AA ATTCHORD=(4 276 Br 274 Al) - +M V30 SEQID=280 +M V30 276 Thr 1 -7.6142 0 0 CLASS=AA ATTCHORD=(4 275 Al 277 Br) SEQID=281 +M V30 277 Ile 1.9449 -7.6142 0 0 CLASS=AA ATTCHORD=(4 278 Br 276 Al) - +M V30 SEQID=282 +M V30 278 Phe 2.8898 -7.6142 0 0 CLASS=AA ATTCHORD=(4 279 Br 277 Al) - +M V30 SEQID=283 +M V30 279 Glu 3.8346 -7.6142 0 0 CLASS=AA ATTCHORD=(4 280 Br 278 Al) - +M V30 SEQID=284 +M V30 280 Glu 4.7795 -7.6142 0 0 CLASS=AA ATTCHORD=(4 281 Br 279 Al) - +M V30 SEQID=285 +M V30 281 Ala 5.7244 -7.6142 0 0 CLASS=AA ATTCHORD=(4 280 Al 282 Br) - +M V30 SEQID=286 +M V30 282 Lys 6.6693 -7.6142 0 0 CLASS=AA ATTCHORD=(4 281 Al 283 Br) - +M V30 SEQID=287 +M V30 283 Phe 7.6142 -7.6142 0 0 CLASS=AA ATTCHORD=(4 284 Br 282 Al) - +M V30 SEQID=288 +M V30 284 Lys 8.5591 -7.6142 0 0 CLASS=AA ATTCHORD=(4 283 Al 285 Br) - +M V30 SEQID=289 +M V30 285 Asp 9.5039 -7.6142 0 0 CLASS=AA ATTCHORD=(4 284 Al 286 Br) - +M V30 SEQID=290 +M V30 286 Ser 11.3937 -7.6142 0 0 CLASS=AA ATTCHORD=(4 285 Al 287 Br) - +M V30 SEQID=291 +M V30 287 Ser 12.3386 -7.6142 0 0 CLASS=AA ATTCHORD=(4 286 Al 288 Br) - +M V30 SEQID=292 +M V30 288 Leu 13.2835 -7.6142 0 0 CLASS=AA ATTCHORD=(4 289 Br 287 Al) - +M V30 SEQID=293 +M V30 289 Ala 14.2283 -7.6142 0 0 CLASS=AA ATTCHORD=(4 288 Al 290 Br) - +M V30 SEQID=294 +M V30 290 Ser 15.1732 -7.6142 0 0 CLASS=AA ATTCHORD=(4 289 Al 291 Br) - +M V30 SEQID=295 +M V30 291 Val 16.1181 -7.6142 0 0 CLASS=AA ATTCHORD=(4 292 Br 290 Al) - +M V30 SEQID=296 +M V30 292 Val 17.063 -7.6142 0 0 CLASS=AA ATTCHORD=(4 293 Br 291 Al) - +M V30 SEQID=297 +M V30 293 Val 18.0079 -7.6142 0 0 CLASS=AA ATTCHORD=(4 294 Br 292 Al) - +M V30 SEQID=298 +M V30 294 Gly 18.9528 -7.6142 0 0 CLASS=AA ATTCHORD=(4 295 Br 293 Al) - +M V30 SEQID=299 +M V30 295 Val 19.8976 -7.6142 0 0 CLASS=AA ATTCHORD=(4 296 Br 294 Al) - +M V30 SEQID=300 +M V30 296 Ile 21.7874 -7.6142 0 0 CLASS=AA ATTCHORD=(4 297 Br 295 Al) - +M V30 SEQID=301 +M V30 297 Gln 22.7323 -7.6142 0 0 CLASS=AA ATTCHORD=(4 296 Al 298 Br) - +M V30 SEQID=302 +M V30 298 Val 23.6772 -7.6142 0 0 CLASS=AA ATTCHORD=(4 299 Br 297 Al) - +M V30 SEQID=303 +M V30 299 Leu 24.622 -7.6142 0 0 CLASS=AA ATTCHORD=(4 300 Br 298 Al) - +M V30 SEQID=304 +M V30 300 Phe 25.5669 -7.6142 0 0 CLASS=AA ATTCHORD=(4 301 Br 299 Al) - +M V30 SEQID=305 +M V30 301 Thr 26.5118 -7.6142 0 0 CLASS=AA ATTCHORD=(4 300 Al 302 Br) - +M V30 SEQID=306 +M V30 302 Ala 27.4567 -7.6142 0 0 CLASS=AA ATTCHORD=(4 301 Al 303 Br) - +M V30 SEQID=307 +M V30 303 Val 28.4016 -7.6142 0 0 CLASS=AA ATTCHORD=(4 304 Br 302 Al) - +M V30 SEQID=308 +M V30 304 Ala 29.3465 -7.6142 0 0 CLASS=AA ATTCHORD=(4 303 Al 305 Br) - +M V30 SEQID=309 +M V30 305 Ala 30.2913 -7.6142 0 0 CLASS=AA ATTCHORD=(4 304 Al 306 Br) - +M V30 SEQID=310 +M V30 306 Leu 32.1811 -7.6142 0 0 CLASS=AA ATTCHORD=(4 307 Br 305 Al) - +M V30 SEQID=311 +M V30 307 Ile 33.126 -7.6142 0 0 CLASS=AA ATTCHORD=(4 308 Br 306 Al) - +M V30 SEQID=312 +M V30 308 Met 34.0709 -7.6142 0 0 CLASS=AA ATTCHORD=(4 309 Br 307 Al) - +M V30 SEQID=313 +M V30 309 Asp 35.0157 -7.6142 0 0 CLASS=AA ATTCHORD=(4 308 Al 310 Br) - +M V30 SEQID=314 +M V30 310 Arg 35.9606 -7.6142 0 0 CLASS=AA ATTCHORD=(4 311 Br 309 Al) - +M V30 SEQID=315 +M V30 311 Ala 36.9055 -7.6142 0 0 CLASS=AA ATTCHORD=(4 310 Al 312 Br) - +M V30 SEQID=316 +M V30 312 Gly 37.8504 -7.6142 0 0 CLASS=AA ATTCHORD=(4 313 Br 311 Al) - +M V30 SEQID=317 +M V30 313 Arg 38.7953 -7.6142 0 0 CLASS=AA ATTCHORD=(4 314 Br 312 Al) - +M V30 SEQID=318 +M V30 314 Arg 39.7402 -7.6142 0 0 CLASS=AA ATTCHORD=(4 315 Br 313 Al) - +M V30 SEQID=319 +M V30 315 Leu 40.685 -7.6142 0 0 CLASS=AA ATTCHORD=(4 316 Br 314 Al) - +M V30 SEQID=320 +M V30 316 Leu 1 -8.5591 0 0 CLASS=AA ATTCHORD=(4 317 Br 315 Al) SEQID=321 +M V30 317 Leu 1.9449 -8.5591 0 0 CLASS=AA ATTCHORD=(4 318 Br 316 Al) - +M V30 SEQID=322 +M V30 318 Val 2.8898 -8.5591 0 0 CLASS=AA ATTCHORD=(4 319 Br 317 Al) - +M V30 SEQID=323 +M V30 319 Leu 3.8346 -8.5591 0 0 CLASS=AA ATTCHORD=(4 320 Br 318 Al) - +M V30 SEQID=324 +M V30 320 Ser 4.7795 -8.5591 0 0 CLASS=AA ATTCHORD=(4 319 Al 321 Br) - +M V30 SEQID=325 +M V30 321 Gly 5.7244 -8.5591 0 0 CLASS=AA ATTCHORD=(4 322 Br 320 Al) - +M V30 SEQID=326 +M V30 322 Val 6.6693 -8.5591 0 0 CLASS=AA ATTCHORD=(4 323 Br 321 Al) - +M V30 SEQID=327 +M V30 323 Val 7.6142 -8.5591 0 0 CLASS=AA ATTCHORD=(4 324 Br 322 Al) - +M V30 SEQID=328 +M V30 324 Met 8.5591 -8.5591 0 0 CLASS=AA ATTCHORD=(4 325 Br 323 Al) - +M V30 SEQID=329 +M V30 325 Val 9.5039 -8.5591 0 0 CLASS=AA ATTCHORD=(4 326 Br 324 Al) - +M V30 SEQID=330 +M V30 326 Phe 11.3937 -8.5591 0 0 CLASS=AA ATTCHORD=(4 327 Br 325 Al) - +M V30 SEQID=331 +M V30 327 Ser 12.3386 -8.5591 0 0 CLASS=AA ATTCHORD=(4 326 Al 328 Br) - +M V30 SEQID=332 +M V30 328 Thr 13.2835 -8.5591 0 0 CLASS=AA ATTCHORD=(4 327 Al 329 Br) - +M V30 SEQID=333 +M V30 329 Ser 14.2283 -8.5591 0 0 CLASS=AA ATTCHORD=(4 328 Al 330 Br) - +M V30 SEQID=334 +M V30 330 Ala 15.1732 -8.5591 0 0 CLASS=AA ATTCHORD=(4 329 Al 331 Br) - +M V30 SEQID=335 +M V30 331 Phe 16.1181 -8.5591 0 0 CLASS=AA ATTCHORD=(4 332 Br 330 Al) - +M V30 SEQID=336 +M V30 332 Gly 17.063 -8.5591 0 0 CLASS=AA ATTCHORD=(4 333 Br 331 Al) - +M V30 SEQID=337 +M V30 333 Ala 18.0079 -8.5591 0 0 CLASS=AA ATTCHORD=(4 332 Al 334 Br) - +M V30 SEQID=338 +M V30 334 Tyr 18.9528 -8.5591 0 0 CLASS=AA ATTCHORD=(4 333 Al 335 Br) - +M V30 SEQID=339 +M V30 335 Phe 19.8976 -8.5591 0 0 CLASS=AA ATTCHORD=(4 336 Br 334 Al) - +M V30 SEQID=340 +M V30 336 Lys 21.7874 -8.5591 0 0 CLASS=AA ATTCHORD=(4 335 Al 337 Br) - +M V30 SEQID=341 +M V30 337 Leu 22.7323 -8.5591 0 0 CLASS=AA ATTCHORD=(4 338 Br 336 Al) - +M V30 SEQID=342 +M V30 338 Thr 23.6772 -8.5591 0 0 CLASS=AA ATTCHORD=(4 337 Al 339 Br) - +M V30 SEQID=343 +M V30 339 Gln 24.622 -8.5591 0 0 CLASS=AA ATTCHORD=(4 338 Al 340 Br) - +M V30 SEQID=344 +M V30 340 Gly 25.5669 -8.5591 0 0 CLASS=AA ATTCHORD=(4 341 Br 339 Al) - +M V30 SEQID=345 +M V30 341 Gly 26.5118 -8.5591 0 0 CLASS=AA ATTCHORD=(4 342 Br 340 Al) - +M V30 SEQID=346 +M V30 342 Pro 27.4567 -8.5591 0 0 CLASS=AA ATTCHORD=(4 341 Al 343 Br) - +M V30 SEQID=347 +M V30 343 Gly 28.4016 -8.5591 0 0 CLASS=AA ATTCHORD=(4 344 Br 342 Al) - +M V30 SEQID=348 +M V30 344 Asn 29.3465 -8.5591 0 0 CLASS=AA ATTCHORD=(4 343 Al 345 Br) - +M V30 SEQID=349 +M V30 345 Ser 30.2913 -8.5591 0 0 CLASS=AA ATTCHORD=(4 344 Al 346 Br) - +M V30 SEQID=350 +M V30 346 Ser 32.1811 -8.5591 0 0 CLASS=AA ATTCHORD=(4 345 Al 347 Br) - +M V30 SEQID=351 +M V30 347 His 33.126 -8.5591 0 0 CLASS=AA ATTCHORD=(4 346 Al 348 Br) - +M V30 SEQID=352 +M V30 348 Val 34.0709 -8.5591 0 0 CLASS=AA ATTCHORD=(4 349 Br 347 Al) - +M V30 SEQID=353 +M V30 349 Ala 35.0157 -8.5591 0 0 CLASS=AA ATTCHORD=(4 348 Al 350 Br) - +M V30 SEQID=354 +M V30 350 Ile 35.9606 -8.5591 0 0 CLASS=AA ATTCHORD=(4 351 Br 349 Al) - +M V30 SEQID=355 +M V30 351 Ser 36.9055 -8.5591 0 0 CLASS=AA ATTCHORD=(4 350 Al 352 Br) - +M V30 SEQID=356 +M V30 352 Ala 37.8504 -8.5591 0 0 CLASS=AA ATTCHORD=(4 351 Al 353 Br) - +M V30 SEQID=357 +M V30 353 Pro 38.7953 -8.5591 0 0 CLASS=AA ATTCHORD=(4 352 Al 354 Br) - +M V30 SEQID=358 +M V30 354 Val 39.7402 -8.5591 0 0 CLASS=AA ATTCHORD=(4 355 Br 353 Al) - +M V30 SEQID=359 +M V30 355 Ser 40.685 -8.5591 0 0 CLASS=AA ATTCHORD=(4 354 Al 356 Br) - +M V30 SEQID=360 +M V30 356 Ala 1 -9.5039 0 0 CLASS=AA ATTCHORD=(4 355 Al 357 Br) SEQID=361 +M V30 357 Gln 1.9449 -9.5039 0 0 CLASS=AA ATTCHORD=(4 356 Al 358 Br) - +M V30 SEQID=362 +M V30 358 Pro 2.8898 -9.5039 0 0 CLASS=AA ATTCHORD=(4 357 Al 359 Br) - +M V30 SEQID=363 +M V30 359 Val 3.8346 -9.5039 0 0 CLASS=AA ATTCHORD=(4 360 Br 358 Al) - +M V30 SEQID=364 +M V30 360 Asp 4.7795 -9.5039 0 0 CLASS=AA ATTCHORD=(4 359 Al 361 Br) - +M V30 SEQID=365 +M V30 361 Ala 5.7244 -9.5039 0 0 CLASS=AA ATTCHORD=(4 360 Al 362 Br) - +M V30 SEQID=366 +M V30 362 Ser 6.6693 -9.5039 0 0 CLASS=AA ATTCHORD=(4 361 Al 363 Br) - +M V30 SEQID=367 +M V30 363 Val 7.6142 -9.5039 0 0 CLASS=AA ATTCHORD=(4 364 Br 362 Al) - +M V30 SEQID=368 +M V30 364 Gly 8.5591 -9.5039 0 0 CLASS=AA ATTCHORD=(4 365 Br 363 Al) - +M V30 SEQID=369 +M V30 365 Leu 9.5039 -9.5039 0 0 CLASS=AA ATTCHORD=(4 366 Br 364 Al) - +M V30 SEQID=370 +M V30 366 Ala 11.3937 -9.5039 0 0 CLASS=AA ATTCHORD=(4 365 Al 367 Br) - +M V30 SEQID=371 +M V30 367 Trp 12.3386 -9.5039 0 0 CLASS=AA ATTCHORD=(4 366 Al 368 Br) - +M V30 SEQID=372 +M V30 368 Leu 13.2835 -9.5039 0 0 CLASS=AA ATTCHORD=(4 369 Br 367 Al) - +M V30 SEQID=373 +M V30 369 Ala 14.2283 -9.5039 0 0 CLASS=AA ATTCHORD=(4 368 Al 370 Br) - +M V30 SEQID=374 +M V30 370 Val 15.1732 -9.5039 0 0 CLASS=AA ATTCHORD=(4 371 Br 369 Al) - +M V30 SEQID=375 +M V30 371 Gly 16.1181 -9.5039 0 0 CLASS=AA ATTCHORD=(4 372 Br 370 Al) - +M V30 SEQID=376 +M V30 372 Ser 17.063 -9.5039 0 0 CLASS=AA ATTCHORD=(4 371 Al 373 Br) - +M V30 SEQID=377 +M V30 373 Met 18.0079 -9.5039 0 0 CLASS=AA ATTCHORD=(4 472 Br 372 Al) - +M V30 SEQID=378 +M V30 374 Leu 19.8976 -9.5039 0 0 CLASS=AA ATTCHORD=(4 375 Br 472 Al) - +M V30 SEQID=380 +M V30 375 Phe 21.7874 -9.5039 0 0 CLASS=AA ATTCHORD=(4 376 Br 374 Al) - +M V30 SEQID=381 +M V30 376 Ile 22.7323 -9.5039 0 0 CLASS=AA ATTCHORD=(4 377 Br 375 Al) - +M V30 SEQID=382 +M V30 377 Ala 23.6772 -9.5039 0 0 CLASS=AA ATTCHORD=(4 376 Al 378 Br) - +M V30 SEQID=383 +M V30 378 Gly 24.622 -9.5039 0 0 CLASS=AA ATTCHORD=(4 379 Br 377 Al) - +M V30 SEQID=384 +M V30 379 Phe 25.5669 -9.5039 0 0 CLASS=AA ATTCHORD=(4 380 Br 378 Al) - +M V30 SEQID=385 +M V30 380 Ala 26.5118 -9.5039 0 0 CLASS=AA ATTCHORD=(4 379 Al 381 Br) - +M V30 SEQID=386 +M V30 381 Val 27.4567 -9.5039 0 0 CLASS=AA ATTCHORD=(4 382 Br 380 Al) - +M V30 SEQID=387 +M V30 382 Gly 28.4016 -9.5039 0 0 CLASS=AA ATTCHORD=(4 383 Br 381 Al) - +M V30 SEQID=388 +M V30 383 Trp 29.3465 -9.5039 0 0 CLASS=AA ATTCHORD=(4 382 Al 384 Br) - +M V30 SEQID=389 +M V30 384 Gly 30.2913 -9.5039 0 0 CLASS=AA ATTCHORD=(4 385 Br 383 Al) - +M V30 SEQID=390 +M V30 385 Pro 32.1811 -9.5039 0 0 CLASS=AA ATTCHORD=(4 384 Al 386 Br) - +M V30 SEQID=391 +M V30 386 Ile 33.126 -9.5039 0 0 CLASS=AA ATTCHORD=(4 387 Br 385 Al) - +M V30 SEQID=392 +M V30 387 Pro 34.0709 -9.5039 0 0 CLASS=AA ATTCHORD=(4 386 Al 388 Br) - +M V30 SEQID=393 +M V30 388 Trp 35.0157 -9.5039 0 0 CLASS=AA ATTCHORD=(4 387 Al 389 Br) - +M V30 SEQID=394 +M V30 389 Leu 35.9606 -9.5039 0 0 CLASS=AA ATTCHORD=(4 390 Br 388 Al) - +M V30 SEQID=395 +M V30 390 Leu 36.9055 -9.5039 0 0 CLASS=AA ATTCHORD=(4 391 Br 389 Al) - +M V30 SEQID=396 +M V30 391 Met 37.8504 -9.5039 0 0 CLASS=AA ATTCHORD=(4 392 Br 390 Al) - +M V30 SEQID=397 +M V30 392 Ser 38.7953 -9.5039 0 0 CLASS=AA ATTCHORD=(4 391 Al 393 Br) - +M V30 SEQID=398 +M V30 393 Glu 39.7402 -9.5039 0 0 CLASS=AA ATTCHORD=(4 394 Br 392 Al) - +M V30 SEQID=399 +M V30 394 Ile 40.685 -9.5039 0 0 CLASS=AA ATTCHORD=(4 395 Br 393 Al) - +M V30 SEQID=400 +M V30 395 Phe 1 -10.4488 0 0 CLASS=AA ATTCHORD=(4 396 Br 394 Al) SEQID=401 +M V30 396 Pro 1.9449 -10.4488 0 0 CLASS=AA ATTCHORD=(4 395 Al 397 Br) - +M V30 SEQID=402 +M V30 397 Leu 2.8898 -10.4488 0 0 CLASS=AA ATTCHORD=(4 398 Br 396 Al) - +M V30 SEQID=403 +M V30 398 His 3.8346 -10.4488 0 0 CLASS=AA ATTCHORD=(4 397 Al 399 Br) - +M V30 SEQID=404 +M V30 399 Val 4.7795 -10.4488 0 0 CLASS=AA ATTCHORD=(4 400 Br 398 Al) - +M V30 SEQID=405 +M V30 400 Lys 5.7244 -10.4488 0 0 CLASS=AA ATTCHORD=(4 399 Al 401 Br) - +M V30 SEQID=406 +M V30 401 Gly 6.6693 -10.4488 0 0 CLASS=AA ATTCHORD=(4 402 Br 400 Al) - +M V30 SEQID=407 +M V30 402 Val 7.6142 -10.4488 0 0 CLASS=AA ATTCHORD=(4 403 Br 401 Al) - +M V30 SEQID=408 +M V30 403 Ala 8.5591 -10.4488 0 0 CLASS=AA ATTCHORD=(4 402 Al 404 Br) - +M V30 SEQID=409 +M V30 404 Thr 9.5039 -10.4488 0 0 CLASS=AA ATTCHORD=(4 403 Al 405 Br) - +M V30 SEQID=410 +M V30 405 Gly 11.3937 -10.4488 0 0 CLASS=AA ATTCHORD=(4 406 Br 404 Al) - +M V30 SEQID=411 +M V30 406 Ile 12.3386 -10.4488 0 0 CLASS=AA ATTCHORD=(4 471 Br 405 Al) - +M V30 SEQID=412 +M V30 407 Val 14.2283 -10.4488 0 0 CLASS=AA ATTCHORD=(4 408 Br 471 Al) - +M V30 SEQID=414 +M V30 408 Leu 15.1732 -10.4488 0 0 CLASS=AA ATTCHORD=(4 409 Br 407 Al) - +M V30 SEQID=415 +M V30 409 Thr 16.1181 -10.4488 0 0 CLASS=AA ATTCHORD=(4 408 Al 410 Br) - +M V30 SEQID=416 +M V30 410 Asn 17.063 -10.4488 0 0 CLASS=AA ATTCHORD=(4 409 Al 411 Br) - +M V30 SEQID=417 +M V30 411 Trp 18.0079 -10.4488 0 0 CLASS=AA ATTCHORD=(4 410 Al 412 Br) - +M V30 SEQID=418 +M V30 412 Leu 18.9528 -10.4488 0 0 CLASS=AA ATTCHORD=(4 413 Br 411 Al) - +M V30 SEQID=419 +M V30 413 Met 19.8976 -10.4488 0 0 CLASS=AA ATTCHORD=(4 414 Br 412 Al) - +M V30 SEQID=420 +M V30 414 Ala 21.7874 -10.4488 0 0 CLASS=AA ATTCHORD=(4 413 Al 415 Br) - +M V30 SEQID=421 +M V30 415 Phe 22.7323 -10.4488 0 0 CLASS=AA ATTCHORD=(4 416 Br 414 Al) - +M V30 SEQID=422 +M V30 416 Leu 23.6772 -10.4488 0 0 CLASS=AA ATTCHORD=(4 417 Br 415 Al) - +M V30 SEQID=423 +M V30 417 Val 24.622 -10.4488 0 0 CLASS=AA ATTCHORD=(4 418 Br 416 Al) - +M V30 SEQID=424 +M V30 418 Thr 25.5669 -10.4488 0 0 CLASS=AA ATTCHORD=(4 417 Al 419 Br) - +M V30 SEQID=425 +M V30 419 Lys 26.5118 -10.4488 0 0 CLASS=AA ATTCHORD=(4 418 Al 420 Br) - +M V30 SEQID=426 +M V30 420 Glu 27.4567 -10.4488 0 0 CLASS=AA ATTCHORD=(4 421 Br 419 Al) - +M V30 SEQID=427 +M V30 421 Phe 28.4016 -10.4488 0 0 CLASS=AA ATTCHORD=(4 422 Br 420 Al) - +M V30 SEQID=428 +M V30 422 Ser 29.3465 -10.4488 0 0 CLASS=AA ATTCHORD=(4 421 Al 423 Br) - +M V30 SEQID=429 +M V30 423 Ser 30.2913 -10.4488 0 0 CLASS=AA ATTCHORD=(4 422 Al 424 Br) - +M V30 SEQID=430 +M V30 424 Leu 32.1811 -10.4488 0 0 CLASS=AA ATTCHORD=(4 425 Br 423 Al) - +M V30 SEQID=431 +M V30 425 Met 33.126 -10.4488 0 0 CLASS=AA ATTCHORD=(4 426 Br 424 Al) - +M V30 SEQID=432 +M V30 426 Glu 34.0709 -10.4488 0 0 CLASS=AA ATTCHORD=(4 427 Br 425 Al) - +M V30 SEQID=433 +M V30 427 Val 35.0157 -10.4488 0 0 CLASS=AA ATTCHORD=(4 428 Br 426 Al) - +M V30 SEQID=434 +M V30 428 Leu 35.9606 -10.4488 0 0 CLASS=AA ATTCHORD=(4 429 Br 427 Al) - +M V30 SEQID=435 +M V30 429 Arg 36.9055 -10.4488 0 0 CLASS=AA ATTCHORD=(4 430 Br 428 Al) - +M V30 SEQID=436 +M V30 430 Pro 37.8504 -10.4488 0 0 CLASS=AA ATTCHORD=(4 429 Al 431 Br) - +M V30 SEQID=437 +M V30 431 Tyr 38.7953 -10.4488 0 0 CLASS=AA ATTCHORD=(4 430 Al 432 Br) - +M V30 SEQID=438 +M V30 432 Gly 39.7402 -10.4488 0 0 CLASS=AA ATTCHORD=(4 433 Br 431 Al) - +M V30 SEQID=439 +M V30 433 Ala 40.685 -10.4488 0 0 CLASS=AA ATTCHORD=(4 432 Al 434 Br) - +M V30 SEQID=440 +M V30 434 Phe 1 -11.3937 0 0 CLASS=AA ATTCHORD=(4 435 Br 433 Al) SEQID=441 +M V30 435 Trp 1.9449 -11.3937 0 0 CLASS=AA ATTCHORD=(4 434 Al 436 Br) - +M V30 SEQID=442 +M V30 436 Leu 2.8898 -11.3937 0 0 CLASS=AA ATTCHORD=(4 437 Br 435 Al) - +M V30 SEQID=443 +M V30 437 Ala 3.8346 -11.3937 0 0 CLASS=AA ATTCHORD=(4 436 Al 438 Br) - +M V30 SEQID=444 +M V30 438 Ser 4.7795 -11.3937 0 0 CLASS=AA ATTCHORD=(4 437 Al 439 Br) - +M V30 SEQID=445 +M V30 439 Ala 5.7244 -11.3937 0 0 CLASS=AA ATTCHORD=(4 438 Al 440 Br) - +M V30 SEQID=446 +M V30 440 Phe 6.6693 -11.3937 0 0 CLASS=AA ATTCHORD=(4 470 Br 439 Al) - +M V30 SEQID=447 +M V30 441 Ile 8.5591 -11.3937 0 0 CLASS=AA ATTCHORD=(4 442 Br 470 Al) - +M V30 SEQID=449 +M V30 442 Phe 9.5039 -11.3937 0 0 CLASS=AA ATTCHORD=(4 443 Br 441 Al) - +M V30 SEQID=450 +M V30 443 Ser 11.3937 -11.3937 0 0 CLASS=AA ATTCHORD=(4 442 Al 444 Br) - +M V30 SEQID=451 +M V30 444 Val 12.3386 -11.3937 0 0 CLASS=AA ATTCHORD=(4 445 Br 443 Al) - +M V30 SEQID=452 +M V30 445 Leu 13.2835 -11.3937 0 0 CLASS=AA ATTCHORD=(4 446 Br 444 Al) - +M V30 SEQID=453 +M V30 446 Phe 14.2283 -11.3937 0 0 CLASS=AA ATTCHORD=(4 447 Br 445 Al) - +M V30 SEQID=454 +M V30 447 Thr 15.1732 -11.3937 0 0 CLASS=AA ATTCHORD=(4 446 Al 448 Br) - +M V30 SEQID=455 +M V30 448 Leu 16.1181 -11.3937 0 0 CLASS=AA ATTCHORD=(4 449 Br 447 Al) - +M V30 SEQID=456 +M V30 449 Phe 17.063 -11.3937 0 0 CLASS=AA ATTCHORD=(4 469 Br 448 Al) - +M V30 SEQID=457 +M V30 450 Val 18.9528 -11.3937 0 0 CLASS=AA ATTCHORD=(4 451 Br 469 Al) - +M V30 SEQID=459 +M V30 451 Pro 19.8976 -11.3937 0 0 CLASS=AA ATTCHORD=(4 450 Al 452 Br) - +M V30 SEQID=460 +M V30 452 Glu 21.7874 -11.3937 0 0 CLASS=AA ATTCHORD=(4 453 Br 451 Al) - +M V30 SEQID=461 +M V30 453 Thr 22.7323 -11.3937 0 0 CLASS=AA ATTCHORD=(4 452 Al 454 Br) - +M V30 SEQID=462 +M V30 454 Lys 23.6772 -11.3937 0 0 CLASS=AA ATTCHORD=(4 453 Al 455 Br) - +M V30 SEQID=463 +M V30 455 Gly 24.622 -11.3937 0 0 CLASS=AA ATTCHORD=(4 456 Br 454 Al) - +M V30 SEQID=464 +M V30 456 Lys 25.5669 -11.3937 0 0 CLASS=AA ATTCHORD=(4 455 Al 457 Br) - +M V30 SEQID=465 +M V30 457 Thr 26.5118 -11.3937 0 0 CLASS=AA ATTCHORD=(4 456 Al 458 Br) - +M V30 SEQID=466 +M V30 458 Leu 27.4567 -11.3937 0 0 CLASS=AA ATTCHORD=(4 459 Br 457 Al) - +M V30 SEQID=467 +M V30 459 Glu 28.4016 -11.3937 0 0 CLASS=AA ATTCHORD=(4 460 Br 458 Al) - +M V30 SEQID=468 +M V30 460 Gln 29.3465 -11.3937 0 0 CLASS=AA ATTCHORD=(4 459 Al 461 Br) - +M V30 SEQID=469 +M V30 461 Ile 30.2913 -11.3937 0 0 CLASS=AA ATTCHORD=(4 462 Br 460 Al) - +M V30 SEQID=470 +M V30 462 Thr 32.1811 -11.3937 0 0 CLASS=AA ATTCHORD=(4 461 Al 463 Br) - +M V30 SEQID=471 +M V30 463 Ala 33.126 -11.3937 0 0 CLASS=AA ATTCHORD=(4 462 Al 464 Br) - +M V30 SEQID=472 +M V30 464 His 34.0709 -11.3937 0 0 CLASS=AA ATTCHORD=(4 463 Al 465 Br) - +M V30 SEQID=473 +M V30 465 Phe 35.0157 -11.3937 0 0 CLASS=AA ATTCHORD=(4 466 Br 464 Al) - +M V30 SEQID=474 +M V30 466 Glu 35.9606 -11.3937 0 0 CLASS=AA ATTCHORD=(4 467 Br 465 Al) - +M V30 SEQID=475 +M V30 467 Gly 36.9055 -11.3937 0 0 CLASS=AA ATTCHORD=(4 468 Br 466 Al) - +M V30 SEQID=476 +M V30 468 Arg 37.8504 -11.3937 0 0 CLASS=AA ATTCHORD=(2 467 Al) SEQID=477 +M V30 469 Cys 18.0079 -11.3937 0 0 CLASS=AA ATTCHORD=(4 449 Al 450 Br) - +M V30 SEQID=458 +M V30 470 Cys 7.6142 -11.3937 0 0 CLASS=AA ATTCHORD=(4 440 Al 441 Br) - +M V30 SEQID=448 +M V30 471 Cys 13.2835 -10.4488 0 0 CLASS=AA ATTCHORD=(4 406 Al 407 Br) - +M V30 SEQID=413 +M V30 472 Cys 18.9528 -9.5039 0 0 CLASS=AA ATTCHORD=(4 373 Al 374 Br) - +M V30 SEQID=379 +M V30 473 Cys 40.685 -4.7795 0 0 CLASS=AA ATTCHORD=(4 195 Al 196 Br) - +M V30 SEQID=200 +M V30 474 Cys 29.3465 -4.7795 0 0 CLASS=AA ATTCHORD=(4 185 Al 186 Br) - +M V30 SEQID=189 +M V30 475 Cys 40.685 -3.8346 0 0 CLASS=AA ATTCHORD=(4 157 Al 158 Br) - +M V30 SEQID=160 +M V30 476 Cys 14.2283 -3.8346 0 0 CLASS=AA ATTCHORD=(4 132 Al 133 Br) - +M V30 SEQID=134 +M V30 477 Cys 23.6772 -2.8898 0 0 CLASS=AA ATTCHORD=(4 102 Al 103 Br) - +M V30 SEQID=103 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 1 +M V30 2 1 2 3 +M V30 3 1 4 3 +M V30 4 1 5 4 +M V30 5 1 5 6 +M V30 6 1 7 6 +M V30 7 1 8 7 +M V30 8 1 9 8 +M V30 9 1 10 9 +M V30 10 1 10 11 +M V30 11 1 12 11 +M V30 12 1 13 12 +M V30 13 1 14 13 +M V30 14 1 15 14 +M V30 15 1 16 15 +M V30 16 1 17 16 +M V30 17 1 18 17 +M V30 18 1 19 18 +M V30 19 1 19 20 +M V30 20 1 21 20 +M V30 21 1 22 21 +M V30 22 1 22 23 +M V30 23 1 24 23 +M V30 24 1 25 24 +M V30 25 1 25 26 +M V30 26 1 27 26 +M V30 27 1 28 27 +M V30 28 1 29 28 +M V30 29 1 30 29 +M V30 30 1 31 30 +M V30 31 1 32 31 +M V30 32 1 33 32 +M V30 33 1 34 33 +M V30 34 1 35 34 +M V30 35 1 36 35 +M V30 36 1 37 36 +M V30 37 1 38 37 +M V30 38 1 39 38 +M V30 39 1 39 40 +M V30 40 1 41 40 +M V30 41 1 42 41 +M V30 42 1 43 42 +M V30 43 1 44 43 +M V30 44 1 45 44 +M V30 45 1 46 45 +M V30 46 1 47 46 +M V30 47 1 48 47 +M V30 48 1 48 49 +M V30 49 1 50 49 +M V30 50 1 51 50 +M V30 51 1 52 51 +M V30 52 1 53 52 +M V30 53 1 53 54 +M V30 54 1 55 54 +M V30 55 1 56 55 +M V30 56 1 56 57 +M V30 57 1 58 57 +M V30 58 1 59 58 +M V30 59 1 60 59 +M V30 60 1 61 60 +M V30 61 1 62 61 +M V30 62 1 63 62 +M V30 63 1 63 64 +M V30 64 1 65 64 +M V30 65 1 66 65 +M V30 66 1 66 67 +M V30 67 1 68 67 +M V30 68 1 69 68 +M V30 69 1 70 69 +M V30 70 1 71 70 +M V30 71 1 71 72 +M V30 72 1 73 72 +M V30 73 1 74 73 +M V30 74 1 75 74 +M V30 75 1 76 75 +M V30 76 1 77 76 +M V30 77 1 77 78 +M V30 78 1 79 78 +M V30 79 1 80 79 +M V30 80 1 81 80 +M V30 81 1 82 81 +M V30 82 1 83 82 +M V30 83 1 84 83 +M V30 84 1 85 84 +M V30 85 1 86 85 +M V30 86 1 87 86 +M V30 87 1 88 87 +M V30 88 1 89 88 +M V30 89 1 89 90 +M V30 90 1 91 90 +M V30 91 1 92 91 +M V30 92 1 93 92 +M V30 93 1 93 94 +M V30 94 1 95 94 +M V30 95 1 96 95 +M V30 96 1 97 96 +M V30 97 1 97 98 +M V30 98 1 99 98 +M V30 99 1 99 100 +M V30 100 1 101 100 +M V30 101 1 102 101 +M V30 102 1 477 102 +M V30 103 1 103 477 +M V30 104 1 103 104 +M V30 105 1 105 104 +M V30 106 1 106 105 +M V30 107 1 107 106 +M V30 108 1 108 107 +M V30 109 1 109 108 +M V30 110 1 110 109 +M V30 111 1 111 110 +M V30 112 1 112 111 +M V30 113 1 113 112 +M V30 114 1 114 113 +M V30 115 1 114 115 +M V30 116 1 116 115 +M V30 117 1 117 116 +M V30 118 1 118 117 +M V30 119 1 118 119 +M V30 120 1 120 119 +M V30 121 1 120 121 +M V30 122 1 122 121 +M V30 123 1 123 122 +M V30 124 1 124 123 +M V30 125 1 125 124 +M V30 126 1 126 125 +M V30 127 1 126 127 +M V30 128 1 128 127 +M V30 129 1 129 128 +M V30 130 1 129 130 +M V30 131 1 131 130 +M V30 132 1 132 131 +M V30 133 1 476 132 +M V30 134 1 476 133 +M V30 135 1 134 133 +M V30 136 1 135 134 +M V30 137 1 136 135 +M V30 138 1 136 137 +M V30 139 1 138 137 +M V30 140 1 139 138 +M V30 141 1 140 139 +M V30 142 1 141 140 +M V30 143 1 142 141 +M V30 144 1 142 143 +M V30 145 1 144 143 +M V30 146 1 145 144 +M V30 147 1 145 146 +M V30 148 1 147 146 +M V30 149 1 148 147 +M V30 150 1 148 149 +M V30 151 1 150 149 +M V30 152 1 151 150 +M V30 153 1 152 151 +M V30 154 1 152 153 +M V30 155 1 154 153 +M V30 156 1 155 154 +M V30 157 1 156 155 +M V30 158 1 157 156 +M V30 159 1 157 475 +M V30 160 1 475 158 +M V30 161 1 159 158 +M V30 162 1 159 160 +M V30 163 1 161 160 +M V30 164 1 162 161 +M V30 165 1 163 162 +M V30 166 1 164 163 +M V30 167 1 165 164 +M V30 168 1 166 165 +M V30 169 1 167 166 +M V30 170 1 168 167 +M V30 171 1 169 168 +M V30 172 1 170 169 +M V30 173 1 170 171 +M V30 174 1 172 171 +M V30 175 1 173 172 +M V30 176 1 174 173 +M V30 177 1 174 175 +M V30 178 1 176 175 +M V30 179 1 177 176 +M V30 180 1 178 177 +M V30 181 1 179 178 +M V30 182 1 180 179 +M V30 183 1 180 181 +M V30 184 1 182 181 +M V30 185 1 183 182 +M V30 186 1 184 183 +M V30 187 1 185 184 +M V30 188 1 474 185 +M V30 189 1 474 186 +M V30 190 1 187 186 +M V30 191 1 188 187 +M V30 192 1 189 188 +M V30 193 1 189 190 +M V30 194 1 191 190 +M V30 195 1 192 191 +M V30 196 1 193 192 +M V30 197 1 194 193 +M V30 198 1 195 194 +M V30 199 1 473 195 +M V30 200 1 473 196 +M V30 201 1 197 196 +M V30 202 1 198 197 +M V30 203 1 199 198 +M V30 204 1 200 199 +M V30 205 1 200 201 +M V30 206 1 202 201 +M V30 207 1 202 203 +M V30 208 1 204 203 +M V30 209 1 205 204 +M V30 210 1 206 205 +M V30 211 1 207 206 +M V30 212 1 208 207 +M V30 213 1 209 208 +M V30 214 1 210 209 +M V30 215 1 211 210 +M V30 216 1 212 211 +M V30 217 1 212 213 +M V30 218 1 214 213 +M V30 219 1 215 214 +M V30 220 1 216 215 +M V30 221 1 217 216 +M V30 222 1 218 217 +M V30 223 1 218 219 +M V30 224 1 220 219 +M V30 225 1 221 220 +M V30 226 1 221 222 +M V30 227 1 223 222 +M V30 228 1 224 223 +M V30 229 1 225 224 +M V30 230 1 225 226 +M V30 231 1 227 226 +M V30 232 1 228 227 +M V30 233 1 229 228 +M V30 234 1 229 230 +M V30 235 1 231 230 +M V30 236 1 232 231 +M V30 237 1 233 232 +M V30 238 1 234 233 +M V30 239 1 235 234 +M V30 240 1 236 235 +M V30 241 1 237 236 +M V30 242 1 237 238 +M V30 243 1 239 238 +M V30 244 1 239 240 +M V30 245 1 241 240 +M V30 246 1 242 241 +M V30 247 1 243 242 +M V30 248 1 244 243 +M V30 249 1 245 244 +M V30 250 1 245 246 +M V30 251 1 247 246 +M V30 252 1 248 247 +M V30 253 1 249 248 +M V30 254 1 250 249 +M V30 255 1 250 251 +M V30 256 1 252 251 +M V30 257 1 253 252 +M V30 258 1 254 253 +M V30 259 1 255 254 +M V30 260 1 256 255 +M V30 261 1 257 256 +M V30 262 1 257 258 +M V30 263 1 259 258 +M V30 264 1 260 259 +M V30 265 1 261 260 +M V30 266 1 262 261 +M V30 267 1 263 262 +M V30 268 1 263 264 +M V30 269 1 265 264 +M V30 270 1 265 266 +M V30 271 1 267 266 +M V30 272 1 268 267 +M V30 273 1 268 269 +M V30 274 1 270 269 +M V30 275 1 271 270 +M V30 276 1 272 271 +M V30 277 1 273 272 +M V30 278 1 273 274 +M V30 279 1 275 274 +M V30 280 1 276 275 +M V30 281 1 276 277 +M V30 282 1 278 277 +M V30 283 1 279 278 +M V30 284 1 280 279 +M V30 285 1 280 281 +M V30 286 1 282 281 +M V30 287 1 282 283 +M V30 288 1 284 283 +M V30 289 1 285 284 +M V30 290 1 286 285 +M V30 291 1 287 286 +M V30 292 1 287 288 +M V30 293 1 289 288 +M V30 294 1 290 289 +M V30 295 1 290 291 +M V30 296 1 292 291 +M V30 297 1 293 292 +M V30 298 1 294 293 +M V30 299 1 295 294 +M V30 300 1 296 295 +M V30 301 1 297 296 +M V30 302 1 297 298 +M V30 303 1 299 298 +M V30 304 1 300 299 +M V30 305 1 301 300 +M V30 306 1 301 302 +M V30 307 1 303 302 +M V30 308 1 304 303 +M V30 309 1 305 304 +M V30 310 1 306 305 +M V30 311 1 307 306 +M V30 312 1 308 307 +M V30 313 1 309 308 +M V30 314 1 310 309 +M V30 315 1 310 311 +M V30 316 1 312 311 +M V30 317 1 313 312 +M V30 318 1 314 313 +M V30 319 1 314 315 +M V30 320 1 316 315 +M V30 321 1 317 316 +M V30 322 1 318 317 +M V30 323 1 319 318 +M V30 324 1 320 319 +M V30 325 1 320 321 +M V30 326 1 322 321 +M V30 327 1 323 322 +M V30 328 1 324 323 +M V30 329 1 325 324 +M V30 330 1 326 325 +M V30 331 1 327 326 +M V30 332 1 328 327 +M V30 333 1 329 328 +M V30 334 1 329 330 +M V30 335 1 331 330 +M V30 336 1 332 331 +M V30 337 1 333 332 +M V30 338 1 334 333 +M V30 339 1 334 335 +M V30 340 1 336 335 +M V30 341 1 336 337 +M V30 342 1 338 337 +M V30 343 1 339 338 +M V30 344 1 339 340 +M V30 345 1 341 340 +M V30 346 1 342 341 +M V30 347 1 343 342 +M V30 348 1 344 343 +M V30 349 1 345 344 +M V30 350 1 346 345 +M V30 351 1 347 346 +M V30 352 1 347 348 +M V30 353 1 349 348 +M V30 354 1 350 349 +M V30 355 1 351 350 +M V30 356 1 351 352 +M V30 357 1 353 352 +M V30 358 1 354 353 +M V30 359 1 355 354 +M V30 360 1 355 356 +M V30 361 1 357 356 +M V30 362 1 357 358 +M V30 363 1 359 358 +M V30 364 1 360 359 +M V30 365 1 360 361 +M V30 366 1 362 361 +M V30 367 1 362 363 +M V30 368 1 364 363 +M V30 369 1 365 364 +M V30 370 1 366 365 +M V30 371 1 367 366 +M V30 372 1 367 368 +M V30 373 1 369 368 +M V30 374 1 370 369 +M V30 375 1 371 370 +M V30 376 1 372 371 +M V30 377 1 372 373 +M V30 378 1 472 373 +M V30 379 1 472 374 +M V30 380 1 375 374 +M V30 381 1 376 375 +M V30 382 1 377 376 +M V30 383 1 378 377 +M V30 384 1 379 378 +M V30 385 1 380 379 +M V30 386 1 381 380 +M V30 387 1 382 381 +M V30 388 1 383 382 +M V30 389 1 383 384 +M V30 390 1 385 384 +M V30 391 1 386 385 +M V30 392 1 387 386 +M V30 393 1 388 387 +M V30 394 1 388 389 +M V30 395 1 390 389 +M V30 396 1 391 390 +M V30 397 1 392 391 +M V30 398 1 393 392 +M V30 399 1 393 394 +M V30 400 1 395 394 +M V30 401 1 396 395 +M V30 402 1 397 396 +M V30 403 1 398 397 +M V30 404 1 398 399 +M V30 405 1 400 399 +M V30 406 1 400 401 +M V30 407 1 402 401 +M V30 408 1 403 402 +M V30 409 1 404 403 +M V30 410 1 404 405 +M V30 411 1 406 405 +M V30 412 1 471 406 +M V30 413 1 471 407 +M V30 414 1 408 407 +M V30 415 1 409 408 +M V30 416 1 410 409 +M V30 417 1 411 410 +M V30 418 1 411 412 +M V30 419 1 413 412 +M V30 420 1 414 413 +M V30 421 1 415 414 +M V30 422 1 416 415 +M V30 423 1 417 416 +M V30 424 1 418 417 +M V30 425 1 419 418 +M V30 426 1 420 419 +M V30 427 1 420 421 +M V30 428 1 422 421 +M V30 429 1 423 422 +M V30 430 1 423 424 +M V30 431 1 425 424 +M V30 432 1 426 425 +M V30 433 1 426 427 +M V30 434 1 428 427 +M V30 435 1 429 428 +M V30 436 1 429 430 +M V30 437 1 431 430 +M V30 438 1 431 432 +M V30 439 1 433 432 +M V30 440 1 434 433 +M V30 441 1 435 434 +M V30 442 1 435 436 +M V30 443 1 437 436 +M V30 444 1 438 437 +M V30 445 1 438 439 +M V30 446 1 440 439 +M V30 447 1 470 440 +M V30 448 1 470 441 +M V30 449 1 442 441 +M V30 450 1 443 442 +M V30 451 1 443 444 +M V30 452 1 445 444 +M V30 453 1 446 445 +M V30 454 1 447 446 +M V30 455 1 447 448 +M V30 456 1 449 448 +M V30 457 1 469 449 +M V30 458 1 469 450 +M V30 459 1 451 450 +M V30 460 1 452 451 +M V30 461 1 453 452 +M V30 462 1 454 453 +M V30 463 1 454 455 +M V30 464 1 456 455 +M V30 465 1 457 456 +M V30 466 1 457 458 +M V30 467 1 459 458 +M V30 468 1 460 459 +M V30 469 1 460 461 +M V30 470 1 462 461 +M V30 471 1 462 463 +M V30 472 1 464 463 +M V30 473 1 464 465 +M V30 474 1 466 465 +M V30 475 1 466 467 +M V30 476 1 468 467 +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.0000 -1.0000 DA ALL 1 " +M V30 END SGROUP +M V30 END CTAB +M V30 BEGIN TEMPLATE +M V30 TEMPLATE 1 AA/Met/M/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 11.3593 -6.4983 0 0 CFG=3 +M V30 2 C 11.9508 -6.0658 0 0 CFG=2 +M V30 3 O 12.5738 -7.24 0 0 +M V30 4 C 12.5738 -6.4869 0 0 +M V30 5 C 11.9508 -5.3108 0 0 +M V30 6 C 12.6008 -4.936 0 0 +M V30 7 S 12.6008 -4.186 0 0 +M V30 8 C 13.2508 -3.8113 0 0 +M V30 9 O 12.7875 -6.4869 0 0 +M V30 10 H 11.1375 -6.4983 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 +M V30 4 1 1 2 +M V30 5 1 6 7 +M V30 6 1 2 4 +M V30 7 1 7 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 -0.01 0) LABEL=M CLASS=AA SAP=(3 4 9 Br) - +M V30 SAP=(3 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 2 AA/Thr/T/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.4087 -9.1266 0 0 CFG=3 +M V30 2 C 13.0002 -8.6942 0 0 CFG=2 +M V30 3 O 13.6231 -9.8683 0 0 +M V30 4 C 13.6231 -9.1152 0 0 +M V30 5 C 13.0002 -7.9391 0 0 CFG=2 +M V30 6 O 13.6502 -7.5644 0 0 +M V30 7 C 12.3512 -7.5638 0 0 +M V30 8 H 13.0159 -8.1909 0 0 +M V30 9 H 12.1879 -9.1209 0 0 +M V30 10 O 13.8379 -9.1209 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 9 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 10 +M V30 5 1 5 6 CFG=1 +M V30 6 1 5 7 +M V30 7 1 6 8 +M V30 8 1 2 4 +M V30 9 1 1 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(3 7 1 4) BRKXYZ=(9 -4.38 -2.7 - +M V30 0 -4.38 1.03 0 0 0 0) CSTATE=(4 7 0 0.93 0) CSTATE=(4 1 -0.83 0 0) - +M V30 CSTATE=(4 4 0.82 0 0) LABEL=T CLASS=AA SAP=(3 6 8 Cx) SAP=(3 - +M V30 1 9 Al) SAP=(3 4 10 Br) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 7) BRKXYZ=(9 -1.74 0.45 0 -2.15 0.45 0 - +M V30 0 0 0) CSTATE=(4 7 0 -0.93 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 1) BRKXYZ=(9 -3.73 -1.29 0 -3.74 -1.7 0 - +M V30 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 10) XBONDS=(1 4) BRKXYZ=(9 -1.42 -1.69 0 -1.42 -1.28 - +M V30 0 0 0 0) CSTATE=(4 4 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 3 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 4 AA/Glu/E/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 7.5407 -8.8161 0 0 CFG=3 +M V30 2 C 8.5633 -8.2257 0 0 CFG=1 +M V30 3 C 8.5633 -7.0446 0 0 +M V30 4 C 9.5862 -6.454 0 0 +M V30 5 C 9.5862 -5.2728 0 0 +M V30 6 O 10.6092 -4.6822 0 0 +M V30 7 O 8.5633 -4.6822 0 0 +M V30 8 H 8.5634 -7.6351 0 0 +M V30 9 C 9.5862 -8.8163 0 0 +M V30 10 O 10.7654 -8.8163 0 0 +M V30 11 O 9.5862 -9.9974 0 0 +M V30 12 H 6.4866 -8.8161 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 2 +M V30 2 1 2 3 CFG=1 +M V30 3 1 3 4 +M V30 4 1 4 5 +M V30 5 2 5 6 +M V30 6 1 5 7 +M V30 7 1 7 8 +M V30 8 1 2 9 +M V30 9 1 9 10 +M V30 10 2 9 11 +M V30 11 1 1 12 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 8) XBONDS=(1 7) CSTATE=(4 7 0 -1.18 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 2.08 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 9) CSTATE=(4 9 -2.2 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(9 1 2 3 9 4 5 6 7 11) XBONDS=(3 11 9 7) CSTATE=(4 11 - +M V30 -2.08 0 0) CSTATE=(4 9 2.2 -0 0) CSTATE=(4 7 -0 1.18 0) LABEL=E - +M V30 CLASS=AA SAP=(3 9 10 Br) SAP=(3 1 12 Al) SAP=(3 7 8 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 5 AA/Asp/D/ +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 1 +M V30 BEGIN ATOM +M V30 1 N -3.9532 -1.0983 0 0 CFG=3 +M V30 2 C -3.3617 -0.6658 0 0 CFG=2 +M V30 3 O -2.7387 -1.84 0 0 +M V30 4 C -2.7387 -1.0869 0 0 +M V30 5 C -3.3617 0.0892 0 0 +M V30 6 C -2.7133 0.4694 0 0 +M V30 7 O -2.0644 0.0939 0 0 +M V30 8 O -2.7133 1.22 0 0 +M V30 9 H -3.3905 -0.3084 0 0 +M V30 10 H -4.1738 -1.0926 0 0 +M V30 11 O -2.5238 -1.0926 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 1 4 11 +M V30 3 1 5 6 +M V30 4 1 2 5 CFG=1 +M V30 5 2 6 7 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 1 2 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 -2.55 1.63 0 -2.95 1.6 0 - +M V30 0 0 0) CSTATE=(4 6 0.04 -0.78 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 1) BRKXYZ=(9 -4.51 -0.88 0 -4.51 -1.29 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(3 6 1 2) BRKXYZ=(9 -5.16 - +M V30 -2.3 0 -5.16 2.19 0 0 0 0) CSTATE=(4 6 -0.04 0.78 0) CSTATE=(4 1 - +M V30 -0.83 0 0) CSTATE=(4 2 0.82 0 0) LABEL=D CLASS=AA SAP=(3 8 9 Cx) - +M V30 SAP=(3 1 10 Al) SAP=(3 4 11 Br) +M V30 4 SUP 4 ATOMS=(1 11) XBONDS=(1 2) BRKXYZ=(9 -2.2 -1.28 0 -2.2 -0.87 0 - +M V30 0 0 0) CSTATE=(4 2 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 6 AA/Gln/Q/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 9.0938 -7 0 0 CFG=3 +M V30 2 C 10.1166 -6.4094 0 0 CFG=1 +M V30 3 H 7.7893 -7 0 0 +M V30 4 C 10.1166 -5.228 0 0 +M V30 5 C 11.1398 -7.0002 0 0 +M V30 6 O 12.4755 -7.0002 0 0 +M V30 7 O 11.1398 -8.1816 0 0 +M V30 8 C 11.1398 -4.6373 0 0 +M V30 9 C 11.1398 -3.4558 0 0 +M V30 10 O 12.163 -2.8651 0 0 +M V30 11 N 10.1166 -2.8651 0 0 CFG=3 +M V30 12 H 10.1166 -1.6836 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 CFG=1 +M V30 4 1 2 5 +M V30 5 1 5 6 +M V30 6 2 5 7 +M V30 7 1 4 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 SGROUP +M V30 1 SUP 1 ATOMS=(9 1 2 4 5 7 8 9 10 11) XBONDS=(3 2 5 11) CSTATE=(4 2 - +M V30 -2.33 0 0) CSTATE=(4 5 2.36 -0 0) CSTATE=(4 11 -0 5.32 0) LABEL=- +M V30 Q CLASS=AA SAP=(3 1 3 Al) SAP=(3 5 6 Br) SAP=(3 11 12 Cx) +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 2) CSTATE=(4 2 2.33 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 6) XBONDS=(1 5) CSTATE=(4 5 -2.36 0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 12) XBONDS=(1 11) CSTATE=(4 11 0 -5.32 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 7 AA/Leu/L/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 3.0177 -14.1191 0 0 CFG=3 +M V30 2 C 3.6092 -13.6867 0 0 CFG=2 +M V30 3 O 4.2321 -14.8608 0 0 +M V30 4 C 4.2321 -14.1077 0 0 +M V30 5 C 3.6092 -12.9316 0 0 +M V30 6 C 4.2592 -12.5569 0 0 CFG=3 +M V30 7 C 4.2592 -11.8069 0 0 +M V30 8 C 4.9085 -12.9321 0 0 +M V30 9 O 4.4458 -14.1077 0 0 +M V30 10 H 2.7958 -14.0917 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 +M V30 4 1 1 2 +M V30 5 1 6 7 +M V30 6 1 2 4 +M V30 7 1 6 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.02 0) LABEL=L CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 8 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 9 AA/Ser/S/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3872 -8.2377 0 0 CFG=3 +M V30 2 C 12.9787 -7.8052 0 0 CFG=2 +M V30 3 O 13.6017 -8.9794 0 0 +M V30 4 C 13.6017 -8.2263 0 0 +M V30 5 C 12.9787 -7.0502 0 0 +M V30 6 O 13.6287 -6.6754 0 0 +M V30 7 H 13.0227 -7.3333 0 0 +M V30 8 H 12.1665 -8.2208 0 0 +M V30 9 O 13.8165 -8.2263 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 8 +M V30 2 2 4 3 +M V30 3 1 2 5 CFG=1 +M V30 4 1 4 9 +M V30 5 1 5 6 +M V30 6 1 6 7 +M V30 7 1 2 4 +M V30 8 1 1 2 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 7) XBONDS=(1 6) BRKXYZ=(9 -3.33 -2.14 0 -3.74 -2.14 0 - +M V30 0 0 0) CSTATE=(4 6 -0.03 -0.9 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 1) BRKXYZ=(9 -5.32 -3.88 0 -5.33 -4.29 0 - +M V30 0 0 0) CSTATE=(4 1 0.83 -0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(6 1 2 3 4 5 6) XBONDS=(3 6 1 4) BRKXYZ=(9 -5.98 -5.3 0 - +M V30 -5.98 -1.57 0 0 0 0) CSTATE=(4 6 0.03 0.9 0) CSTATE=(4 1 -0.83 - +M V30 0.01 0) CSTATE=(4 4 0.82 0.01 0) LABEL=S CLASS=AA SAP=(3 6 7 Cx) - +M V30 SAP=(3 1 8 Al) SAP=(3 4 9 Br) +M V30 4 SUP 4 ATOMS=(1 9) XBONDS=(1 4) BRKXYZ=(9 -3.01 -4.28 0 -3.01 -3.87 0 - +M V30 0 0 0) CSTATE=(4 4 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 10 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 11 AA/Arg/R/ +M V30 BEGIN CTAB +M V30 COUNTS 14 13 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3873 -8.5503 0 0 CFG=3 +M V30 2 C 14.9284 -5.4886 0 0 +M V30 3 N 14.9284 -4.7386 0 0 CFG=3 +M V30 4 N 15.5778 -5.8639 0 0 +M V30 5 N 14.2746 -5.8884 0 0 CFG=3 +M V30 6 C 12.9788 -8.1179 0 0 CFG=2 +M V30 7 O 13.6017 -9.292 0 0 +M V30 8 C 13.6017 -8.539 0 0 +M V30 9 C 12.9788 -7.3628 0 0 +M V30 10 C 13.6288 -6.9881 0 0 +M V30 11 C 13.6288 -6.2381 0 0 +M V30 12 O 13.8165 -8.539 0 0 +M V30 13 H 12.9915 -7.6769 0 0 +M V30 14 H 12.1665 -8.5332 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 14 +M V30 2 1 1 6 +M V30 3 1 6 8 +M V30 4 2 8 7 +M V30 5 1 6 9 CFG=1 +M V30 6 1 5 2 +M V30 7 1 3 13 +M V30 8 1 2 3 +M V30 9 1 9 10 +M V30 10 1 8 12 +M V30 11 1 10 11 +M V30 12 1 11 5 +M V30 13 2 2 4 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(11 5 2 3 4 1 6 7 8 9 10 11) XBONDS=(3 10 7 1) BRKXYZ=(9 - +M V30 -3.92 -3.36 0 -3.92 2.61 0 0 0 0) CSTATE=(4 10 0.82 0.01 0) - +M V30 CSTATE=(4 7 -0 0.87 0) CSTATE=(4 1 -0.83 0.01 0) LABEL=R - +M V30 CLASS=AA SAP=(3 8 12 Br) SAP=(3 3 13 Cx) SAP=(3 1 14 Al) +M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.95 -2.35 0 -0.95 -1.94 - +M V30 0 0 0 0) CSTATE=(4 10 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 7) BRKXYZ=(9 0.03 2.05 0 -0.38 2.05 0 - +M V30 0 0 0) CSTATE=(4 7 0 -0.87 0) LABEL=H CLASS=LGRP +M V30 4 SUP 4 ATOMS=(1 14) XBONDS=(1 1) BRKXYZ=(9 -3.26 -1.95 0 -3.27 -2.35 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 -0.01 0) LABEL=H CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 6) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 12 AA/Val/V/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 5.7968 -18.3649 0 0 CFG=3 +M V30 2 C 6.3883 -17.9325 0 0 CFG=2 +M V30 3 O 7.0113 -19.1066 0 0 +M V30 4 C 7.0113 -18.3536 0 0 +M V30 5 C 6.3883 -17.1774 0 0 CFG=3 +M V30 6 C 7.0383 -16.8027 0 0 +M V30 7 C 5.7393 -16.8022 0 0 +M V30 8 O 7.225 -18.3536 0 0 +M V30 9 H 5.575 -18.35 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 2 5 CFG=1 +M V30 2 1 4 8 +M V30 3 1 1 9 +M V30 4 1 5 6 +M V30 5 1 1 2 +M V30 6 1 5 7 +M V30 7 1 2 4 +M V30 8 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(7 1 2 3 4 5 6 7) XBONDS=(2 2 3) CSTATE=(4 2 0.82 0.01 - +M V30 0) CSTATE=(4 3 -0.83 0.01 0) LABEL=V CLASS=AA SAP=(3 4 8 Br) SAP=(3 - +M V30 1 9 Al) +M V30 2 SUP 2 ATOMS=(1 8) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 3) CSTATE=(4 3 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 13 AA/Phe/F/ +M V30 BEGIN CTAB +M V30 COUNTS 13 13 3 0 1 +M V30 BEGIN ATOM +M V30 1 N -0.824 1.0892 0 0 CFG=3 +M V30 2 C -0.2325 1.5217 0 0 CFG=2 +M V30 3 O 0.3932 0.3475 0 0 +M V30 4 C 0.3904 1.1006 0 0 +M V30 5 C -0.2322 2.2767 0 0 +M V30 6 C 0.4167 3.4042 0 0 +M V30 7 C 0.4167 2.6542 0 0 +M V30 8 C 1.0662 2.2792 0 0 +M V30 9 C 1.7157 2.6542 0 0 +M V30 10 C 1.7157 3.4042 0 0 +M V30 11 C 1.0662 3.7792 0 0 +M V30 12 O 0.6042 1.1 0 0 +M V30 13 H -1.0458 1.0792 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 5 7 +M V30 2 1 4 12 +M V30 3 1 1 13 +M V30 4 2 6 7 +M V30 5 1 1 2 +M V30 6 1 7 8 +M V30 7 1 2 4 +M V30 8 2 8 9 +M V30 9 2 4 3 +M V30 10 1 9 10 +M V30 11 1 2 5 CFG=1 +M V30 12 2 10 11 +M V30 13 1 11 6 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 2) CSTATE=(4 2 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(2 2 3) CSTATE=(4 2 - +M V30 0.82 0.01 0) CSTATE=(4 3 -0.83 -0.02 0) LABEL=F CLASS=AA SAP=(3 4 - +M V30 12 Br) SAP=(3 1 13 Al) +M V30 3 SUP 3 ATOMS=(1 13) XBONDS=(1 3) CSTATE=(4 3 0.83 0.02 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 14 AA/Tyr/Y/ +M V30 BEGIN CTAB +M V30 COUNTS 15 15 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3842 -8.2388 0 0 CFG=3 +M V30 2 C 12.9757 -7.8064 0 0 CFG=2 +M V30 3 O 13.5986 -8.9805 0 0 +M V30 4 C 13.5986 -8.2275 0 0 +M V30 5 C 12.9757 -7.0513 0 0 +M V30 6 C 13.6248 -5.9239 0 0 +M V30 7 C 13.6248 -6.6739 0 0 +M V30 8 C 14.2744 -7.0489 0 0 +M V30 9 C 14.9239 -6.6739 0 0 +M V30 10 C 14.9239 -5.9239 0 0 +M V30 11 C 14.2744 -5.5489 0 0 +M V30 12 O 15.5734 -5.5489 0 0 +M V30 13 H 12.956 -7.2697 0 0 +M V30 14 H 12.1665 -8.2197 0 0 +M V30 15 O 13.8165 -8.2275 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 12 13 +M V30 2 2 6 7 +M V30 3 1 1 14 +M V30 4 1 7 8 +M V30 5 1 1 2 +M V30 6 2 8 9 +M V30 7 1 2 4 +M V30 8 1 9 10 +M V30 9 2 4 3 +M V30 10 2 10 11 +M V30 11 1 11 6 +M V30 12 1 2 5 CFG=1 +M V30 13 1 10 12 +M V30 14 1 4 15 +M V30 15 1 5 7 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 13) XBONDS=(1 1) CSTATE=(4 1 0.04 -0.96 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 14) XBONDS=(1 3) CSTATE=(4 3 0.82 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(12 1 2 3 4 5 6 7 8 9 10 11 12) XBONDS=(3 1 3 14) - +M V30 CSTATE=(4 1 -0.04 0.96 0) CSTATE=(4 3 -0.82 0.01 0) - +M V30 CSTATE=(4 14 0.83 0.01 0) LABEL=Y CLASS=AA SAP=(3 12 13 Cx) - +M V30 SAP=(3 1 14 Al) SAP=(3 4 15 Br) +M V30 4 SUP 4 ATOMS=(1 15) XBONDS=(1 14) CSTATE=(4 14 -0.83 -0.01 0) LABEL=- +M V30 OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 15 AA/Ile/I/ +M V30 BEGIN CTAB +M V30 COUNTS 10 9 3 0 1 +M V30 BEGIN ATOM +M V30 1 N 11.451 -3.4691 0 0 CFG=3 +M V30 2 C 12.0425 -3.0367 0 0 CFG=2 +M V30 3 O 12.6654 -4.2108 0 0 +M V30 4 C 12.6654 -3.4577 0 0 +M V30 5 C 12.0425 -2.2816 0 0 CFG=1 +M V30 6 C 12.6925 -1.9069 0 0 +M V30 7 C 11.3935 -1.9063 0 0 +M V30 8 C 11.3935 -1.1542 0 0 +M V30 9 O 12.8792 -3.4577 0 0 +M V30 10 H 11.2292 -3.4542 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 9 +M V30 2 1 1 10 +M V30 3 1 5 6 CFG=3 +M V30 4 1 1 2 +M V30 5 1 5 7 +M V30 6 1 2 4 +M V30 7 1 7 8 +M V30 8 2 4 3 +M V30 9 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(2 1 2) CSTATE=(4 1 0.82 0.01 - +M V30 0) CSTATE=(4 2 -0.83 0.01 0) LABEL=I CLASS=AA SAP=(3 4 9 Br) SAP=(3 - +M V30 1 10 Al) +M V30 2 SUP 2 ATOMS=(1 9) XBONDS=(1 1) CSTATE=(4 1 -0.82 -0.01 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 10) XBONDS=(1 2) CSTATE=(4 2 0.83 -0.01 0) LABEL=H - +M V30 CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(2 2 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 16 AA/Trp/W/ +M V30 BEGIN CTAB +M V30 COUNTS 17 18 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3875 -8.2374 0 0 CFG=3 +M V30 2 C 12.979 -7.805 0 0 CFG=2 +M V30 3 O 13.6019 -8.9791 0 0 +M V30 4 C 13.6019 -8.2261 0 0 +M V30 5 C 12.979 -7.0499 0 0 +M V30 6 C 14.3548 -6.8428 0 0 +M V30 7 C 13.6282 -6.6725 0 0 +M V30 8 N 14.7422 -6.1983 0 0 CFG=3 +M V30 9 C 13.5602 -5.9264 0 0 +M V30 10 C 14.2497 -5.6328 0 0 +M V30 11 C 14.3387 -4.8891 0 0 +M V30 12 C 13.7356 -4.4406 0 0 +M V30 13 C 13.0461 -4.7342 0 0 +M V30 14 C 12.9633 -5.4743 0 0 +M V30 15 H 13.7165 -7.4898 0 0 +M V30 16 H 12.0102 -8.2523 0 0 +M V30 17 O 13.8165 -8.2261 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 16 +M V30 2 1 8 6 +M V30 3 1 8 15 +M V30 4 1 7 9 +M V30 5 1 10 8 +M V30 6 1 1 2 +M V30 7 1 2 4 +M V30 8 2 9 10 +M V30 9 2 4 3 +M V30 10 1 10 11 +M V30 11 1 2 5 CFG=1 +M V30 12 2 11 12 +M V30 13 1 4 17 +M V30 14 1 12 13 +M V30 15 2 13 14 +M V30 16 1 14 9 +M V30 17 1 5 7 +M V30 18 2 6 7 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 15) XBONDS=(1 3) BRKXYZ=(9 -0.02 2.59 0 -0.43 2.58 0 - +M V30 0 0 0) CSTATE=(4 3 -0.72 -0.74 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 16) XBONDS=(1 1) BRKXYZ=(9 -3.11 0.37 0 -3.11 -0.04 0 - +M V30 0 0 0) CSTATE=(4 1 0.98 0.02 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(14 1 2 3 4 5 6 7 8 9 10 11 12 13 14) XBONDS=(3 3 1 13) - +M V30 BRKXYZ=(9 -3.76 -1.05 0 -3.76 4.32 0 0 0 0) CSTATE=(4 3 0.72 - +M V30 0.74 0) CSTATE=(4 1 -0.98 -0.02 0) CSTATE=(4 13 0.82 0.01 0) - +M V30 LABEL=W CLASS=AA SAP=(3 8 15 Cx) SAP=(3 1 16 Al) SAP=(3 4 17 Br) +M V30 4 SUP 4 ATOMS=(1 17) XBONDS=(1 13) BRKXYZ=(9 -0.8 -0.04 0 -0.79 0.37 0 - +M V30 0 0 0) CSTATE=(4 13 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 17 AA/Lys/K/ +M V30 BEGIN CTAB +M V30 COUNTS 12 11 4 0 1 +M V30 BEGIN ATOM +M V30 1 N 12.3874 -8.2377 0 0 CFG=3 +M V30 2 C 12.9789 -7.8052 0 0 CFG=2 +M V30 3 O 13.6018 -8.9794 0 0 +M V30 4 C 13.6018 -8.2263 0 0 +M V30 5 C 12.9789 -7.0502 0 0 +M V30 6 C 13.6289 -6.6754 0 0 +M V30 7 C 13.6289 -5.9254 0 0 +M V30 8 C 14.2789 -5.5507 0 0 +M V30 9 N 14.2789 -4.8007 0 0 CFG=3 +M V30 10 H 12.9915 -7.302 0 0 +M V30 11 H 12.1665 -8.2377 0 0 +M V30 12 O 13.8165 -8.2263 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 11 +M V30 2 1 5 6 +M V30 3 1 9 10 +M V30 4 1 6 7 +M V30 5 1 4 12 +M V30 6 1 7 8 +M V30 7 1 1 2 +M V30 8 1 8 9 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 11 1 2 5 CFG=1 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 10) XBONDS=(1 3) BRKXYZ=(9 -2.09 -0.45 0 -2.5 -0.45 0 - +M V30 0 0 0) CSTATE=(4 3 0 -0.93 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 11) XBONDS=(1 1) BRKXYZ=(9 -4.73 -4.07 0 -4.73 -4.48 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0.01 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(9 1 2 3 4 5 6 7 8 9) XBONDS=(3 3 1 5) BRKXYZ=(9 -5.38 - +M V30 -5.48 0 -5.38 0.12 0 0 0 0) CSTATE=(4 3 -0 0.93 0) CSTATE=(4 1 - +M V30 -0.83 -0.01 0) CSTATE=(4 5 0.82 0.01 0) LABEL=K CLASS=AA SAP=(3 - +M V30 9 10 Cx) SAP=(3 1 11 Al) SAP=(3 4 12 Br) +M V30 4 SUP 4 ATOMS=(1 12) XBONDS=(1 5) BRKXYZ=(9 -2.42 -4.47 0 -2.42 -4.06 - +M V30 0 0 0 0) CSTATE=(4 5 -0.82 -0.01 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 18 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 19 AA/Asn/N/ +M V30 BEGIN CTAB +M V30 COUNTS 11 10 4 0 1 +M V30 BEGIN ATOM +M V30 1 N -3.9532 -1.0983 0 0 CFG=3 +M V30 2 C -3.3617 -0.6658 0 0 CFG=2 +M V30 3 O -2.7387 -1.84 0 0 +M V30 4 C -2.7387 -1.0869 0 0 +M V30 5 C -3.3617 0.0892 0 0 +M V30 6 C -2.7133 0.4694 0 0 +M V30 7 O -2.0644 0.0939 0 0 +M V30 8 N -2.7133 1.22 0 0 CFG=3 +M V30 9 H -3.3905 -0.3084 0 0 +M V30 10 H -4.1738 -1.0926 0 0 +M V30 11 O -2.5238 -1.0926 0 0 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 1 10 +M V30 2 1 4 11 +M V30 3 1 5 6 +M V30 4 1 2 5 CFG=1 +M V30 5 2 6 7 +M V30 6 1 8 9 +M V30 7 1 6 8 +M V30 8 1 1 2 +M V30 9 1 2 4 +M V30 10 2 4 3 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 -2.55 1.63 0 -2.95 1.6 0 - +M V30 0 0 0) CSTATE=(4 6 0.04 -0.78 0) LABEL=H CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 10) XBONDS=(1 1) BRKXYZ=(9 -4.51 -0.88 0 -4.51 -1.29 - +M V30 0 0 0 0) CSTATE=(4 1 0.83 0 0) LABEL=H CLASS=LGRP +M V30 3 SUP 3 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(3 6 1 2) BRKXYZ=(9 -5.16 - +M V30 -2.3 0 -5.16 2.19 0 0 0 0) CSTATE=(4 6 -0.04 0.78 0) CSTATE=(4 1 - +M V30 -0.83 0 0) CSTATE=(4 2 0.82 0 0) LABEL=N CLASS=AA SAP=(3 8 9 Cx) - +M V30 SAP=(3 1 10 Al) SAP=(3 4 11 Br) +M V30 4 SUP 4 ATOMS=(1 11) XBONDS=(1 2) BRKXYZ=(9 -2.2 -1.28 0 -2.2 -0.87 0 - +M V30 0 0 0) CSTATE=(4 2 -0.82 0 0) LABEL=OH CLASS=LGRP +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 2) +M V30 END COLLECTION +M V30 END CTAB +M V30 TEMPLATE 20 AA/Cys/C/ +M V30 BEGIN CTAB +M V30 COUNTS 9 8 4 0 1 +M V30 BEGIN ATOM +M V30 1 H 9.2012 -7.1587 0 0 +M V30 2 H 8.3747 -7.9854 0 0 +M V30 3 O 10.0281 -7.9854 0 0 +M V30 4 S 9.7182 -6.7372 0 0 +M V30 5 C 9.1949 -7.6427 0 0 CFG=2 +M V30 6 O 9.6984 -8.5803 0 0 +M V30 7 C 9.6984 -7.9763 0 0 +M V30 8 C 9.1949 -7.0388 0 0 +M V30 9 N 8.7041 -7.9947 0 0 CFG=3 +M V30 END ATOM +M V30 BEGIN BOND +M V30 1 1 4 1 +M V30 2 1 7 3 +M V30 3 1 9 2 +M V30 4 2 7 6 +M V30 5 1 5 8 CFG=1 +M V30 6 1 8 4 +M V30 7 1 5 7 +M V30 8 1 9 5 +M V30 END BOND +M V30 BEGIN SGROUP +M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 3) CSTATE=(4 3 0.83 -0 0) LABEL=H - +M V30 CLASS=LGRP +M V30 2 SUP 2 ATOMS=(1 3) XBONDS=(1 2) CSTATE=(4 2 -0.83 -0 0) LABEL=OH - +M V30 CLASS=LGRP +M V30 3 SUP 3 ATOMS=(1 1) XBONDS=(1 1) CSTATE=(4 1 0 -0.83 0) LABEL=H - +M V30 CLASS=LGRP +M V30 4 SUP 4 ATOMS=(6 9 5 6 7 8 4) XBONDS=(3 3 2 1) CSTATE=(4 3 -0.83 0 0) - +M V30 CSTATE=(4 2 0.83 0 0) CSTATE=(4 1 -0 0.83 0) LABEL=C - +M V30 CLASS=AA SAP=(3 9 2 Al) SAP=(3 7 3 Br) SAP=(3 4 1 Cx) +M V30 END SGROUP +M V30 BEGIN COLLECTION +M V30 MDLV30/STEABS ATOMS=(1 5) +M V30 END COLLECTION +M V30 END CTAB +M V30 END TEMPLATE +M END From 3b7cfe28b6e09534ca33b81d00ea801b3157d474 Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 11:50:25 +0100 Subject: [PATCH 25/27] molv3000-fix --- .../tests/formats/ref/peptides.ket | 15889 ++++++++++++++++ 1 file changed, 15889 insertions(+) create mode 100644 api/tests/integration/tests/formats/ref/peptides.ket diff --git a/api/tests/integration/tests/formats/ref/peptides.ket b/api/tests/integration/tests/formats/ref/peptides.ket new file mode 100644 index 0000000000..57391c5d9b --- /dev/null +++ b/api/tests/integration/tests/formats/ref/peptides.ket @@ -0,0 +1,15889 @@ +{ + "root": { + "nodes": [ + { + "$ref": "monomer0" + }, + { + "$ref": "monomer1" + }, + { + "$ref": "monomer2" + }, + { + "$ref": "monomer3" + }, + { + "$ref": "monomer4" + }, + { + "$ref": "monomer5" + }, + { + "$ref": "monomer6" + }, + { + "$ref": "monomer7" + }, + { + "$ref": "monomer8" + }, + { + "$ref": "monomer9" + }, + { + "$ref": "monomer10" + }, + { + "$ref": "monomer11" + }, + { + "$ref": "monomer12" + }, + { + "$ref": "monomer13" + }, + { + "$ref": "monomer14" + }, + { + "$ref": "monomer15" + }, + { + "$ref": "monomer16" + }, + { + "$ref": "monomer17" + }, + { + "$ref": "monomer18" + }, + { + "$ref": "monomer19" + }, + { + "$ref": "monomer20" + }, + { + "$ref": "monomer21" + }, + { + "$ref": "monomer22" + }, + { + "$ref": "monomer23" + }, + { + "$ref": "monomer24" + }, + { + "$ref": "monomer25" + }, + { + "$ref": "monomer26" + }, + { + "$ref": "monomer27" + }, + { + "$ref": "monomer28" + }, + { + "$ref": "monomer29" + }, + { + "$ref": "monomer30" + }, + { + "$ref": "monomer31" + }, + { + "$ref": "monomer32" + }, + { + "$ref": "monomer33" + }, + { + "$ref": "monomer34" + }, + { + "$ref": "monomer35" + }, + { + "$ref": "monomer36" + }, + { + "$ref": "monomer37" + }, + { + "$ref": "monomer38" + }, + { + "$ref": "monomer39" + }, + { + "$ref": "monomer40" + }, + { + "$ref": "monomer41" + }, + { + "$ref": "monomer42" + }, + { + "$ref": "monomer43" + }, + { + "$ref": "monomer44" + }, + { + "$ref": "monomer45" + }, + { + "$ref": "monomer46" + }, + { + "$ref": "monomer47" + }, + { + "$ref": "monomer48" + }, + { + "$ref": "monomer49" + }, + { + "$ref": "monomer50" + }, + { + "$ref": "monomer51" + }, + { + "$ref": "monomer52" + }, + { + "$ref": "monomer53" + }, + { + "$ref": "monomer54" + }, + { + "$ref": "monomer55" + }, + { + "$ref": "monomer56" + }, + { + "$ref": "monomer57" + }, + { + "$ref": "monomer58" + }, + { + "$ref": "monomer59" + }, + { + "$ref": "monomer60" + }, + { + "$ref": "monomer61" + }, + { + "$ref": "monomer62" + }, + { + "$ref": "monomer63" + }, + { + "$ref": "monomer64" + }, + { + "$ref": "monomer65" + }, + { + "$ref": "monomer66" + }, + { + "$ref": "monomer67" + }, + { + "$ref": "monomer68" + }, + { + "$ref": "monomer69" + }, + { + "$ref": "monomer70" + }, + { + "$ref": "monomer71" + }, + { + "$ref": "monomer72" + }, + { + "$ref": "monomer73" + }, + { + "$ref": "monomer74" + }, + { + "$ref": "monomer75" + }, + { + "$ref": "monomer76" + }, + { + "$ref": "monomer77" + }, + { + "$ref": "monomer78" + }, + { + "$ref": "monomer79" + }, + { + "$ref": "monomer80" + }, + { + "$ref": "monomer81" + }, + { + "$ref": "monomer82" + }, + { + "$ref": "monomer83" + }, + { + "$ref": "monomer84" + }, + { + "$ref": "monomer85" + }, + { + "$ref": "monomer86" + }, + { + "$ref": "monomer87" + }, + { + "$ref": "monomer88" + }, + { + "$ref": "monomer89" + }, + { + "$ref": "monomer90" + }, + { + "$ref": "monomer91" + }, + { + "$ref": "monomer92" + }, + { + "$ref": "monomer93" + }, + { + "$ref": "monomer94" + }, + { + "$ref": "monomer95" + }, + { + "$ref": "monomer96" + }, + { + "$ref": "monomer97" + }, + { + "$ref": "monomer98" + }, + { + "$ref": "monomer99" + }, + { + "$ref": "monomer100" + }, + { + "$ref": "monomer101" + }, + { + "$ref": "monomer102" + }, + { + "$ref": "monomer103" + }, + { + "$ref": "monomer104" + }, + { + "$ref": "monomer105" + }, + { + "$ref": "monomer106" + }, + { + "$ref": "monomer107" + }, + { + "$ref": "monomer108" + }, + { + "$ref": "monomer109" + }, + { + "$ref": "monomer110" + }, + { + "$ref": "monomer111" + }, + { + "$ref": "monomer112" + }, + { + "$ref": "monomer113" + }, + { + "$ref": "monomer114" + }, + { + "$ref": "monomer115" + }, + { + "$ref": "monomer116" + }, + { + "$ref": "monomer117" + }, + { + "$ref": "monomer118" + }, + { + "$ref": "monomer119" + }, + { + "$ref": "monomer120" + }, + { + "$ref": "monomer121" + }, + { + "$ref": "monomer122" + }, + { + "$ref": "monomer123" + }, + { + "$ref": "monomer124" + }, + { + "$ref": "monomer125" + }, + { + "$ref": "monomer126" + }, + { + "$ref": "monomer127" + }, + { + "$ref": "monomer128" + }, + { + "$ref": "monomer129" + }, + { + "$ref": "monomer130" + }, + { + "$ref": "monomer131" + }, + { + "$ref": "monomer132" + }, + { + "$ref": "monomer133" + }, + { + "$ref": "monomer134" + }, + { + "$ref": "monomer135" + }, + { + "$ref": "monomer136" + }, + { + "$ref": "monomer137" + }, + { + "$ref": "monomer138" + }, + { + "$ref": "monomer139" + }, + { + "$ref": "monomer140" + }, + { + "$ref": "monomer141" + }, + { + "$ref": "monomer142" + }, + { + "$ref": "monomer143" + }, + { + "$ref": "monomer144" + }, + { + "$ref": "monomer145" + }, + { + "$ref": "monomer146" + }, + { + "$ref": "monomer147" + }, + { + "$ref": "monomer148" + }, + { + "$ref": "monomer149" + }, + { + "$ref": "monomer150" + }, + { + "$ref": "monomer151" + }, + { + "$ref": "monomer152" + }, + { + "$ref": "monomer153" + }, + { + "$ref": "monomer154" + }, + { + "$ref": "monomer155" + }, + { + "$ref": "monomer156" + }, + { + "$ref": "monomer157" + }, + { + "$ref": "monomer158" + }, + { + "$ref": "monomer159" + }, + { + "$ref": "monomer160" + }, + { + "$ref": "monomer161" + }, + { + "$ref": "monomer162" + }, + { + "$ref": "monomer163" + }, + { + "$ref": "monomer164" + }, + { + "$ref": "monomer165" + }, + { + "$ref": "monomer166" + }, + { + "$ref": "monomer167" + }, + { + "$ref": "monomer168" + }, + { + "$ref": "monomer169" + }, + { + "$ref": "monomer170" + }, + { + "$ref": "monomer171" + }, + { + "$ref": "monomer172" + }, + { + "$ref": "monomer173" + }, + { + "$ref": "monomer174" + }, + { + "$ref": "monomer175" + }, + { + "$ref": "monomer176" + }, + { + "$ref": "monomer177" + }, + { + "$ref": "monomer178" + }, + { + "$ref": "monomer179" + }, + { + "$ref": "monomer180" + }, + { + "$ref": "monomer181" + }, + { + "$ref": "monomer182" + }, + { + "$ref": "monomer183" + }, + { + "$ref": "monomer184" + }, + { + "$ref": "monomer185" + }, + { + "$ref": "monomer186" + }, + { + "$ref": "monomer187" + }, + { + "$ref": "monomer188" + }, + { + "$ref": "monomer189" + }, + { + "$ref": "monomer190" + }, + { + "$ref": "monomer191" + }, + { + "$ref": "monomer192" + }, + { + "$ref": "monomer193" + }, + { + "$ref": "monomer194" + }, + { + "$ref": "monomer195" + }, + { + "$ref": "monomer196" + }, + { + "$ref": "monomer197" + }, + { + "$ref": "monomer198" + }, + { + "$ref": "monomer199" + }, + { + "$ref": "monomer200" + }, + { + "$ref": "monomer201" + }, + { + "$ref": "monomer202" + }, + { + "$ref": "monomer203" + }, + { + "$ref": "monomer204" + }, + { + "$ref": "monomer205" + }, + { + "$ref": "monomer206" + }, + { + "$ref": "monomer207" + }, + { + "$ref": "monomer208" + }, + { + "$ref": "monomer209" + }, + { + "$ref": "monomer210" + }, + { + "$ref": "monomer211" + }, + { + "$ref": "monomer212" + }, + { + "$ref": "monomer213" + }, + { + "$ref": "monomer214" + }, + { + "$ref": "monomer215" + }, + { + "$ref": "monomer216" + }, + { + "$ref": "monomer217" + }, + { + "$ref": "monomer218" + }, + { + "$ref": "monomer219" + }, + { + "$ref": "monomer220" + }, + { + "$ref": "monomer221" + }, + { + "$ref": "monomer222" + }, + { + "$ref": "monomer223" + }, + { + "$ref": "monomer224" + }, + { + "$ref": "monomer225" + }, + { + "$ref": "monomer226" + }, + { + "$ref": "monomer227" + }, + { + "$ref": "monomer228" + }, + { + "$ref": "monomer229" + }, + { + "$ref": "monomer230" + }, + { + "$ref": "monomer231" + }, + { + "$ref": "monomer232" + }, + { + "$ref": "monomer233" + }, + { + "$ref": "monomer234" + }, + { + "$ref": "monomer235" + }, + { + "$ref": "monomer236" + }, + { + "$ref": "monomer237" + }, + { + "$ref": "monomer238" + }, + { + "$ref": "monomer239" + }, + { + "$ref": "monomer240" + }, + { + "$ref": "monomer241" + }, + { + "$ref": "monomer242" + }, + { + "$ref": "monomer243" + }, + { + "$ref": "monomer244" + }, + { + "$ref": "monomer245" + }, + { + "$ref": "monomer246" + }, + { + "$ref": "monomer247" + }, + { + "$ref": "monomer248" + }, + { + "$ref": "monomer249" + }, + { + "$ref": "monomer250" + }, + { + "$ref": "monomer251" + }, + { + "$ref": "monomer252" + }, + { + "$ref": "monomer253" + }, + { + "$ref": "monomer254" + }, + { + "$ref": "monomer255" + }, + { + "$ref": "monomer256" + }, + { + "$ref": "monomer257" + }, + { + "$ref": "monomer258" + }, + { + "$ref": "monomer259" + }, + { + "$ref": "monomer260" + }, + { + "$ref": "monomer261" + }, + { + "$ref": "monomer262" + }, + { + "$ref": "monomer263" + }, + { + "$ref": "monomer264" + }, + { + "$ref": "monomer265" + }, + { + "$ref": "monomer266" + }, + { + "$ref": "monomer267" + }, + { + "$ref": "monomer268" + }, + { + "$ref": "monomer269" + }, + { + "$ref": "monomer270" + }, + { + "$ref": "monomer271" + }, + { + "$ref": "monomer272" + }, + { + "$ref": "monomer273" + }, + { + "$ref": "monomer274" + }, + { + "$ref": "monomer275" + }, + { + "$ref": "monomer276" + }, + { + "$ref": "monomer277" + }, + { + "$ref": "monomer278" + }, + { + "$ref": "monomer279" + }, + { + "$ref": "monomer280" + }, + { + "$ref": "monomer281" + }, + { + "$ref": "monomer282" + }, + { + "$ref": "monomer283" + }, + { + "$ref": "monomer284" + }, + { + "$ref": "monomer285" + }, + { + "$ref": "monomer286" + }, + { + "$ref": "monomer287" + }, + { + "$ref": "monomer288" + }, + { + "$ref": "monomer289" + }, + { + "$ref": "monomer290" + }, + { + "$ref": "monomer291" + }, + { + "$ref": "monomer292" + }, + { + "$ref": "monomer293" + }, + { + "$ref": "monomer294" + }, + { + "$ref": "monomer295" + }, + { + "$ref": "monomer296" + }, + { + "$ref": "monomer297" + }, + { + "$ref": "monomer298" + }, + { + "$ref": "monomer299" + }, + { + "$ref": "monomer300" + }, + { + "$ref": "monomer301" + }, + { + "$ref": "monomer302" + }, + { + "$ref": "monomer303" + }, + { + "$ref": "monomer304" + }, + { + "$ref": "monomer305" + }, + { + "$ref": "monomer306" + }, + { + "$ref": "monomer307" + }, + { + "$ref": "monomer308" + }, + { + "$ref": "monomer309" + }, + { + "$ref": "monomer310" + }, + { + "$ref": "monomer311" + }, + { + "$ref": "monomer312" + }, + { + "$ref": "monomer313" + }, + { + "$ref": "monomer314" + }, + { + "$ref": "monomer315" + }, + { + "$ref": "monomer316" + }, + { + "$ref": "monomer317" + }, + { + "$ref": "monomer318" + }, + { + "$ref": "monomer319" + }, + { + "$ref": "monomer320" + }, + { + "$ref": "monomer321" + }, + { + "$ref": "monomer322" + }, + { + "$ref": "monomer323" + }, + { + "$ref": "monomer324" + }, + { + "$ref": "monomer325" + }, + { + "$ref": "monomer326" + }, + { + "$ref": "monomer327" + }, + { + "$ref": "monomer328" + }, + { + "$ref": "monomer329" + }, + { + "$ref": "monomer330" + }, + { + "$ref": "monomer331" + }, + { + "$ref": "monomer332" + }, + { + "$ref": "monomer333" + }, + { + "$ref": "monomer334" + }, + { + "$ref": "monomer335" + }, + { + "$ref": "monomer336" + }, + { + "$ref": "monomer337" + }, + { + "$ref": "monomer338" + }, + { + "$ref": "monomer339" + }, + { + "$ref": "monomer340" + }, + { + "$ref": "monomer341" + }, + { + "$ref": "monomer342" + }, + { + "$ref": "monomer343" + }, + { + "$ref": "monomer344" + }, + { + "$ref": "monomer345" + }, + { + "$ref": "monomer346" + }, + { + "$ref": "monomer347" + }, + { + "$ref": "monomer348" + }, + { + "$ref": "monomer349" + }, + { + "$ref": "monomer350" + }, + { + "$ref": "monomer351" + }, + { + "$ref": "monomer352" + }, + { + "$ref": "monomer353" + }, + { + "$ref": "monomer354" + }, + { + "$ref": "monomer355" + }, + { + "$ref": "monomer356" + }, + { + "$ref": "monomer357" + }, + { + "$ref": "monomer358" + }, + { + "$ref": "monomer359" + }, + { + "$ref": "monomer360" + }, + { + "$ref": "monomer361" + }, + { + "$ref": "monomer362" + }, + { + "$ref": "monomer363" + }, + { + "$ref": "monomer364" + }, + { + "$ref": "monomer365" + }, + { + "$ref": "monomer366" + }, + { + "$ref": "monomer367" + }, + { + "$ref": "monomer368" + }, + { + "$ref": "monomer369" + }, + { + "$ref": "monomer370" + }, + { + "$ref": "monomer371" + }, + { + "$ref": "monomer372" + }, + { + "$ref": "monomer373" + }, + { + "$ref": "monomer374" + }, + { + "$ref": "monomer375" + }, + { + "$ref": "monomer376" + }, + { + "$ref": "monomer377" + }, + { + "$ref": "monomer378" + }, + { + "$ref": "monomer379" + }, + { + "$ref": "monomer380" + }, + { + "$ref": "monomer381" + }, + { + "$ref": "monomer382" + }, + { + "$ref": "monomer383" + }, + { + "$ref": "monomer384" + }, + { + "$ref": "monomer385" + }, + { + "$ref": "monomer386" + }, + { + "$ref": "monomer387" + }, + { + "$ref": "monomer388" + }, + { + "$ref": "monomer389" + }, + { + "$ref": "monomer390" + }, + { + "$ref": "monomer391" + }, + { + "$ref": "monomer392" + }, + { + "$ref": "monomer393" + }, + { + "$ref": "monomer394" + }, + { + "$ref": "monomer395" + }, + { + "$ref": "monomer396" + }, + { + "$ref": "monomer397" + }, + { + "$ref": "monomer398" + }, + { + "$ref": "monomer399" + }, + { + "$ref": "monomer400" + }, + { + "$ref": "monomer401" + }, + { + "$ref": "monomer402" + }, + { + "$ref": "monomer403" + }, + { + "$ref": "monomer404" + }, + { + "$ref": "monomer405" + }, + { + "$ref": "monomer406" + }, + { + "$ref": "monomer407" + }, + { + "$ref": "monomer408" + }, + { + "$ref": "monomer409" + }, + { + "$ref": "monomer410" + }, + { + "$ref": "monomer411" + }, + { + "$ref": "monomer412" + }, + { + "$ref": "monomer413" + }, + { + "$ref": "monomer414" + }, + { + "$ref": "monomer415" + }, + { + "$ref": "monomer416" + }, + { + "$ref": "monomer417" + }, + { + "$ref": "monomer418" + }, + { + "$ref": "monomer419" + }, + { + "$ref": "monomer420" + }, + { + "$ref": "monomer421" + }, + { + "$ref": "monomer422" + }, + { + "$ref": "monomer423" + }, + { + "$ref": "monomer424" + }, + { + "$ref": "monomer425" + }, + { + "$ref": "monomer426" + }, + { + "$ref": "monomer427" + }, + { + "$ref": "monomer428" + }, + { + "$ref": "monomer429" + }, + { + "$ref": "monomer430" + }, + { + "$ref": "monomer431" + }, + { + "$ref": "monomer432" + }, + { + "$ref": "monomer433" + }, + { + "$ref": "monomer434" + }, + { + "$ref": "monomer435" + }, + { + "$ref": "monomer436" + }, + { + "$ref": "monomer437" + }, + { + "$ref": "monomer438" + }, + { + "$ref": "monomer439" + }, + { + "$ref": "monomer440" + }, + { + "$ref": "monomer441" + }, + { + "$ref": "monomer442" + }, + { + "$ref": "monomer443" + }, + { + "$ref": "monomer444" + }, + { + "$ref": "monomer445" + }, + { + "$ref": "monomer446" + }, + { + "$ref": "monomer447" + }, + { + "$ref": "monomer448" + }, + { + "$ref": "monomer449" + }, + { + "$ref": "monomer450" + }, + { + "$ref": "monomer451" + }, + { + "$ref": "monomer452" + }, + { + "$ref": "monomer453" + }, + { + "$ref": "monomer454" + }, + { + "$ref": "monomer455" + }, + { + "$ref": "monomer456" + }, + { + "$ref": "monomer457" + }, + { + "$ref": "monomer458" + }, + { + "$ref": "monomer459" + }, + { + "$ref": "monomer460" + }, + { + "$ref": "monomer461" + }, + { + "$ref": "monomer462" + }, + { + "$ref": "monomer463" + }, + { + "$ref": "monomer464" + }, + { + "$ref": "monomer465" + }, + { + "$ref": "monomer466" + }, + { + "$ref": "monomer467" + }, + { + "$ref": "monomer468" + }, + { + "$ref": "monomer469" + }, + { + "$ref": "monomer470" + }, + { + "$ref": "monomer471" + }, + { + "$ref": "monomer472" + }, + { + "$ref": "monomer473" + }, + { + "$ref": "monomer474" + }, + { + "$ref": "monomer475" + }, + { + "$ref": "monomer476" + } + ], + "connections": [ + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer0", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer1", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer2", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer3", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer2", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer3", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer4", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer6", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer5", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer7", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer6", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer8", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer7", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer9", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer8", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer9", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer11", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer10", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer12", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer11", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer13", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer12", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer14", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer13", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer15", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer14", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer16", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer15", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer17", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer16", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer18", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer17", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer18", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer20", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer19", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer21", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer20", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer21", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer22", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer23", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer22", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer24", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer23", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer24", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer25", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer26", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer25", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer27", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer26", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer28", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer27", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer29", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer28", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer30", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer29", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer31", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer30", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer32", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer31", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer33", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer32", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer34", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer33", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer35", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer34", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer36", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer35", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer37", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer36", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer38", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer37", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer38", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer39", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer40", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer39", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer41", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer40", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer42", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer41", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer43", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer42", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer44", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer43", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer45", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer44", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer46", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer45", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer47", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer46", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer47", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer48", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer49", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer48", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer50", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer49", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer51", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer50", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer52", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer51", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer52", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer53", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer54", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer53", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer55", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer54", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer55", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer56", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer57", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer56", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer58", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer57", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer59", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer58", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer60", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer59", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer61", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer60", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer62", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer61", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer62", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer63", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer64", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer63", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer64", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer65", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer66", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer67", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer66", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer68", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer67", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer69", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer68", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer70", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer69", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer70", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer71", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer72", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer71", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer73", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer72", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer74", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer73", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer75", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer74", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer76", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer75", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer76", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer77", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer78", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer77", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer79", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer78", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer80", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer79", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer81", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer80", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer82", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer81", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer83", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer82", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer84", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer83", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer85", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer84", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer86", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer85", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer87", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer86", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer88", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer87", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer88", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer89", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer90", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer89", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer91", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer90", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer92", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer91", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer92", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer93", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer94", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer93", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer95", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer94", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer96", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer95", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer96", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer97", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer98", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer97", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer98", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer99", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer100", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer99", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer101", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer100", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer476", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer101", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer102", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer476", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer102", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer103", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer104", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer103", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer105", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer104", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer106", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer105", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer107", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer106", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer108", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer107", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer109", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer108", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer110", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer109", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer111", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer110", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer112", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer111", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer113", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer112", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer113", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer114", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer115", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer114", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer116", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer115", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer117", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer116", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer117", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer118", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer119", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer118", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer119", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer120", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer121", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer120", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer122", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer121", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer123", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer122", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer124", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer123", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer125", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer124", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer125", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer126", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer127", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer126", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer128", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer127", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer128", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer129", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer130", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer129", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer131", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer130", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer475", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer131", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer475", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer132", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer133", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer132", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer134", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer133", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer135", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer134", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer135", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer136", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer137", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer136", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer138", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer137", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer139", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer138", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer140", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer139", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer141", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer140", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer141", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer142", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer143", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer142", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer144", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer143", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer144", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer145", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer146", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer145", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer147", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer146", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer147", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer148", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer149", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer148", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer150", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer149", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer151", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer150", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer151", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer152", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer153", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer152", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer154", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer153", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer155", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer154", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer156", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer155", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer156", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer474", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer474", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer157", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer158", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer157", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer158", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer159", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer160", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer159", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer161", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer160", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer162", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer161", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer163", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer162", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer164", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer163", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer165", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer164", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer166", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer165", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer167", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer166", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer168", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer167", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer169", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer168", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer169", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer170", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer171", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer170", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer172", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer171", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer173", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer172", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer173", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer174", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer175", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer174", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer176", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer175", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer177", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer176", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer178", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer177", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer179", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer178", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer179", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer180", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer181", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer180", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer182", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer181", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer183", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer182", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer184", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer183", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer473", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer184", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer473", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer185", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer186", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer185", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer187", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer186", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer188", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer187", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer188", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer189", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer190", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer189", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer191", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer190", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer192", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer191", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer193", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer192", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer194", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer193", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer472", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer194", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer472", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer195", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer196", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer195", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer197", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer196", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer198", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer197", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer199", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer198", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer199", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer200", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer201", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer200", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer201", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer202", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer203", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer202", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer204", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer203", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer205", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer204", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer206", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer205", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer207", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer206", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer208", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer207", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer209", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer208", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer210", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer209", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer211", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer210", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer211", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer212", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer213", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer212", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer214", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer213", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer215", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer214", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer216", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer215", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer217", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer216", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer217", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer218", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer219", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer218", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer220", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer219", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer220", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer221", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer222", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer221", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer223", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer222", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer224", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer223", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer224", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer225", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer226", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer225", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer227", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer226", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer228", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer227", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer228", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer229", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer230", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer229", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer231", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer230", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer232", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer231", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer233", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer232", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer234", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer233", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer235", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer234", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer236", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer235", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer236", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer237", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer238", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer237", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer238", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer239", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer240", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer239", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer241", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer240", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer242", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer241", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer243", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer242", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer244", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer243", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer244", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer245", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer246", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer245", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer247", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer246", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer248", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer247", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer249", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer248", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer249", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer250", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer251", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer250", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer252", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer251", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer253", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer252", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer254", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer253", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer255", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer254", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer256", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer255", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer256", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer257", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer258", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer257", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer259", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer258", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer260", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer259", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer261", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer260", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer262", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer261", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer262", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer263", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer264", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer263", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer264", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer265", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer266", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer265", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer267", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer266", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer267", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer268", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer269", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer268", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer270", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer269", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer271", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer270", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer272", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer271", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer272", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer273", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer274", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer273", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer275", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer274", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer275", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer276", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer277", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer276", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer278", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer277", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer279", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer278", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer279", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer280", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer281", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer280", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer281", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer282", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer283", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer282", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer284", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer283", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer285", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer284", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer286", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer285", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer286", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer287", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer288", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer287", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer289", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer288", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer289", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer290", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer291", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer290", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer292", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer291", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer293", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer292", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer294", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer293", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer295", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer294", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer296", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer295", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer296", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer297", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer298", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer297", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer299", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer298", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer300", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer299", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer300", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer301", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer302", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer301", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer303", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer302", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer304", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer303", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer305", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer304", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer306", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer305", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer307", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer306", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer308", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer307", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer309", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer308", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer309", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer310", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer311", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer310", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer312", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer311", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer313", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer312", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer313", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer314", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer315", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer314", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer316", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer315", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer317", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer316", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer318", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer317", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer319", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer318", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer319", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer320", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer321", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer320", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer322", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer321", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer323", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer322", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer324", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer323", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer325", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer324", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer326", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer325", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer327", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer326", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer328", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer327", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer328", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer329", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer330", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer329", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer331", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer330", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer332", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer331", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer333", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer332", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer333", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer334", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer335", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer334", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer335", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer336", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer337", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer336", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer338", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer337", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer338", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer339", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer340", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer339", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer341", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer340", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer342", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer341", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer343", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer342", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer344", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer343", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer345", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer344", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer346", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer345", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer346", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer347", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer348", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer347", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer349", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer348", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer350", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer349", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer350", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer351", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer352", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer351", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer353", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer352", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer354", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer353", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer354", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer355", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer356", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer355", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer356", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer357", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer358", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer357", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer359", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer358", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer359", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer360", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer361", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer360", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer361", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer362", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer363", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer362", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer364", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer363", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer365", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer364", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer366", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer365", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer366", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer367", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer368", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer367", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer369", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer368", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer370", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer369", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer371", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer370", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer371", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer372", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer471", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer372", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer471", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer373", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer374", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer373", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer375", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer374", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer376", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer375", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer377", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer376", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer378", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer377", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer379", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer378", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer380", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer379", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer381", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer380", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer382", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer381", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer382", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer383", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer384", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer383", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer385", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer384", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer386", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer385", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer387", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer386", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer387", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer388", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer389", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer388", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer390", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer389", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer391", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer390", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer392", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer391", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer392", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer393", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer394", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer393", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer395", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer394", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer396", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer395", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer397", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer396", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer397", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer398", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer399", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer398", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer399", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer400", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer401", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer400", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer402", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer401", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer403", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer402", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer403", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer404", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer405", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer404", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer470", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer405", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer470", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer406", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer407", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer406", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer408", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer407", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer409", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer408", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer410", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer409", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer410", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer411", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer412", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer411", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer413", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer412", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer414", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer413", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer415", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer414", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer416", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer415", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer417", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer416", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer418", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer417", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer419", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer418", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer419", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer420", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer421", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer420", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer422", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer421", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer422", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer423", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer424", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer423", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer425", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer424", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer425", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer426", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer427", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer426", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer428", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer427", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer428", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer429", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer430", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer429", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer430", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer431", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer432", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer431", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer433", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer432", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer434", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer433", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer434", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer435", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer436", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer435", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer437", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer436", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer437", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer438", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer439", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer438", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer469", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer439", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer469", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer440", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer441", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer440", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer442", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer441", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer442", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer443", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer444", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer443", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer445", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer444", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer446", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer445", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer446", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer447", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer448", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer447", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer468", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer448", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer468", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer449", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer450", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer449", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer451", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer450", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer452", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer451", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer453", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer452", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer453", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer454", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer455", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer454", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer456", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer455", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer456", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer457", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer458", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer457", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer459", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer458", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer459", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer460", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer461", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer460", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer461", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer462", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer463", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer462", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer463", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer464", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer465", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer464", + "attachmentPointId": "R2" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer465", + "attachmentPointId": "R2" + }, + "endpoint2": { + "monomerId": "monomer466", + "attachmentPointId": "R1" + } + }, + { + "connectionType": "single", + "endpoint1": { + "monomerId": "monomer467", + "attachmentPointId": "R1" + }, + "endpoint2": { + "monomerId": "monomer466", + "attachmentPointId": "R2" + } + } + ], + "templates": [ + { + "$ref": "monomerTemplate-Met_0" + }, + { + "$ref": "monomerTemplate-Thr_1" + }, + { + "$ref": "monomerTemplate-Pro_2" + }, + { + "$ref": "monomerTemplate-Glu_3" + }, + { + "$ref": "monomerTemplate-Asp_4" + }, + { + "$ref": "monomerTemplate-Gln_5" + }, + { + "$ref": "monomerTemplate-Leu_6" + }, + { + "$ref": "monomerTemplate-Gly_7" + }, + { + "$ref": "monomerTemplate-Ser_8" + }, + { + "$ref": "monomerTemplate-Ala_9" + }, + { + "$ref": "monomerTemplate-Arg_10" + }, + { + "$ref": "monomerTemplate-Val_11" + }, + { + "$ref": "monomerTemplate-Phe_12" + }, + { + "$ref": "monomerTemplate-Tyr_13" + }, + { + "$ref": "monomerTemplate-Ile_14" + }, + { + "$ref": "monomerTemplate-Trp_15" + }, + { + "$ref": "monomerTemplate-Lys_16" + }, + { + "$ref": "monomerTemplate-His_17" + }, + { + "$ref": "monomerTemplate-Asn_18" + }, + { + "$ref": "monomerTemplate-Cys_19" + } + ] + }, + "monomer0": { + "type": "monomer", + "id": "0", + "seqid": 1, + "position": { + "x": 1.0, + "y": -1.0 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer1": { + "type": "monomer", + "id": "1", + "seqid": 2, + "position": { + "x": 1.9449000358581544, + "y": -1.0 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer2": { + "type": "monomer", + "id": "2", + "seqid": 3, + "position": { + "x": 2.8898000717163088, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer3": { + "type": "monomer", + "id": "3", + "seqid": 4, + "position": { + "x": 3.8345999717712404, + "y": -1.0 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer4": { + "type": "monomer", + "id": "4", + "seqid": 5, + "position": { + "x": 4.7795000076293949, + "y": -1.0 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer5": { + "type": "monomer", + "id": "5", + "seqid": 6, + "position": { + "x": 5.724400043487549, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer6": { + "type": "monomer", + "id": "6", + "seqid": 7, + "position": { + "x": 6.669300079345703, + "y": -1.0 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer7": { + "type": "monomer", + "id": "7", + "seqid": 8, + "position": { + "x": 7.614200115203857, + "y": -1.0 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer8": { + "type": "monomer", + "id": "8", + "seqid": 9, + "position": { + "x": 8.559100151062012, + "y": -1.0 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer9": { + "type": "monomer", + "id": "9", + "seqid": 10, + "position": { + "x": 9.503899574279786, + "y": -1.0 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer10": { + "type": "monomer", + "id": "10", + "seqid": 11, + "position": { + "x": 11.393699645996094, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer11": { + "type": "monomer", + "id": "11", + "seqid": 12, + "position": { + "x": 12.338600158691407, + "y": -1.0 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer12": { + "type": "monomer", + "id": "12", + "seqid": 13, + "position": { + "x": 13.283499717712403, + "y": -1.0 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer13": { + "type": "monomer", + "id": "13", + "seqid": 14, + "position": { + "x": 14.228300094604493, + "y": -1.0 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer14": { + "type": "monomer", + "id": "14", + "seqid": 15, + "position": { + "x": 15.173199653625489, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer15": { + "type": "monomer", + "id": "15", + "seqid": 16, + "position": { + "x": 16.118099212646486, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer16": { + "type": "monomer", + "id": "16", + "seqid": 17, + "position": { + "x": 17.062999725341798, + "y": -1.0 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer17": { + "type": "monomer", + "id": "17", + "seqid": 18, + "position": { + "x": 18.00790023803711, + "y": -1.0 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer18": { + "type": "monomer", + "id": "18", + "seqid": 19, + "position": { + "x": 18.952800750732423, + "y": -1.0 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer19": { + "type": "monomer", + "id": "19", + "seqid": 20, + "position": { + "x": 19.897600173950197, + "y": -1.0 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer20": { + "type": "monomer", + "id": "20", + "seqid": 21, + "position": { + "x": 21.787399291992189, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer21": { + "type": "monomer", + "id": "21", + "seqid": 22, + "position": { + "x": 22.7322998046875, + "y": -1.0 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer22": { + "type": "monomer", + "id": "22", + "seqid": 23, + "position": { + "x": 23.677200317382814, + "y": -1.0 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer23": { + "type": "monomer", + "id": "23", + "seqid": 24, + "position": { + "x": 24.621999740600587, + "y": -1.0 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer24": { + "type": "monomer", + "id": "24", + "seqid": 25, + "position": { + "x": 25.5669002532959, + "y": -1.0 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer25": { + "type": "monomer", + "id": "25", + "seqid": 26, + "position": { + "x": 26.51180076599121, + "y": -1.0 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer26": { + "type": "monomer", + "id": "26", + "seqid": 27, + "position": { + "x": 27.45669937133789, + "y": -1.0 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer27": { + "type": "monomer", + "id": "27", + "seqid": 28, + "position": { + "x": 28.401599884033204, + "y": -1.0 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer28": { + "type": "monomer", + "id": "28", + "seqid": 29, + "position": { + "x": 29.346500396728517, + "y": -1.0 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer29": { + "type": "monomer", + "id": "29", + "seqid": 30, + "position": { + "x": 30.29129981994629, + "y": -1.0 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer30": { + "type": "monomer", + "id": "30", + "seqid": 31, + "position": { + "x": 32.18109893798828, + "y": -1.0 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer31": { + "type": "monomer", + "id": "31", + "seqid": 32, + "position": { + "x": 33.125999450683597, + "y": -1.0 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer32": { + "type": "monomer", + "id": "32", + "seqid": 33, + "position": { + "x": 34.070899963378909, + "y": -1.0 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer33": { + "type": "monomer", + "id": "33", + "seqid": 34, + "position": { + "x": 35.01570129394531, + "y": -1.0 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer34": { + "type": "monomer", + "id": "34", + "seqid": 35, + "position": { + "x": 35.960601806640628, + "y": -1.0 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer35": { + "type": "monomer", + "id": "35", + "seqid": 36, + "position": { + "x": 36.90549850463867, + "y": -1.0 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer36": { + "type": "monomer", + "id": "36", + "seqid": 37, + "position": { + "x": 37.850399017333987, + "y": -1.0 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer37": { + "type": "monomer", + "id": "37", + "seqid": 38, + "position": { + "x": 38.7952995300293, + "y": -1.0 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer38": { + "type": "monomer", + "id": "38", + "seqid": 39, + "position": { + "x": 39.74020004272461, + "y": -1.0 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer39": { + "type": "monomer", + "id": "39", + "seqid": 40, + "position": { + "x": 40.685001373291019, + "y": -1.0 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer40": { + "type": "monomer", + "id": "40", + "seqid": 41, + "position": { + "x": 1.0, + "y": -1.9449000358581544 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer41": { + "type": "monomer", + "id": "41", + "seqid": 42, + "position": { + "x": 1.9449000358581544, + "y": -1.9449000358581544 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer42": { + "type": "monomer", + "id": "42", + "seqid": 43, + "position": { + "x": 2.8898000717163088, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer43": { + "type": "monomer", + "id": "43", + "seqid": 44, + "position": { + "x": 3.8345999717712404, + "y": -1.9449000358581544 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer44": { + "type": "monomer", + "id": "44", + "seqid": 45, + "position": { + "x": 4.7795000076293949, + "y": -1.9449000358581544 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer45": { + "type": "monomer", + "id": "45", + "seqid": 46, + "position": { + "x": 5.724400043487549, + "y": -1.9449000358581544 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer46": { + "type": "monomer", + "id": "46", + "seqid": 47, + "position": { + "x": 6.669300079345703, + "y": -1.9449000358581544 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer47": { + "type": "monomer", + "id": "47", + "seqid": 48, + "position": { + "x": 7.614200115203857, + "y": -1.9449000358581544 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer48": { + "type": "monomer", + "id": "48", + "seqid": 49, + "position": { + "x": 8.559100151062012, + "y": -1.9449000358581544 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer49": { + "type": "monomer", + "id": "49", + "seqid": 50, + "position": { + "x": 9.503899574279786, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer50": { + "type": "monomer", + "id": "50", + "seqid": 51, + "position": { + "x": 11.393699645996094, + "y": -1.9449000358581544 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer51": { + "type": "monomer", + "id": "51", + "seqid": 52, + "position": { + "x": 12.338600158691407, + "y": -1.9449000358581544 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer52": { + "type": "monomer", + "id": "52", + "seqid": 53, + "position": { + "x": 13.283499717712403, + "y": -1.9449000358581544 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer53": { + "type": "monomer", + "id": "53", + "seqid": 54, + "position": { + "x": 14.228300094604493, + "y": -1.9449000358581544 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer54": { + "type": "monomer", + "id": "54", + "seqid": 55, + "position": { + "x": 15.173199653625489, + "y": -1.9449000358581544 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer55": { + "type": "monomer", + "id": "55", + "seqid": 56, + "position": { + "x": 16.118099212646486, + "y": -1.9449000358581544 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer56": { + "type": "monomer", + "id": "56", + "seqid": 57, + "position": { + "x": 17.062999725341798, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer57": { + "type": "monomer", + "id": "57", + "seqid": 58, + "position": { + "x": 18.00790023803711, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer58": { + "type": "monomer", + "id": "58", + "seqid": 59, + "position": { + "x": 18.952800750732423, + "y": -1.9449000358581544 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer59": { + "type": "monomer", + "id": "59", + "seqid": 60, + "position": { + "x": 19.897600173950197, + "y": -1.9449000358581544 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer60": { + "type": "monomer", + "id": "60", + "seqid": 61, + "position": { + "x": 21.787399291992189, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer61": { + "type": "monomer", + "id": "61", + "seqid": 62, + "position": { + "x": 22.7322998046875, + "y": -1.9449000358581544 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer62": { + "type": "monomer", + "id": "62", + "seqid": 63, + "position": { + "x": 23.677200317382814, + "y": -1.9449000358581544 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer63": { + "type": "monomer", + "id": "63", + "seqid": 64, + "position": { + "x": 24.621999740600587, + "y": -1.9449000358581544 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer64": { + "type": "monomer", + "id": "64", + "seqid": 65, + "position": { + "x": 25.5669002532959, + "y": -1.9449000358581544 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer65": { + "type": "monomer", + "id": "65", + "seqid": 66, + "position": { + "x": 26.51180076599121, + "y": -1.9449000358581544 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer66": { + "type": "monomer", + "id": "66", + "seqid": 67, + "position": { + "x": 27.45669937133789, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer67": { + "type": "monomer", + "id": "67", + "seqid": 68, + "position": { + "x": 28.401599884033204, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer68": { + "type": "monomer", + "id": "68", + "seqid": 69, + "position": { + "x": 29.346500396728517, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer69": { + "type": "monomer", + "id": "69", + "seqid": 70, + "position": { + "x": 30.29129981994629, + "y": -1.9449000358581544 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer70": { + "type": "monomer", + "id": "70", + "seqid": 71, + "position": { + "x": 32.18109893798828, + "y": -1.9449000358581544 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer71": { + "type": "monomer", + "id": "71", + "seqid": 72, + "position": { + "x": 33.125999450683597, + "y": -1.9449000358581544 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer72": { + "type": "monomer", + "id": "72", + "seqid": 73, + "position": { + "x": 34.070899963378909, + "y": -1.9449000358581544 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer73": { + "type": "monomer", + "id": "73", + "seqid": 74, + "position": { + "x": 35.01570129394531, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer74": { + "type": "monomer", + "id": "74", + "seqid": 75, + "position": { + "x": 35.960601806640628, + "y": -1.9449000358581544 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer75": { + "type": "monomer", + "id": "75", + "seqid": 76, + "position": { + "x": 36.90549850463867, + "y": -1.9449000358581544 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer76": { + "type": "monomer", + "id": "76", + "seqid": 77, + "position": { + "x": 37.850399017333987, + "y": -1.9449000358581544 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer77": { + "type": "monomer", + "id": "77", + "seqid": 78, + "position": { + "x": 38.7952995300293, + "y": -1.9449000358581544 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer78": { + "type": "monomer", + "id": "78", + "seqid": 79, + "position": { + "x": 39.74020004272461, + "y": -1.9449000358581544 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer79": { + "type": "monomer", + "id": "79", + "seqid": 80, + "position": { + "x": 40.685001373291019, + "y": -1.9449000358581544 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer80": { + "type": "monomer", + "id": "80", + "seqid": 81, + "position": { + "x": 1.0, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer81": { + "type": "monomer", + "id": "81", + "seqid": 82, + "position": { + "x": 1.9449000358581544, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer82": { + "type": "monomer", + "id": "82", + "seqid": 83, + "position": { + "x": 2.8898000717163088, + "y": -2.8898000717163088 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer83": { + "type": "monomer", + "id": "83", + "seqid": 84, + "position": { + "x": 3.8345999717712404, + "y": -2.8898000717163088 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer84": { + "type": "monomer", + "id": "84", + "seqid": 85, + "position": { + "x": 4.7795000076293949, + "y": -2.8898000717163088 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer85": { + "type": "monomer", + "id": "85", + "seqid": 86, + "position": { + "x": 5.724400043487549, + "y": -2.8898000717163088 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer86": { + "type": "monomer", + "id": "86", + "seqid": 87, + "position": { + "x": 6.669300079345703, + "y": -2.8898000717163088 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer87": { + "type": "monomer", + "id": "87", + "seqid": 88, + "position": { + "x": 7.614200115203857, + "y": -2.8898000717163088 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer88": { + "type": "monomer", + "id": "88", + "seqid": 89, + "position": { + "x": 8.559100151062012, + "y": -2.8898000717163088 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer89": { + "type": "monomer", + "id": "89", + "seqid": 90, + "position": { + "x": 9.503899574279786, + "y": -2.8898000717163088 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer90": { + "type": "monomer", + "id": "90", + "seqid": 91, + "position": { + "x": 11.393699645996094, + "y": -2.8898000717163088 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer91": { + "type": "monomer", + "id": "91", + "seqid": 92, + "position": { + "x": 12.338600158691407, + "y": -2.8898000717163088 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer92": { + "type": "monomer", + "id": "92", + "seqid": 93, + "position": { + "x": 13.283499717712403, + "y": -2.8898000717163088 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer93": { + "type": "monomer", + "id": "93", + "seqid": 94, + "position": { + "x": 14.228300094604493, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer94": { + "type": "monomer", + "id": "94", + "seqid": 95, + "position": { + "x": 15.173199653625489, + "y": -2.8898000717163088 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer95": { + "type": "monomer", + "id": "95", + "seqid": 96, + "position": { + "x": 16.118099212646486, + "y": -2.8898000717163088 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer96": { + "type": "monomer", + "id": "96", + "seqid": 97, + "position": { + "x": 17.062999725341798, + "y": -2.8898000717163088 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer97": { + "type": "monomer", + "id": "97", + "seqid": 98, + "position": { + "x": 18.00790023803711, + "y": -2.8898000717163088 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer98": { + "type": "monomer", + "id": "98", + "seqid": 99, + "position": { + "x": 18.952800750732423, + "y": -2.8898000717163088 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer99": { + "type": "monomer", + "id": "99", + "seqid": 100, + "position": { + "x": 19.897600173950197, + "y": -2.8898000717163088 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer100": { + "type": "monomer", + "id": "100", + "seqid": 101, + "position": { + "x": 21.787399291992189, + "y": -2.8898000717163088 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer101": { + "type": "monomer", + "id": "101", + "seqid": 102, + "position": { + "x": 22.7322998046875, + "y": -2.8898000717163088 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer102": { + "type": "monomer", + "id": "102", + "seqid": 104, + "position": { + "x": 24.621999740600587, + "y": -2.8898000717163088 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer103": { + "type": "monomer", + "id": "103", + "seqid": 105, + "position": { + "x": 25.5669002532959, + "y": -2.8898000717163088 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer104": { + "type": "monomer", + "id": "104", + "seqid": 106, + "position": { + "x": 26.51180076599121, + "y": -2.8898000717163088 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer105": { + "type": "monomer", + "id": "105", + "seqid": 107, + "position": { + "x": 27.45669937133789, + "y": -2.8898000717163088 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer106": { + "type": "monomer", + "id": "106", + "seqid": 108, + "position": { + "x": 28.401599884033204, + "y": -2.8898000717163088 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer107": { + "type": "monomer", + "id": "107", + "seqid": 109, + "position": { + "x": 29.346500396728517, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer108": { + "type": "monomer", + "id": "108", + "seqid": 110, + "position": { + "x": 30.29129981994629, + "y": -2.8898000717163088 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer109": { + "type": "monomer", + "id": "109", + "seqid": 111, + "position": { + "x": 32.18109893798828, + "y": -2.8898000717163088 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer110": { + "type": "monomer", + "id": "110", + "seqid": 112, + "position": { + "x": 33.125999450683597, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer111": { + "type": "monomer", + "id": "111", + "seqid": 113, + "position": { + "x": 34.070899963378909, + "y": -2.8898000717163088 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer112": { + "type": "monomer", + "id": "112", + "seqid": 114, + "position": { + "x": 35.01570129394531, + "y": -2.8898000717163088 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer113": { + "type": "monomer", + "id": "113", + "seqid": 115, + "position": { + "x": 35.960601806640628, + "y": -2.8898000717163088 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer114": { + "type": "monomer", + "id": "114", + "seqid": 116, + "position": { + "x": 36.90549850463867, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer115": { + "type": "monomer", + "id": "115", + "seqid": 117, + "position": { + "x": 37.850399017333987, + "y": -2.8898000717163088 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer116": { + "type": "monomer", + "id": "116", + "seqid": 118, + "position": { + "x": 38.7952995300293, + "y": -2.8898000717163088 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer117": { + "type": "monomer", + "id": "117", + "seqid": 119, + "position": { + "x": 39.74020004272461, + "y": -2.8898000717163088 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer118": { + "type": "monomer", + "id": "118", + "seqid": 120, + "position": { + "x": 40.685001373291019, + "y": -2.8898000717163088 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer119": { + "type": "monomer", + "id": "119", + "seqid": 121, + "position": { + "x": 1.0, + "y": -3.8345999717712404 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer120": { + "type": "monomer", + "id": "120", + "seqid": 122, + "position": { + "x": 1.9449000358581544, + "y": -3.8345999717712404 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer121": { + "type": "monomer", + "id": "121", + "seqid": 123, + "position": { + "x": 2.8898000717163088, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer122": { + "type": "monomer", + "id": "122", + "seqid": 124, + "position": { + "x": 3.8345999717712404, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer123": { + "type": "monomer", + "id": "123", + "seqid": 125, + "position": { + "x": 4.7795000076293949, + "y": -3.8345999717712404 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer124": { + "type": "monomer", + "id": "124", + "seqid": 126, + "position": { + "x": 5.724400043487549, + "y": -3.8345999717712404 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer125": { + "type": "monomer", + "id": "125", + "seqid": 127, + "position": { + "x": 6.669300079345703, + "y": -3.8345999717712404 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer126": { + "type": "monomer", + "id": "126", + "seqid": 128, + "position": { + "x": 7.614200115203857, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer127": { + "type": "monomer", + "id": "127", + "seqid": 129, + "position": { + "x": 8.559100151062012, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer128": { + "type": "monomer", + "id": "128", + "seqid": 130, + "position": { + "x": 9.503899574279786, + "y": -3.8345999717712404 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer129": { + "type": "monomer", + "id": "129", + "seqid": 131, + "position": { + "x": 11.393699645996094, + "y": -3.8345999717712404 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer130": { + "type": "monomer", + "id": "130", + "seqid": 132, + "position": { + "x": 12.338600158691407, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer131": { + "type": "monomer", + "id": "131", + "seqid": 133, + "position": { + "x": 13.283499717712403, + "y": -3.8345999717712404 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer132": { + "type": "monomer", + "id": "132", + "seqid": 135, + "position": { + "x": 15.173199653625489, + "y": -3.8345999717712404 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer133": { + "type": "monomer", + "id": "133", + "seqid": 136, + "position": { + "x": 16.118099212646486, + "y": -3.8345999717712404 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer134": { + "type": "monomer", + "id": "134", + "seqid": 137, + "position": { + "x": 17.062999725341798, + "y": -3.8345999717712404 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer135": { + "type": "monomer", + "id": "135", + "seqid": 138, + "position": { + "x": 18.00790023803711, + "y": -3.8345999717712404 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer136": { + "type": "monomer", + "id": "136", + "seqid": 139, + "position": { + "x": 18.952800750732423, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer137": { + "type": "monomer", + "id": "137", + "seqid": 140, + "position": { + "x": 19.897600173950197, + "y": -3.8345999717712404 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer138": { + "type": "monomer", + "id": "138", + "seqid": 141, + "position": { + "x": 21.787399291992189, + "y": -3.8345999717712404 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer139": { + "type": "monomer", + "id": "139", + "seqid": 142, + "position": { + "x": 22.7322998046875, + "y": -3.8345999717712404 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer140": { + "type": "monomer", + "id": "140", + "seqid": 143, + "position": { + "x": 23.677200317382814, + "y": -3.8345999717712404 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer141": { + "type": "monomer", + "id": "141", + "seqid": 144, + "position": { + "x": 24.621999740600587, + "y": -3.8345999717712404 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer142": { + "type": "monomer", + "id": "142", + "seqid": 145, + "position": { + "x": 25.5669002532959, + "y": -3.8345999717712404 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer143": { + "type": "monomer", + "id": "143", + "seqid": 146, + "position": { + "x": 26.51180076599121, + "y": -3.8345999717712404 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer144": { + "type": "monomer", + "id": "144", + "seqid": 147, + "position": { + "x": 27.45669937133789, + "y": -3.8345999717712404 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer145": { + "type": "monomer", + "id": "145", + "seqid": 148, + "position": { + "x": 28.401599884033204, + "y": -3.8345999717712404 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer146": { + "type": "monomer", + "id": "146", + "seqid": 149, + "position": { + "x": 29.346500396728517, + "y": -3.8345999717712404 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer147": { + "type": "monomer", + "id": "147", + "seqid": 150, + "position": { + "x": 30.29129981994629, + "y": -3.8345999717712404 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer148": { + "type": "monomer", + "id": "148", + "seqid": 151, + "position": { + "x": 32.18109893798828, + "y": -3.8345999717712404 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer149": { + "type": "monomer", + "id": "149", + "seqid": 152, + "position": { + "x": 33.125999450683597, + "y": -3.8345999717712404 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer150": { + "type": "monomer", + "id": "150", + "seqid": 153, + "position": { + "x": 34.070899963378909, + "y": -3.8345999717712404 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer151": { + "type": "monomer", + "id": "151", + "seqid": 154, + "position": { + "x": 35.01570129394531, + "y": -3.8345999717712404 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer152": { + "type": "monomer", + "id": "152", + "seqid": 155, + "position": { + "x": 35.960601806640628, + "y": -3.8345999717712404 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer153": { + "type": "monomer", + "id": "153", + "seqid": 156, + "position": { + "x": 36.90549850463867, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer154": { + "type": "monomer", + "id": "154", + "seqid": 157, + "position": { + "x": 37.850399017333987, + "y": -3.8345999717712404 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer155": { + "type": "monomer", + "id": "155", + "seqid": 158, + "position": { + "x": 38.7952995300293, + "y": -3.8345999717712404 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer156": { + "type": "monomer", + "id": "156", + "seqid": 159, + "position": { + "x": 39.74020004272461, + "y": -3.8345999717712404 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer157": { + "type": "monomer", + "id": "157", + "seqid": 161, + "position": { + "x": 1.0, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer158": { + "type": "monomer", + "id": "158", + "seqid": 162, + "position": { + "x": 1.9449000358581544, + "y": -4.7795000076293949 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer159": { + "type": "monomer", + "id": "159", + "seqid": 163, + "position": { + "x": 2.8898000717163088, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer160": { + "type": "monomer", + "id": "160", + "seqid": 164, + "position": { + "x": 3.8345999717712404, + "y": -4.7795000076293949 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer161": { + "type": "monomer", + "id": "161", + "seqid": 165, + "position": { + "x": 4.7795000076293949, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer162": { + "type": "monomer", + "id": "162", + "seqid": 166, + "position": { + "x": 5.724400043487549, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer163": { + "type": "monomer", + "id": "163", + "seqid": 167, + "position": { + "x": 6.669300079345703, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer164": { + "type": "monomer", + "id": "164", + "seqid": 168, + "position": { + "x": 7.614200115203857, + "y": -4.7795000076293949 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer165": { + "type": "monomer", + "id": "165", + "seqid": 169, + "position": { + "x": 8.559100151062012, + "y": -4.7795000076293949 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer166": { + "type": "monomer", + "id": "166", + "seqid": 170, + "position": { + "x": 9.503899574279786, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer167": { + "type": "monomer", + "id": "167", + "seqid": 171, + "position": { + "x": 11.393699645996094, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer168": { + "type": "monomer", + "id": "168", + "seqid": 172, + "position": { + "x": 12.338600158691407, + "y": -4.7795000076293949 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer169": { + "type": "monomer", + "id": "169", + "seqid": 173, + "position": { + "x": 13.283499717712403, + "y": -4.7795000076293949 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer170": { + "type": "monomer", + "id": "170", + "seqid": 174, + "position": { + "x": 14.228300094604493, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer171": { + "type": "monomer", + "id": "171", + "seqid": 175, + "position": { + "x": 15.173199653625489, + "y": -4.7795000076293949 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer172": { + "type": "monomer", + "id": "172", + "seqid": 176, + "position": { + "x": 16.118099212646486, + "y": -4.7795000076293949 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer173": { + "type": "monomer", + "id": "173", + "seqid": 177, + "position": { + "x": 17.062999725341798, + "y": -4.7795000076293949 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer174": { + "type": "monomer", + "id": "174", + "seqid": 178, + "position": { + "x": 18.00790023803711, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer175": { + "type": "monomer", + "id": "175", + "seqid": 179, + "position": { + "x": 18.952800750732423, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer176": { + "type": "monomer", + "id": "176", + "seqid": 180, + "position": { + "x": 19.897600173950197, + "y": -4.7795000076293949 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer177": { + "type": "monomer", + "id": "177", + "seqid": 181, + "position": { + "x": 21.787399291992189, + "y": -4.7795000076293949 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer178": { + "type": "monomer", + "id": "178", + "seqid": 182, + "position": { + "x": 22.7322998046875, + "y": -4.7795000076293949 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer179": { + "type": "monomer", + "id": "179", + "seqid": 183, + "position": { + "x": 23.677200317382814, + "y": -4.7795000076293949 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer180": { + "type": "monomer", + "id": "180", + "seqid": 184, + "position": { + "x": 24.621999740600587, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer181": { + "type": "monomer", + "id": "181", + "seqid": 185, + "position": { + "x": 25.5669002532959, + "y": -4.7795000076293949 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer182": { + "type": "monomer", + "id": "182", + "seqid": 186, + "position": { + "x": 26.51180076599121, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer183": { + "type": "monomer", + "id": "183", + "seqid": 187, + "position": { + "x": 27.45669937133789, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer184": { + "type": "monomer", + "id": "184", + "seqid": 188, + "position": { + "x": 28.401599884033204, + "y": -4.7795000076293949 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer185": { + "type": "monomer", + "id": "185", + "seqid": 190, + "position": { + "x": 30.29129981994629, + "y": -4.7795000076293949 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer186": { + "type": "monomer", + "id": "186", + "seqid": 191, + "position": { + "x": 32.18109893798828, + "y": -4.7795000076293949 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer187": { + "type": "monomer", + "id": "187", + "seqid": 192, + "position": { + "x": 33.125999450683597, + "y": -4.7795000076293949 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer188": { + "type": "monomer", + "id": "188", + "seqid": 193, + "position": { + "x": 34.070899963378909, + "y": -4.7795000076293949 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer189": { + "type": "monomer", + "id": "189", + "seqid": 194, + "position": { + "x": 35.01570129394531, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer190": { + "type": "monomer", + "id": "190", + "seqid": 195, + "position": { + "x": 35.960601806640628, + "y": -4.7795000076293949 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer191": { + "type": "monomer", + "id": "191", + "seqid": 196, + "position": { + "x": 36.90549850463867, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer192": { + "type": "monomer", + "id": "192", + "seqid": 197, + "position": { + "x": 37.850399017333987, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer193": { + "type": "monomer", + "id": "193", + "seqid": 198, + "position": { + "x": 38.7952995300293, + "y": -4.7795000076293949 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer194": { + "type": "monomer", + "id": "194", + "seqid": 199, + "position": { + "x": 39.74020004272461, + "y": -4.7795000076293949 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer195": { + "type": "monomer", + "id": "195", + "seqid": 201, + "position": { + "x": 1.0, + "y": -5.724400043487549 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer196": { + "type": "monomer", + "id": "196", + "seqid": 202, + "position": { + "x": 1.9449000358581544, + "y": -5.724400043487549 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer197": { + "type": "monomer", + "id": "197", + "seqid": 203, + "position": { + "x": 2.8898000717163088, + "y": -5.724400043487549 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer198": { + "type": "monomer", + "id": "198", + "seqid": 204, + "position": { + "x": 3.8345999717712404, + "y": -5.724400043487549 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer199": { + "type": "monomer", + "id": "199", + "seqid": 205, + "position": { + "x": 4.7795000076293949, + "y": -5.724400043487549 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer200": { + "type": "monomer", + "id": "200", + "seqid": 206, + "position": { + "x": 5.724400043487549, + "y": -5.724400043487549 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer201": { + "type": "monomer", + "id": "201", + "seqid": 207, + "position": { + "x": 6.669300079345703, + "y": -5.724400043487549 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer202": { + "type": "monomer", + "id": "202", + "seqid": 208, + "position": { + "x": 7.614200115203857, + "y": -5.724400043487549 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer203": { + "type": "monomer", + "id": "203", + "seqid": 209, + "position": { + "x": 8.559100151062012, + "y": -5.724400043487549 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer204": { + "type": "monomer", + "id": "204", + "seqid": 210, + "position": { + "x": 9.503899574279786, + "y": -5.724400043487549 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer205": { + "type": "monomer", + "id": "205", + "seqid": 211, + "position": { + "x": 11.393699645996094, + "y": -5.724400043487549 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer206": { + "type": "monomer", + "id": "206", + "seqid": 212, + "position": { + "x": 12.338600158691407, + "y": -5.724400043487549 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer207": { + "type": "monomer", + "id": "207", + "seqid": 213, + "position": { + "x": 13.283499717712403, + "y": -5.724400043487549 + }, + "alias": "His", + "templateId": "His_17" + }, + "monomer208": { + "type": "monomer", + "id": "208", + "seqid": 214, + "position": { + "x": 14.228300094604493, + "y": -5.724400043487549 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer209": { + "type": "monomer", + "id": "209", + "seqid": 215, + "position": { + "x": 15.173199653625489, + "y": -5.724400043487549 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer210": { + "type": "monomer", + "id": "210", + "seqid": 216, + "position": { + "x": 16.118099212646486, + "y": -5.724400043487549 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer211": { + "type": "monomer", + "id": "211", + "seqid": 217, + "position": { + "x": 17.062999725341798, + "y": -5.724400043487549 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer212": { + "type": "monomer", + "id": "212", + "seqid": 218, + "position": { + "x": 18.00790023803711, + "y": -5.724400043487549 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer213": { + "type": "monomer", + "id": "213", + "seqid": 219, + "position": { + "x": 18.952800750732423, + "y": -5.724400043487549 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer214": { + "type": "monomer", + "id": "214", + "seqid": 220, + "position": { + "x": 19.897600173950197, + "y": -5.724400043487549 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer215": { + "type": "monomer", + "id": "215", + "seqid": 221, + "position": { + "x": 21.787399291992189, + "y": -5.724400043487549 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer216": { + "type": "monomer", + "id": "216", + "seqid": 222, + "position": { + "x": 22.7322998046875, + "y": -5.724400043487549 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer217": { + "type": "monomer", + "id": "217", + "seqid": 223, + "position": { + "x": 23.677200317382814, + "y": -5.724400043487549 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer218": { + "type": "monomer", + "id": "218", + "seqid": 224, + "position": { + "x": 24.621999740600587, + "y": -5.724400043487549 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer219": { + "type": "monomer", + "id": "219", + "seqid": 225, + "position": { + "x": 25.5669002532959, + "y": -5.724400043487549 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer220": { + "type": "monomer", + "id": "220", + "seqid": 226, + "position": { + "x": 26.51180076599121, + "y": -5.724400043487549 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer221": { + "type": "monomer", + "id": "221", + "seqid": 227, + "position": { + "x": 27.45669937133789, + "y": -5.724400043487549 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer222": { + "type": "monomer", + "id": "222", + "seqid": 228, + "position": { + "x": 28.401599884033204, + "y": -5.724400043487549 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer223": { + "type": "monomer", + "id": "223", + "seqid": 229, + "position": { + "x": 29.346500396728517, + "y": -5.724400043487549 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer224": { + "type": "monomer", + "id": "224", + "seqid": 230, + "position": { + "x": 30.29129981994629, + "y": -5.724400043487549 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer225": { + "type": "monomer", + "id": "225", + "seqid": 231, + "position": { + "x": 32.18109893798828, + "y": -5.724400043487549 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer226": { + "type": "monomer", + "id": "226", + "seqid": 232, + "position": { + "x": 33.125999450683597, + "y": -5.724400043487549 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer227": { + "type": "monomer", + "id": "227", + "seqid": 233, + "position": { + "x": 34.070899963378909, + "y": -5.724400043487549 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer228": { + "type": "monomer", + "id": "228", + "seqid": 234, + "position": { + "x": 35.01570129394531, + "y": -5.724400043487549 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer229": { + "type": "monomer", + "id": "229", + "seqid": 235, + "position": { + "x": 35.960601806640628, + "y": -5.724400043487549 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer230": { + "type": "monomer", + "id": "230", + "seqid": 236, + "position": { + "x": 36.90549850463867, + "y": -5.724400043487549 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer231": { + "type": "monomer", + "id": "231", + "seqid": 237, + "position": { + "x": 37.850399017333987, + "y": -5.724400043487549 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer232": { + "type": "monomer", + "id": "232", + "seqid": 238, + "position": { + "x": 38.7952995300293, + "y": -5.724400043487549 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer233": { + "type": "monomer", + "id": "233", + "seqid": 239, + "position": { + "x": 39.74020004272461, + "y": -5.724400043487549 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer234": { + "type": "monomer", + "id": "234", + "seqid": 240, + "position": { + "x": 40.685001373291019, + "y": -5.724400043487549 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer235": { + "type": "monomer", + "id": "235", + "seqid": 241, + "position": { + "x": 1.0, + "y": -6.669300079345703 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer236": { + "type": "monomer", + "id": "236", + "seqid": 242, + "position": { + "x": 1.9449000358581544, + "y": -6.669300079345703 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer237": { + "type": "monomer", + "id": "237", + "seqid": 243, + "position": { + "x": 2.8898000717163088, + "y": -6.669300079345703 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer238": { + "type": "monomer", + "id": "238", + "seqid": 244, + "position": { + "x": 3.8345999717712404, + "y": -6.669300079345703 + }, + "alias": "His", + "templateId": "His_17" + }, + "monomer239": { + "type": "monomer", + "id": "239", + "seqid": 245, + "position": { + "x": 4.7795000076293949, + "y": -6.669300079345703 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer240": { + "type": "monomer", + "id": "240", + "seqid": 246, + "position": { + "x": 5.724400043487549, + "y": -6.669300079345703 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer241": { + "type": "monomer", + "id": "241", + "seqid": 247, + "position": { + "x": 6.669300079345703, + "y": -6.669300079345703 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer242": { + "type": "monomer", + "id": "242", + "seqid": 248, + "position": { + "x": 7.614200115203857, + "y": -6.669300079345703 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer243": { + "type": "monomer", + "id": "243", + "seqid": 249, + "position": { + "x": 8.559100151062012, + "y": -6.669300079345703 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer244": { + "type": "monomer", + "id": "244", + "seqid": 250, + "position": { + "x": 9.503899574279786, + "y": -6.669300079345703 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer245": { + "type": "monomer", + "id": "245", + "seqid": 251, + "position": { + "x": 11.393699645996094, + "y": -6.669300079345703 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer246": { + "type": "monomer", + "id": "246", + "seqid": 252, + "position": { + "x": 12.338600158691407, + "y": -6.669300079345703 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer247": { + "type": "monomer", + "id": "247", + "seqid": 253, + "position": { + "x": 13.283499717712403, + "y": -6.669300079345703 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer248": { + "type": "monomer", + "id": "248", + "seqid": 254, + "position": { + "x": 14.228300094604493, + "y": -6.669300079345703 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer249": { + "type": "monomer", + "id": "249", + "seqid": 255, + "position": { + "x": 15.173199653625489, + "y": -6.669300079345703 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer250": { + "type": "monomer", + "id": "250", + "seqid": 256, + "position": { + "x": 16.118099212646486, + "y": -6.669300079345703 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer251": { + "type": "monomer", + "id": "251", + "seqid": 257, + "position": { + "x": 17.062999725341798, + "y": -6.669300079345703 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer252": { + "type": "monomer", + "id": "252", + "seqid": 258, + "position": { + "x": 18.00790023803711, + "y": -6.669300079345703 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer253": { + "type": "monomer", + "id": "253", + "seqid": 259, + "position": { + "x": 18.952800750732423, + "y": -6.669300079345703 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer254": { + "type": "monomer", + "id": "254", + "seqid": 260, + "position": { + "x": 19.897600173950197, + "y": -6.669300079345703 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer255": { + "type": "monomer", + "id": "255", + "seqid": 261, + "position": { + "x": 21.787399291992189, + "y": -6.669300079345703 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer256": { + "type": "monomer", + "id": "256", + "seqid": 262, + "position": { + "x": 22.7322998046875, + "y": -6.669300079345703 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer257": { + "type": "monomer", + "id": "257", + "seqid": 263, + "position": { + "x": 23.677200317382814, + "y": -6.669300079345703 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer258": { + "type": "monomer", + "id": "258", + "seqid": 264, + "position": { + "x": 24.621999740600587, + "y": -6.669300079345703 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer259": { + "type": "monomer", + "id": "259", + "seqid": 265, + "position": { + "x": 25.5669002532959, + "y": -6.669300079345703 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer260": { + "type": "monomer", + "id": "260", + "seqid": 266, + "position": { + "x": 26.51180076599121, + "y": -6.669300079345703 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer261": { + "type": "monomer", + "id": "261", + "seqid": 267, + "position": { + "x": 27.45669937133789, + "y": -6.669300079345703 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer262": { + "type": "monomer", + "id": "262", + "seqid": 268, + "position": { + "x": 28.401599884033204, + "y": -6.669300079345703 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer263": { + "type": "monomer", + "id": "263", + "seqid": 269, + "position": { + "x": 29.346500396728517, + "y": -6.669300079345703 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer264": { + "type": "monomer", + "id": "264", + "seqid": 270, + "position": { + "x": 30.29129981994629, + "y": -6.669300079345703 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer265": { + "type": "monomer", + "id": "265", + "seqid": 271, + "position": { + "x": 32.18109893798828, + "y": -6.669300079345703 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer266": { + "type": "monomer", + "id": "266", + "seqid": 272, + "position": { + "x": 33.125999450683597, + "y": -6.669300079345703 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer267": { + "type": "monomer", + "id": "267", + "seqid": 273, + "position": { + "x": 34.070899963378909, + "y": -6.669300079345703 + }, + "alias": "Asn", + "templateId": "Asn_18" + }, + "monomer268": { + "type": "monomer", + "id": "268", + "seqid": 274, + "position": { + "x": 35.01570129394531, + "y": -6.669300079345703 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer269": { + "type": "monomer", + "id": "269", + "seqid": 275, + "position": { + "x": 35.960601806640628, + "y": -6.669300079345703 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer270": { + "type": "monomer", + "id": "270", + "seqid": 276, + "position": { + "x": 36.90549850463867, + "y": -6.669300079345703 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer271": { + "type": "monomer", + "id": "271", + "seqid": 277, + "position": { + "x": 37.850399017333987, + "y": -6.669300079345703 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer272": { + "type": "monomer", + "id": "272", + "seqid": 278, + "position": { + "x": 38.7952995300293, + "y": -6.669300079345703 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer273": { + "type": "monomer", + "id": "273", + "seqid": 279, + "position": { + "x": 39.74020004272461, + "y": -6.669300079345703 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer274": { + "type": "monomer", + "id": "274", + "seqid": 280, + "position": { + "x": 40.685001373291019, + "y": -6.669300079345703 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer275": { + "type": "monomer", + "id": "275", + "seqid": 281, + "position": { + "x": 1.0, + "y": -7.614200115203857 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer276": { + "type": "monomer", + "id": "276", + "seqid": 282, + "position": { + "x": 1.9449000358581544, + "y": -7.614200115203857 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer277": { + "type": "monomer", + "id": "277", + "seqid": 283, + "position": { + "x": 2.8898000717163088, + "y": -7.614200115203857 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer278": { + "type": "monomer", + "id": "278", + "seqid": 284, + "position": { + "x": 3.8345999717712404, + "y": -7.614200115203857 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer279": { + "type": "monomer", + "id": "279", + "seqid": 285, + "position": { + "x": 4.7795000076293949, + "y": -7.614200115203857 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer280": { + "type": "monomer", + "id": "280", + "seqid": 286, + "position": { + "x": 5.724400043487549, + "y": -7.614200115203857 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer281": { + "type": "monomer", + "id": "281", + "seqid": 287, + "position": { + "x": 6.669300079345703, + "y": -7.614200115203857 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer282": { + "type": "monomer", + "id": "282", + "seqid": 288, + "position": { + "x": 7.614200115203857, + "y": -7.614200115203857 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer283": { + "type": "monomer", + "id": "283", + "seqid": 289, + "position": { + "x": 8.559100151062012, + "y": -7.614200115203857 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer284": { + "type": "monomer", + "id": "284", + "seqid": 290, + "position": { + "x": 9.503899574279786, + "y": -7.614200115203857 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer285": { + "type": "monomer", + "id": "285", + "seqid": 291, + "position": { + "x": 11.393699645996094, + "y": -7.614200115203857 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer286": { + "type": "monomer", + "id": "286", + "seqid": 292, + "position": { + "x": 12.338600158691407, + "y": -7.614200115203857 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer287": { + "type": "monomer", + "id": "287", + "seqid": 293, + "position": { + "x": 13.283499717712403, + "y": -7.614200115203857 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer288": { + "type": "monomer", + "id": "288", + "seqid": 294, + "position": { + "x": 14.228300094604493, + "y": -7.614200115203857 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer289": { + "type": "monomer", + "id": "289", + "seqid": 295, + "position": { + "x": 15.173199653625489, + "y": -7.614200115203857 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer290": { + "type": "monomer", + "id": "290", + "seqid": 296, + "position": { + "x": 16.118099212646486, + "y": -7.614200115203857 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer291": { + "type": "monomer", + "id": "291", + "seqid": 297, + "position": { + "x": 17.062999725341798, + "y": -7.614200115203857 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer292": { + "type": "monomer", + "id": "292", + "seqid": 298, + "position": { + "x": 18.00790023803711, + "y": -7.614200115203857 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer293": { + "type": "monomer", + "id": "293", + "seqid": 299, + "position": { + "x": 18.952800750732423, + "y": -7.614200115203857 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer294": { + "type": "monomer", + "id": "294", + "seqid": 300, + "position": { + "x": 19.897600173950197, + "y": -7.614200115203857 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer295": { + "type": "monomer", + "id": "295", + "seqid": 301, + "position": { + "x": 21.787399291992189, + "y": -7.614200115203857 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer296": { + "type": "monomer", + "id": "296", + "seqid": 302, + "position": { + "x": 22.7322998046875, + "y": -7.614200115203857 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer297": { + "type": "monomer", + "id": "297", + "seqid": 303, + "position": { + "x": 23.677200317382814, + "y": -7.614200115203857 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer298": { + "type": "monomer", + "id": "298", + "seqid": 304, + "position": { + "x": 24.621999740600587, + "y": -7.614200115203857 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer299": { + "type": "monomer", + "id": "299", + "seqid": 305, + "position": { + "x": 25.5669002532959, + "y": -7.614200115203857 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer300": { + "type": "monomer", + "id": "300", + "seqid": 306, + "position": { + "x": 26.51180076599121, + "y": -7.614200115203857 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer301": { + "type": "monomer", + "id": "301", + "seqid": 307, + "position": { + "x": 27.45669937133789, + "y": -7.614200115203857 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer302": { + "type": "monomer", + "id": "302", + "seqid": 308, + "position": { + "x": 28.401599884033204, + "y": -7.614200115203857 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer303": { + "type": "monomer", + "id": "303", + "seqid": 309, + "position": { + "x": 29.346500396728517, + "y": -7.614200115203857 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer304": { + "type": "monomer", + "id": "304", + "seqid": 310, + "position": { + "x": 30.29129981994629, + "y": -7.614200115203857 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer305": { + "type": "monomer", + "id": "305", + "seqid": 311, + "position": { + "x": 32.18109893798828, + "y": -7.614200115203857 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer306": { + "type": "monomer", + "id": "306", + "seqid": 312, + "position": { + "x": 33.125999450683597, + "y": -7.614200115203857 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer307": { + "type": "monomer", + "id": "307", + "seqid": 313, + "position": { + "x": 34.070899963378909, + "y": -7.614200115203857 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer308": { + "type": "monomer", + "id": "308", + "seqid": 314, + "position": { + "x": 35.01570129394531, + "y": -7.614200115203857 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer309": { + "type": "monomer", + "id": "309", + "seqid": 315, + "position": { + "x": 35.960601806640628, + "y": -7.614200115203857 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer310": { + "type": "monomer", + "id": "310", + "seqid": 316, + "position": { + "x": 36.90549850463867, + "y": -7.614200115203857 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer311": { + "type": "monomer", + "id": "311", + "seqid": 317, + "position": { + "x": 37.850399017333987, + "y": -7.614200115203857 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer312": { + "type": "monomer", + "id": "312", + "seqid": 318, + "position": { + "x": 38.7952995300293, + "y": -7.614200115203857 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer313": { + "type": "monomer", + "id": "313", + "seqid": 319, + "position": { + "x": 39.74020004272461, + "y": -7.614200115203857 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer314": { + "type": "monomer", + "id": "314", + "seqid": 320, + "position": { + "x": 40.685001373291019, + "y": -7.614200115203857 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer315": { + "type": "monomer", + "id": "315", + "seqid": 321, + "position": { + "x": 1.0, + "y": -8.559100151062012 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer316": { + "type": "monomer", + "id": "316", + "seqid": 322, + "position": { + "x": 1.9449000358581544, + "y": -8.559100151062012 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer317": { + "type": "monomer", + "id": "317", + "seqid": 323, + "position": { + "x": 2.8898000717163088, + "y": -8.559100151062012 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer318": { + "type": "monomer", + "id": "318", + "seqid": 324, + "position": { + "x": 3.8345999717712404, + "y": -8.559100151062012 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer319": { + "type": "monomer", + "id": "319", + "seqid": 325, + "position": { + "x": 4.7795000076293949, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer320": { + "type": "monomer", + "id": "320", + "seqid": 326, + "position": { + "x": 5.724400043487549, + "y": -8.559100151062012 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer321": { + "type": "monomer", + "id": "321", + "seqid": 327, + "position": { + "x": 6.669300079345703, + "y": -8.559100151062012 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer322": { + "type": "monomer", + "id": "322", + "seqid": 328, + "position": { + "x": 7.614200115203857, + "y": -8.559100151062012 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer323": { + "type": "monomer", + "id": "323", + "seqid": 329, + "position": { + "x": 8.559100151062012, + "y": -8.559100151062012 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer324": { + "type": "monomer", + "id": "324", + "seqid": 330, + "position": { + "x": 9.503899574279786, + "y": -8.559100151062012 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer325": { + "type": "monomer", + "id": "325", + "seqid": 331, + "position": { + "x": 11.393699645996094, + "y": -8.559100151062012 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer326": { + "type": "monomer", + "id": "326", + "seqid": 332, + "position": { + "x": 12.338600158691407, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer327": { + "type": "monomer", + "id": "327", + "seqid": 333, + "position": { + "x": 13.283499717712403, + "y": -8.559100151062012 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer328": { + "type": "monomer", + "id": "328", + "seqid": 334, + "position": { + "x": 14.228300094604493, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer329": { + "type": "monomer", + "id": "329", + "seqid": 335, + "position": { + "x": 15.173199653625489, + "y": -8.559100151062012 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer330": { + "type": "monomer", + "id": "330", + "seqid": 336, + "position": { + "x": 16.118099212646486, + "y": -8.559100151062012 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer331": { + "type": "monomer", + "id": "331", + "seqid": 337, + "position": { + "x": 17.062999725341798, + "y": -8.559100151062012 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer332": { + "type": "monomer", + "id": "332", + "seqid": 338, + "position": { + "x": 18.00790023803711, + "y": -8.559100151062012 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer333": { + "type": "monomer", + "id": "333", + "seqid": 339, + "position": { + "x": 18.952800750732423, + "y": -8.559100151062012 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer334": { + "type": "monomer", + "id": "334", + "seqid": 340, + "position": { + "x": 19.897600173950197, + "y": -8.559100151062012 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer335": { + "type": "monomer", + "id": "335", + "seqid": 341, + "position": { + "x": 21.787399291992189, + "y": -8.559100151062012 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer336": { + "type": "monomer", + "id": "336", + "seqid": 342, + "position": { + "x": 22.7322998046875, + "y": -8.559100151062012 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer337": { + "type": "monomer", + "id": "337", + "seqid": 343, + "position": { + "x": 23.677200317382814, + "y": -8.559100151062012 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer338": { + "type": "monomer", + "id": "338", + "seqid": 344, + "position": { + "x": 24.621999740600587, + "y": -8.559100151062012 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer339": { + "type": "monomer", + "id": "339", + "seqid": 345, + "position": { + "x": 25.5669002532959, + "y": -8.559100151062012 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer340": { + "type": "monomer", + "id": "340", + "seqid": 346, + "position": { + "x": 26.51180076599121, + "y": -8.559100151062012 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer341": { + "type": "monomer", + "id": "341", + "seqid": 347, + "position": { + "x": 27.45669937133789, + "y": -8.559100151062012 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer342": { + "type": "monomer", + "id": "342", + "seqid": 348, + "position": { + "x": 28.401599884033204, + "y": -8.559100151062012 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer343": { + "type": "monomer", + "id": "343", + "seqid": 349, + "position": { + "x": 29.346500396728517, + "y": -8.559100151062012 + }, + "alias": "Asn", + "templateId": "Asn_18" + }, + "monomer344": { + "type": "monomer", + "id": "344", + "seqid": 350, + "position": { + "x": 30.29129981994629, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer345": { + "type": "monomer", + "id": "345", + "seqid": 351, + "position": { + "x": 32.18109893798828, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer346": { + "type": "monomer", + "id": "346", + "seqid": 352, + "position": { + "x": 33.125999450683597, + "y": -8.559100151062012 + }, + "alias": "His", + "templateId": "His_17" + }, + "monomer347": { + "type": "monomer", + "id": "347", + "seqid": 353, + "position": { + "x": 34.070899963378909, + "y": -8.559100151062012 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer348": { + "type": "monomer", + "id": "348", + "seqid": 354, + "position": { + "x": 35.01570129394531, + "y": -8.559100151062012 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer349": { + "type": "monomer", + "id": "349", + "seqid": 355, + "position": { + "x": 35.960601806640628, + "y": -8.559100151062012 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer350": { + "type": "monomer", + "id": "350", + "seqid": 356, + "position": { + "x": 36.90549850463867, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer351": { + "type": "monomer", + "id": "351", + "seqid": 357, + "position": { + "x": 37.850399017333987, + "y": -8.559100151062012 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer352": { + "type": "monomer", + "id": "352", + "seqid": 358, + "position": { + "x": 38.7952995300293, + "y": -8.559100151062012 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer353": { + "type": "monomer", + "id": "353", + "seqid": 359, + "position": { + "x": 39.74020004272461, + "y": -8.559100151062012 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer354": { + "type": "monomer", + "id": "354", + "seqid": 360, + "position": { + "x": 40.685001373291019, + "y": -8.559100151062012 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer355": { + "type": "monomer", + "id": "355", + "seqid": 361, + "position": { + "x": 1.0, + "y": -9.503899574279786 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer356": { + "type": "monomer", + "id": "356", + "seqid": 362, + "position": { + "x": 1.9449000358581544, + "y": -9.503899574279786 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer357": { + "type": "monomer", + "id": "357", + "seqid": 363, + "position": { + "x": 2.8898000717163088, + "y": -9.503899574279786 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer358": { + "type": "monomer", + "id": "358", + "seqid": 364, + "position": { + "x": 3.8345999717712404, + "y": -9.503899574279786 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer359": { + "type": "monomer", + "id": "359", + "seqid": 365, + "position": { + "x": 4.7795000076293949, + "y": -9.503899574279786 + }, + "alias": "Asp", + "templateId": "Asp_4" + }, + "monomer360": { + "type": "monomer", + "id": "360", + "seqid": 366, + "position": { + "x": 5.724400043487549, + "y": -9.503899574279786 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer361": { + "type": "monomer", + "id": "361", + "seqid": 367, + "position": { + "x": 6.669300079345703, + "y": -9.503899574279786 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer362": { + "type": "monomer", + "id": "362", + "seqid": 368, + "position": { + "x": 7.614200115203857, + "y": -9.503899574279786 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer363": { + "type": "monomer", + "id": "363", + "seqid": 369, + "position": { + "x": 8.559100151062012, + "y": -9.503899574279786 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer364": { + "type": "monomer", + "id": "364", + "seqid": 370, + "position": { + "x": 9.503899574279786, + "y": -9.503899574279786 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer365": { + "type": "monomer", + "id": "365", + "seqid": 371, + "position": { + "x": 11.393699645996094, + "y": -9.503899574279786 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer366": { + "type": "monomer", + "id": "366", + "seqid": 372, + "position": { + "x": 12.338600158691407, + "y": -9.503899574279786 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer367": { + "type": "monomer", + "id": "367", + "seqid": 373, + "position": { + "x": 13.283499717712403, + "y": -9.503899574279786 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer368": { + "type": "monomer", + "id": "368", + "seqid": 374, + "position": { + "x": 14.228300094604493, + "y": -9.503899574279786 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer369": { + "type": "monomer", + "id": "369", + "seqid": 375, + "position": { + "x": 15.173199653625489, + "y": -9.503899574279786 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer370": { + "type": "monomer", + "id": "370", + "seqid": 376, + "position": { + "x": 16.118099212646486, + "y": -9.503899574279786 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer371": { + "type": "monomer", + "id": "371", + "seqid": 377, + "position": { + "x": 17.062999725341798, + "y": -9.503899574279786 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer372": { + "type": "monomer", + "id": "372", + "seqid": 378, + "position": { + "x": 18.00790023803711, + "y": -9.503899574279786 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer373": { + "type": "monomer", + "id": "373", + "seqid": 380, + "position": { + "x": 19.897600173950197, + "y": -9.503899574279786 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer374": { + "type": "monomer", + "id": "374", + "seqid": 381, + "position": { + "x": 21.787399291992189, + "y": -9.503899574279786 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer375": { + "type": "monomer", + "id": "375", + "seqid": 382, + "position": { + "x": 22.7322998046875, + "y": -9.503899574279786 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer376": { + "type": "monomer", + "id": "376", + "seqid": 383, + "position": { + "x": 23.677200317382814, + "y": -9.503899574279786 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer377": { + "type": "monomer", + "id": "377", + "seqid": 384, + "position": { + "x": 24.621999740600587, + "y": -9.503899574279786 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer378": { + "type": "monomer", + "id": "378", + "seqid": 385, + "position": { + "x": 25.5669002532959, + "y": -9.503899574279786 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer379": { + "type": "monomer", + "id": "379", + "seqid": 386, + "position": { + "x": 26.51180076599121, + "y": -9.503899574279786 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer380": { + "type": "monomer", + "id": "380", + "seqid": 387, + "position": { + "x": 27.45669937133789, + "y": -9.503899574279786 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer381": { + "type": "monomer", + "id": "381", + "seqid": 388, + "position": { + "x": 28.401599884033204, + "y": -9.503899574279786 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer382": { + "type": "monomer", + "id": "382", + "seqid": 389, + "position": { + "x": 29.346500396728517, + "y": -9.503899574279786 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer383": { + "type": "monomer", + "id": "383", + "seqid": 390, + "position": { + "x": 30.29129981994629, + "y": -9.503899574279786 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer384": { + "type": "monomer", + "id": "384", + "seqid": 391, + "position": { + "x": 32.18109893798828, + "y": -9.503899574279786 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer385": { + "type": "monomer", + "id": "385", + "seqid": 392, + "position": { + "x": 33.125999450683597, + "y": -9.503899574279786 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer386": { + "type": "monomer", + "id": "386", + "seqid": 393, + "position": { + "x": 34.070899963378909, + "y": -9.503899574279786 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer387": { + "type": "monomer", + "id": "387", + "seqid": 394, + "position": { + "x": 35.01570129394531, + "y": -9.503899574279786 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer388": { + "type": "monomer", + "id": "388", + "seqid": 395, + "position": { + "x": 35.960601806640628, + "y": -9.503899574279786 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer389": { + "type": "monomer", + "id": "389", + "seqid": 396, + "position": { + "x": 36.90549850463867, + "y": -9.503899574279786 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer390": { + "type": "monomer", + "id": "390", + "seqid": 397, + "position": { + "x": 37.850399017333987, + "y": -9.503899574279786 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer391": { + "type": "monomer", + "id": "391", + "seqid": 398, + "position": { + "x": 38.7952995300293, + "y": -9.503899574279786 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer392": { + "type": "monomer", + "id": "392", + "seqid": 399, + "position": { + "x": 39.74020004272461, + "y": -9.503899574279786 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer393": { + "type": "monomer", + "id": "393", + "seqid": 400, + "position": { + "x": 40.685001373291019, + "y": -9.503899574279786 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer394": { + "type": "monomer", + "id": "394", + "seqid": 401, + "position": { + "x": 1.0, + "y": -10.448800086975098 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer395": { + "type": "monomer", + "id": "395", + "seqid": 402, + "position": { + "x": 1.9449000358581544, + "y": -10.448800086975098 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer396": { + "type": "monomer", + "id": "396", + "seqid": 403, + "position": { + "x": 2.8898000717163088, + "y": -10.448800086975098 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer397": { + "type": "monomer", + "id": "397", + "seqid": 404, + "position": { + "x": 3.8345999717712404, + "y": -10.448800086975098 + }, + "alias": "His", + "templateId": "His_17" + }, + "monomer398": { + "type": "monomer", + "id": "398", + "seqid": 405, + "position": { + "x": 4.7795000076293949, + "y": -10.448800086975098 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer399": { + "type": "monomer", + "id": "399", + "seqid": 406, + "position": { + "x": 5.724400043487549, + "y": -10.448800086975098 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer400": { + "type": "monomer", + "id": "400", + "seqid": 407, + "position": { + "x": 6.669300079345703, + "y": -10.448800086975098 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer401": { + "type": "monomer", + "id": "401", + "seqid": 408, + "position": { + "x": 7.614200115203857, + "y": -10.448800086975098 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer402": { + "type": "monomer", + "id": "402", + "seqid": 409, + "position": { + "x": 8.559100151062012, + "y": -10.448800086975098 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer403": { + "type": "monomer", + "id": "403", + "seqid": 410, + "position": { + "x": 9.503899574279786, + "y": -10.448800086975098 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer404": { + "type": "monomer", + "id": "404", + "seqid": 411, + "position": { + "x": 11.393699645996094, + "y": -10.448800086975098 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer405": { + "type": "monomer", + "id": "405", + "seqid": 412, + "position": { + "x": 12.338600158691407, + "y": -10.448800086975098 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer406": { + "type": "monomer", + "id": "406", + "seqid": 414, + "position": { + "x": 14.228300094604493, + "y": -10.448800086975098 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer407": { + "type": "monomer", + "id": "407", + "seqid": 415, + "position": { + "x": 15.173199653625489, + "y": -10.448800086975098 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer408": { + "type": "monomer", + "id": "408", + "seqid": 416, + "position": { + "x": 16.118099212646486, + "y": -10.448800086975098 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer409": { + "type": "monomer", + "id": "409", + "seqid": 417, + "position": { + "x": 17.062999725341798, + "y": -10.448800086975098 + }, + "alias": "Asn", + "templateId": "Asn_18" + }, + "monomer410": { + "type": "monomer", + "id": "410", + "seqid": 418, + "position": { + "x": 18.00790023803711, + "y": -10.448800086975098 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer411": { + "type": "monomer", + "id": "411", + "seqid": 419, + "position": { + "x": 18.952800750732423, + "y": -10.448800086975098 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer412": { + "type": "monomer", + "id": "412", + "seqid": 420, + "position": { + "x": 19.897600173950197, + "y": -10.448800086975098 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer413": { + "type": "monomer", + "id": "413", + "seqid": 421, + "position": { + "x": 21.787399291992189, + "y": -10.448800086975098 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer414": { + "type": "monomer", + "id": "414", + "seqid": 422, + "position": { + "x": 22.7322998046875, + "y": -10.448800086975098 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer415": { + "type": "monomer", + "id": "415", + "seqid": 423, + "position": { + "x": 23.677200317382814, + "y": -10.448800086975098 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer416": { + "type": "monomer", + "id": "416", + "seqid": 424, + "position": { + "x": 24.621999740600587, + "y": -10.448800086975098 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer417": { + "type": "monomer", + "id": "417", + "seqid": 425, + "position": { + "x": 25.5669002532959, + "y": -10.448800086975098 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer418": { + "type": "monomer", + "id": "418", + "seqid": 426, + "position": { + "x": 26.51180076599121, + "y": -10.448800086975098 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer419": { + "type": "monomer", + "id": "419", + "seqid": 427, + "position": { + "x": 27.45669937133789, + "y": -10.448800086975098 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer420": { + "type": "monomer", + "id": "420", + "seqid": 428, + "position": { + "x": 28.401599884033204, + "y": -10.448800086975098 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer421": { + "type": "monomer", + "id": "421", + "seqid": 429, + "position": { + "x": 29.346500396728517, + "y": -10.448800086975098 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer422": { + "type": "monomer", + "id": "422", + "seqid": 430, + "position": { + "x": 30.29129981994629, + "y": -10.448800086975098 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer423": { + "type": "monomer", + "id": "423", + "seqid": 431, + "position": { + "x": 32.18109893798828, + "y": -10.448800086975098 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer424": { + "type": "monomer", + "id": "424", + "seqid": 432, + "position": { + "x": 33.125999450683597, + "y": -10.448800086975098 + }, + "alias": "Met", + "templateId": "Met_0" + }, + "monomer425": { + "type": "monomer", + "id": "425", + "seqid": 433, + "position": { + "x": 34.070899963378909, + "y": -10.448800086975098 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer426": { + "type": "monomer", + "id": "426", + "seqid": 434, + "position": { + "x": 35.01570129394531, + "y": -10.448800086975098 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer427": { + "type": "monomer", + "id": "427", + "seqid": 435, + "position": { + "x": 35.960601806640628, + "y": -10.448800086975098 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer428": { + "type": "monomer", + "id": "428", + "seqid": 436, + "position": { + "x": 36.90549850463867, + "y": -10.448800086975098 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer429": { + "type": "monomer", + "id": "429", + "seqid": 437, + "position": { + "x": 37.850399017333987, + "y": -10.448800086975098 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer430": { + "type": "monomer", + "id": "430", + "seqid": 438, + "position": { + "x": 38.7952995300293, + "y": -10.448800086975098 + }, + "alias": "Tyr", + "templateId": "Tyr_13" + }, + "monomer431": { + "type": "monomer", + "id": "431", + "seqid": 439, + "position": { + "x": 39.74020004272461, + "y": -10.448800086975098 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer432": { + "type": "monomer", + "id": "432", + "seqid": 440, + "position": { + "x": 40.685001373291019, + "y": -10.448800086975098 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer433": { + "type": "monomer", + "id": "433", + "seqid": 441, + "position": { + "x": 1.0, + "y": -11.393699645996094 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer434": { + "type": "monomer", + "id": "434", + "seqid": 442, + "position": { + "x": 1.9449000358581544, + "y": -11.393699645996094 + }, + "alias": "Trp", + "templateId": "Trp_15" + }, + "monomer435": { + "type": "monomer", + "id": "435", + "seqid": 443, + "position": { + "x": 2.8898000717163088, + "y": -11.393699645996094 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer436": { + "type": "monomer", + "id": "436", + "seqid": 444, + "position": { + "x": 3.8345999717712404, + "y": -11.393699645996094 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer437": { + "type": "monomer", + "id": "437", + "seqid": 445, + "position": { + "x": 4.7795000076293949, + "y": -11.393699645996094 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer438": { + "type": "monomer", + "id": "438", + "seqid": 446, + "position": { + "x": 5.724400043487549, + "y": -11.393699645996094 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer439": { + "type": "monomer", + "id": "439", + "seqid": 447, + "position": { + "x": 6.669300079345703, + "y": -11.393699645996094 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer440": { + "type": "monomer", + "id": "440", + "seqid": 449, + "position": { + "x": 8.559100151062012, + "y": -11.393699645996094 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer441": { + "type": "monomer", + "id": "441", + "seqid": 450, + "position": { + "x": 9.503899574279786, + "y": -11.393699645996094 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer442": { + "type": "monomer", + "id": "442", + "seqid": 451, + "position": { + "x": 11.393699645996094, + "y": -11.393699645996094 + }, + "alias": "Ser", + "templateId": "Ser_8" + }, + "monomer443": { + "type": "monomer", + "id": "443", + "seqid": 452, + "position": { + "x": 12.338600158691407, + "y": -11.393699645996094 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer444": { + "type": "monomer", + "id": "444", + "seqid": 453, + "position": { + "x": 13.283499717712403, + "y": -11.393699645996094 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer445": { + "type": "monomer", + "id": "445", + "seqid": 454, + "position": { + "x": 14.228300094604493, + "y": -11.393699645996094 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer446": { + "type": "monomer", + "id": "446", + "seqid": 455, + "position": { + "x": 15.173199653625489, + "y": -11.393699645996094 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer447": { + "type": "monomer", + "id": "447", + "seqid": 456, + "position": { + "x": 16.118099212646486, + "y": -11.393699645996094 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer448": { + "type": "monomer", + "id": "448", + "seqid": 457, + "position": { + "x": 17.062999725341798, + "y": -11.393699645996094 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer449": { + "type": "monomer", + "id": "449", + "seqid": 459, + "position": { + "x": 18.952800750732423, + "y": -11.393699645996094 + }, + "alias": "Val", + "templateId": "Val_11" + }, + "monomer450": { + "type": "monomer", + "id": "450", + "seqid": 460, + "position": { + "x": 19.897600173950197, + "y": -11.393699645996094 + }, + "alias": "Pro", + "templateId": "Pro_2" + }, + "monomer451": { + "type": "monomer", + "id": "451", + "seqid": 461, + "position": { + "x": 21.787399291992189, + "y": -11.393699645996094 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer452": { + "type": "monomer", + "id": "452", + "seqid": 462, + "position": { + "x": 22.7322998046875, + "y": -11.393699645996094 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer453": { + "type": "monomer", + "id": "453", + "seqid": 463, + "position": { + "x": 23.677200317382814, + "y": -11.393699645996094 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer454": { + "type": "monomer", + "id": "454", + "seqid": 464, + "position": { + "x": 24.621999740600587, + "y": -11.393699645996094 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer455": { + "type": "monomer", + "id": "455", + "seqid": 465, + "position": { + "x": 25.5669002532959, + "y": -11.393699645996094 + }, + "alias": "Lys", + "templateId": "Lys_16" + }, + "monomer456": { + "type": "monomer", + "id": "456", + "seqid": 466, + "position": { + "x": 26.51180076599121, + "y": -11.393699645996094 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer457": { + "type": "monomer", + "id": "457", + "seqid": 467, + "position": { + "x": 27.45669937133789, + "y": -11.393699645996094 + }, + "alias": "Leu", + "templateId": "Leu_6" + }, + "monomer458": { + "type": "monomer", + "id": "458", + "seqid": 468, + "position": { + "x": 28.401599884033204, + "y": -11.393699645996094 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer459": { + "type": "monomer", + "id": "459", + "seqid": 469, + "position": { + "x": 29.346500396728517, + "y": -11.393699645996094 + }, + "alias": "Gln", + "templateId": "Gln_5" + }, + "monomer460": { + "type": "monomer", + "id": "460", + "seqid": 470, + "position": { + "x": 30.29129981994629, + "y": -11.393699645996094 + }, + "alias": "Ile", + "templateId": "Ile_14" + }, + "monomer461": { + "type": "monomer", + "id": "461", + "seqid": 471, + "position": { + "x": 32.18109893798828, + "y": -11.393699645996094 + }, + "alias": "Thr", + "templateId": "Thr_1" + }, + "monomer462": { + "type": "monomer", + "id": "462", + "seqid": 472, + "position": { + "x": 33.125999450683597, + "y": -11.393699645996094 + }, + "alias": "Ala", + "templateId": "Ala_9" + }, + "monomer463": { + "type": "monomer", + "id": "463", + "seqid": 473, + "position": { + "x": 34.070899963378909, + "y": -11.393699645996094 + }, + "alias": "His", + "templateId": "His_17" + }, + "monomer464": { + "type": "monomer", + "id": "464", + "seqid": 474, + "position": { + "x": 35.01570129394531, + "y": -11.393699645996094 + }, + "alias": "Phe", + "templateId": "Phe_12" + }, + "monomer465": { + "type": "monomer", + "id": "465", + "seqid": 475, + "position": { + "x": 35.960601806640628, + "y": -11.393699645996094 + }, + "alias": "Glu", + "templateId": "Glu_3" + }, + "monomer466": { + "type": "monomer", + "id": "466", + "seqid": 476, + "position": { + "x": 36.90549850463867, + "y": -11.393699645996094 + }, + "alias": "Gly", + "templateId": "Gly_7" + }, + "monomer467": { + "type": "monomer", + "id": "467", + "seqid": 477, + "position": { + "x": 37.850399017333987, + "y": -11.393699645996094 + }, + "alias": "Arg", + "templateId": "Arg_10" + }, + "monomer468": { + "type": "monomer", + "id": "468", + "seqid": 458, + "position": { + "x": 18.00790023803711, + "y": -11.393699645996094 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer469": { + "type": "monomer", + "id": "469", + "seqid": 448, + "position": { + "x": 7.614200115203857, + "y": -11.393699645996094 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer470": { + "type": "monomer", + "id": "470", + "seqid": 413, + "position": { + "x": 13.283499717712403, + "y": -10.448800086975098 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer471": { + "type": "monomer", + "id": "471", + "seqid": 379, + "position": { + "x": 18.952800750732423, + "y": -9.503899574279786 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer472": { + "type": "monomer", + "id": "472", + "seqid": 200, + "position": { + "x": 40.685001373291019, + "y": -4.7795000076293949 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer473": { + "type": "monomer", + "id": "473", + "seqid": 189, + "position": { + "x": 29.346500396728517, + "y": -4.7795000076293949 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer474": { + "type": "monomer", + "id": "474", + "seqid": 160, + "position": { + "x": 40.685001373291019, + "y": -3.8345999717712404 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer475": { + "type": "monomer", + "id": "475", + "seqid": 134, + "position": { + "x": 14.228300094604493, + "y": -3.8345999717712404 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomer476": { + "type": "monomer", + "id": "476", + "seqid": 103, + "position": { + "x": 23.677200317382814, + "y": -2.8898000717163088 + }, + "alias": "Cys", + "templateId": "Cys_19" + }, + "monomerTemplate-Met_0": { + "type": "monomerTemplate", + "id": "Met_0", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "M", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 11.359299659729004, + -6.498300075531006, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.950799942016602, + -6.065800189971924, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 12.573800086975098, + -7.239999771118164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.573800086975098, + -6.4868998527526859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.950799942016602, + -5.310800075531006, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.600799560546875, + -4.935999870300293, + 0.0 + ] + }, + { + "label": "S", + "location": [ + 12.600799560546875, + -4.185999870300293, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.250800132751465, + -3.811300039291382, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.787500381469727, + -6.4868998527526859, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.137499809265137, + -6.498300075531006, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Thr_1": { + "type": "monomerTemplate", + "id": "Thr_1", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "T", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 7 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.408699989318848, + -9.12660026550293, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.000200271606446, + -8.694199562072754, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.623100280761719, + -9.868300437927246, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.623100280761719, + -9.11520004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.000200271606446, + -7.9390997886657719, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.650199890136719, + -7.5644001960754398, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.351200103759766, + -7.563799858093262, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.015899658203125, + -8.190899848937989, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.187899589538575, + -9.12090015411377, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.837900161743164, + -9.12090015411377, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-Pro_2": { + "type": "monomerTemplate", + "id": "Pro_2", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "P", + "attachmentPoints": [ + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 0 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 3.5032999515533449, + -2.691200017929077, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 1.8241000175476075, + -2.677500009536743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.3512001037597658, + -2.664599895477295, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 2.688199996948242, + -2.2195000648498537, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 2.688199996948242, + -1.4139000177383423, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.8316999673843384, + -1.2884999513626099, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.4464999437332154, + -2.0648999214172365, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 2.0634000301361086, + -2.6791000366210939, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 3.3512001037597658, + -3.4639999866485597, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 2, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 5, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 2, + 8 + ] + } + ] + }, + "monomerTemplate-Glu_3": { + "type": "monomerTemplate", + "id": "Glu_3", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "E", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 11 + ] + } + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 7 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 7.5406999588012699, + -8.816100120544434, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -8.225700378417969, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 8.563300132751465, + -7.044600009918213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -6.453999996185303, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -5.272799968719482, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.609199523925782, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 8.563300132751465, + -4.682199954986572, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 8.563400268554688, + -7.6350998878479, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.586199760437012, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.765399932861329, + -8.816300392150879, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 9.586199760437012, + -9.997400283813477, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 6.486599922180176, + -8.816100120544434, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 11 + ] + } + ] + }, + "monomerTemplate-Asp_4": { + "type": "monomerTemplate", + "id": "Asp_4", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "D", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + } + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -3.953200101852417, + -1.0982999801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + -0.6657999753952026, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -2.7386999130249025, + -1.840000033378601, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7386999130249025, + -1.086899995803833, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + 0.08919999748468399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7132999897003176, + 0.46939998865127566, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.0643999576568605, + 0.09390000253915787, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.7132999897003176, + 1.2200000286102296, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -3.390500068664551, + -0.3084000051021576, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -4.173799991607666, + -1.0925999879837037, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.5237998962402345, + -1.0925999879837037, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Gln_5": { + "type": "monomerTemplate", + "id": "Gln_5", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "Q", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 5 + ] + } + }, + { + "attachmentAtom": 10, + "leavingGroup": { + "atoms": [ + 11 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 9.093799591064454, + -7.0, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.116600036621094, + -6.40939998626709, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "H", + "location": [ + 7.789299964904785, + -7.0, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 10.116600036621094, + -5.228000164031982, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -7.000199794769287, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.475500106811524, + -7.000199794769287, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 11.139800071716309, + -8.181599617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -4.63730001449585, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.139800071716309, + -3.4558000564575197, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.163000106811524, + -2.8650999069213869, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 10.116600036621094, + -2.8650999069213869, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 10.116600036621094, + -1.6835999488830567, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 11 + ] + } + ] + }, + "monomerTemplate-Leu_6": { + "type": "monomerTemplate", + "id": "Leu_6", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "L", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.017699956893921, + -14.119099617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.6092000007629396, + -13.686699867248536, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 4.232100009918213, + -14.860799789428711, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.232100009918213, + -14.10770034790039, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 3.6092000007629396, + -12.931599617004395, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.259200096130371, + -12.556900024414063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.259200096130371, + -11.806900024414063, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.9085001945495609, + -12.932100296020508, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.445799827575684, + -14.10770034790039, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 2.795799970626831, + -14.091699600219727, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Gly_7": { + "type": "monomerTemplate", + "id": "Gly_7", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "G", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 5 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 4 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 3.6760001182556154, + -12.527400016784668, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.267499923706055, + -12.095000267028809, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 4.893199920654297, + -13.269100189208985, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 4.890399932861328, + -12.51609992980957, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 5.1041998863220219, + -12.51669979095459, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 3.454200029373169, + -12.512499809265137, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + } + ] + }, + "monomerTemplate-Ser_8": { + "type": "monomerTemplate", + "id": "Ser_8", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "S", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 7 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } + }, + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 6 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387200355529786, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978699684143067, + -7.805200099945068, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601699829101563, + -8.979399681091309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601699829101563, + -8.226300239562989, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978699684143067, + -7.05019998550415, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.628700256347657, + -6.6753997802734379, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.022700309753418, + -7.3333001136779789, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.220800399780274, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226300239562989, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + } + ] + }, + "monomerTemplate-Ala_9": { + "type": "monomerTemplate", + "id": "Ala_9", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "A", + "attachmentPoints": [ + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 0 + ] + } + } + ], + "atoms": [ + { + "label": "O", + "location": [ + 6.6265997886657719, + -2.066200017929077, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.0015997886657719, + -2.087599992752075, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 5.135799884796143, + -2.078399896621704, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.78439998626709, + -1.5982999801635743, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 6.475299835205078, + -2.0652999877929689, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 6.475299835205078, + -2.897700071334839, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.78439998626709, + -0.7662000060081482, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 2, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 6 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 2, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 0 + ] + } + ] + }, + "monomerTemplate-Arg_10": { + "type": "monomerTemplate", + "id": "Arg_10", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "R", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 13 + ] + } + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 11 + ] + } + }, + { + "attachmentAtom": 2, + "leavingGroup": { + "atoms": [ + 12 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387299537658692, + -8.550299644470215, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.928400039672852, + -5.48859977722168, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.928400039672852, + -4.73859977722168, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 15.577799797058106, + -5.863900184631348, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.2746000289917, + -5.888400077819824, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978799819946289, + -8.117899894714356, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601699829101563, + -9.291999816894532, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601699829101563, + -8.538999557495118, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978799819946289, + -7.362800121307373, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628800392150879, + -6.988100051879883, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628800392150879, + -6.238100051879883, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.538999557495118, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.991499900817871, + -7.6768999099731449, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.53320026397705, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 8 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 4, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 2, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 4 + ] + }, + { + "type": 2, + "atoms": [ + 1, + 3 + ] + } + ] + }, + "monomerTemplate-Val_11": { + "type": "monomerTemplate", + "id": "Val_11", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "V", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 8 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 7 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 5.796800136566162, + -18.364900588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.9325008392334, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 7.011300086975098, + -19.106599807739259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.011300086975098, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 6.388299942016602, + -17.177400588989259, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 7.038300037384033, + -16.80270004272461, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 5.739299774169922, + -16.802200317382814, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 7.224999904632568, + -18.353599548339845, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 5.574999809265137, + -18.350000381469728, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 3, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Phe_12": { + "type": "monomerTemplate", + "id": "Phe_12", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "F", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 12 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -0.8240000009536743, + 1.0892000198364258, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.23250000178813935, + 1.5217000246047974, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 0.39320001006126406, + 0.3474999964237213, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.3903999924659729, + 1.100600004196167, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -0.2321999967098236, + 2.276700019836426, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 0.41670000553131106, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 2.2792000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 2.6542000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.7157000303268433, + 3.4042000770568849, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 1.0662000179290772, + 3.7792000770568849, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 0.604200005531311, + 1.100000023841858, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -1.045799970626831, + 1.079200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + } + ] + }, + "monomerTemplate-Tyr_13": { + "type": "monomerTemplate", + "id": "Tyr_13", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "Y", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 13 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 14 + ] + } + }, + { + "attachmentAtom": 11, + "leavingGroup": { + "atoms": [ + 12 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.384200096130371, + -8.238800048828125, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.975700378417969, + -7.806399822235107, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.598600387573243, + -8.980500221252442, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.598600387573243, + -8.227499961853028, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.975700378417969, + -7.051300048828125, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.624799728393555, + -5.923900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.624799728393555, + -6.673900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.274399757385254, + -7.048900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.92389965057373, + -6.673900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.92389965057373, + -5.923900127410889, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.274399757385254, + -5.548900127410889, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 15.573399543762207, + -5.548900127410889, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.956000328063965, + -7.269700050354004, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.21969985961914, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.227499961853028, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 10, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 9, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + } + ] + }, + "monomerTemplate-Ile_14": { + "type": "monomerTemplate", + "id": "Ile_14", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "I", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 11.451000213623047, + -3.469099998474121, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -3.0367000102996828, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 12.665399551391602, + -4.2108001708984379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.665399551391602, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.042499542236329, + -2.281599998474121, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.692500114440918, + -1.9069000482559205, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.9062999486923218, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 11.393500328063965, + -1.1541999578475953, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 12.879199981689454, + -3.45770001411438, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 11.22920036315918, + -3.454200029373169, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ], + "stereo": 6 + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-Trp_15": { + "type": "monomerTemplate", + "id": "Trp_15", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "W", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 15 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 16 + ] + } + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 14 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387499809265137, + -8.23740005493164, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.979000091552735, + -7.804999828338623, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601900100708008, + -8.979100227355957, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601900100708008, + -8.226099967956543, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.979000091552735, + -7.049900054931641, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.3548002243042, + -6.842800140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628199577331543, + -6.672500133514404, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.742199897766114, + -6.198299884796143, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.560199737548829, + -5.926400184631348, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.249699592590332, + -5.632800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.338700294494629, + -4.889100074768066, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.735600471496582, + -4.4405999183654789, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.046099662780762, + -4.7342000007629398, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.963299751281739, + -5.474299907684326, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 13.716500282287598, + -7.489799976348877, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.010199546813965, + -8.252300262451172, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226099967956543, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 15 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 14 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 9, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 10, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 16 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 2, + "atoms": [ + 12, + 13 + ] + }, + { + "type": 1, + "atoms": [ + 13, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + } + ] + }, + "monomerTemplate-Lys_16": { + "type": "monomerTemplate", + "id": "Lys_16", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "K", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 10 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 11 + ] + } + }, + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 9 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 12.387399673461914, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978899955749512, + -7.805200099945068, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 13.601799964904786, + -8.979399681091309, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.601799964904786, + -8.226300239562989, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.978899955749512, + -7.05019998550415, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628899574279786, + -6.6753997802734379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.628899574279786, + -5.9253997802734379, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.278900146484375, + -5.5507001876831059, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.278900146484375, + -4.8007001876831059, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.991499900817871, + -7.302000045776367, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.166500091552735, + -8.237700462341309, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.816499710083008, + -8.226300239562989, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + } + ] + }, + "monomerTemplate-His_17": { + "type": "monomerTemplate", + "id": "His_17", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "H", + "attachmentPoints": [ + { + "attachmentAtom": 5, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 4, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 12, + "leavingGroup": { + "atoms": [ + 10 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + 13.662099838256836, + -5.933700084686279, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.115599632263184, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.867400169372559, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 13.627900123596192, + -9.382800102233887, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.627900123596192, + -8.53279972076416, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 12.2568998336792, + -8.545499801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -8.05739974975586, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "C", + "location": [ + 12.924599647521973, + -7.205100059509277, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 13.662099838256836, + -6.780300140380859, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.464500427246094, + -7.050099849700928, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 12.933199882507325, + -7.526100158691406, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 14.478500366210938, + -5.680300235748291, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 14.969099998474121, + -6.370299816131592, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 2, + "atoms": [ + 0, + 11 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 0 + ] + }, + { + "type": 2, + "atoms": [ + 9, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 11, + 12 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 12, + 10 + ] + }, + { + "type": 2, + "atoms": [ + 4, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 4 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + } + ] + }, + "monomerTemplate-Asn_18": { + "type": "monomerTemplate", + "id": "Asn_18", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "N", + "attachmentPoints": [ + { + "attachmentAtom": 0, + "leavingGroup": { + "atoms": [ + 9 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 10 + ] + } + }, + { + "attachmentAtom": 7, + "leavingGroup": { + "atoms": [ + 8 + ] + } + } + ], + "atoms": [ + { + "label": "N", + "location": [ + -3.953200101852417, + -1.0982999801635743, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + -0.6657999753952026, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + -2.7386999130249025, + -1.840000033378601, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7386999130249025, + -1.086899995803833, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -3.3617000579833986, + 0.08919999748468399, + 0.0 + ] + }, + { + "label": "C", + "location": [ + -2.7132999897003176, + 0.46939998865127566, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.0643999576568605, + 0.09390000253915787, + 0.0 + ] + }, + { + "label": "N", + "location": [ + -2.7132999897003176, + 1.2200000286102296, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -3.390500068664551, + -0.3084000051021576, + 0.0 + ] + }, + { + "label": "H", + "location": [ + -4.173799991607666, + -1.0925999879837037, + 0.0 + ] + }, + { + "label": "O", + "location": [ + -2.5237998962402345, + -1.0925999879837037, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 0, + 9 + ] + }, + { + "type": 1, + "atoms": [ + 3, + 10 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 4 + ], + "stereo": 1 + }, + { + "type": 2, + "atoms": [ + 5, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 7, + 8 + ] + }, + { + "type": 1, + "atoms": [ + 5, + 7 + ] + }, + { + "type": 1, + "atoms": [ + 0, + 1 + ] + }, + { + "type": 1, + "atoms": [ + 1, + 3 + ] + }, + { + "type": 2, + "atoms": [ + 3, + 2 + ] + } + ] + }, + "monomerTemplate-Cys_19": { + "type": "monomerTemplate", + "id": "Cys_19", + "class": "AminoAcid", + "classHELM": "PEPTIDE", + "alias": "C", + "attachmentPoints": [ + { + "attachmentAtom": 8, + "leavingGroup": { + "atoms": [ + 1 + ] + } + }, + { + "attachmentAtom": 6, + "leavingGroup": { + "atoms": [ + 2 + ] + } + }, + { + "attachmentAtom": 3, + "leavingGroup": { + "atoms": [ + 0 + ] + } + } + ], + "atoms": [ + { + "label": "H", + "location": [ + 9.201199531555176, + -7.158699989318848, + 0.0 + ] + }, + { + "label": "H", + "location": [ + 8.374699592590332, + -7.985400199890137, + 0.0 + ] + }, + { + "label": "O", + "location": [ + 10.02810001373291, + -7.985400199890137, + 0.0 + ] + }, + { + "label": "S", + "location": [ + 9.718199729919434, + -6.737199783325195, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.194899559020996, + -7.6427001953125, + 0.0 + ], + "stereoLabel": "abs" + }, + { + "label": "O", + "location": [ + 9.698399543762207, + -8.580300331115723, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.698399543762207, + -7.97629976272583, + 0.0 + ] + }, + { + "label": "C", + "location": [ + 9.194899559020996, + -7.03879976272583, + 0.0 + ] + }, + { + "label": "N", + "location": [ + 8.704099655151368, + -7.994699954986572, + 0.0 + ] + } + ], + "bonds": [ + { + "type": 1, + "atoms": [ + 3, + 0 + ] + }, + { + "type": 1, + "atoms": [ + 6, + 2 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 1 + ] + }, + { + "type": 2, + "atoms": [ + 6, + 5 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 7 + ], + "stereo": 1 + }, + { + "type": 1, + "atoms": [ + 7, + 3 + ] + }, + { + "type": 1, + "atoms": [ + 4, + 6 + ] + }, + { + "type": 1, + "atoms": [ + 8, + 4 + ] + } + ] + } +} \ No newline at end of file From 3cf928fdf3e4e832b45c3f60222ce651316f95fb Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 13:02:24 +0100 Subject: [PATCH 26/27] molv3000-fix --- core/indigo-core/molecule/molfile_loader.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/core/indigo-core/molecule/molfile_loader.h b/core/indigo-core/molecule/molfile_loader.h index 5558cba257..f4476c4a6f 100644 --- a/core/indigo-core/molecule/molfile_loader.h +++ b/core/indigo-core/molecule/molfile_loader.h @@ -143,9 +143,6 @@ namespace indigo Molecule* _mol; BaseMolecule* _bmol; QueryMolecule* _qmol; - std::unordered_map _scsr_atom_superatoms; - std::map _scsr_superatoms; - Array _scsr_orphaned_atoms; private: MolfileLoader(const MolfileLoader&); // no implicit copy From 077e91a70635afc6cdec0cdb4f5eec6ccb87221e Mon Sep 17 00:00:00 2001 From: even1024 Date: Tue, 31 Oct 2023 13:16:44 +0100 Subject: [PATCH 27/27] molv3000-fix --- core/indigo-core/molecule/molfile_loader.h | 1 - .../molecule/src/molfile_loader.cpp | 29 ------------------- 2 files changed, 30 deletions(-) diff --git a/core/indigo-core/molecule/molfile_loader.h b/core/indigo-core/molecule/molfile_loader.h index f4476c4a6f..68ff407d98 100644 --- a/core/indigo-core/molecule/molfile_loader.h +++ b/core/indigo-core/molecule/molfile_loader.h @@ -113,7 +113,6 @@ namespace indigo void _readCtabHeader(); void _readCtab2000(); void _convertCharge(int value, int& charge, int& radical); - void _convertSuperatomsToTemplates(); void _read3dFeature2000(); void _readRGroupOccurrenceRanges(const char* str, Array& ranges); void _readRGroups2000(); diff --git a/core/indigo-core/molecule/src/molfile_loader.cpp b/core/indigo-core/molecule/src/molfile_loader.cpp index 6b5f977490..108d1a21a3 100644 --- a/core/indigo-core/molecule/src/molfile_loader.cpp +++ b/core/indigo-core/molecule/src/molfile_loader.cpp @@ -2090,35 +2090,6 @@ void MolfileLoader::_postLoad() _bmol->transformSuperatomsToTemplates(); } -void MolfileLoader::_convertSuperatomsToTemplates() -{ - for (const auto& kvp : _scsr_superatoms) - { - Superatom& sa = (Superatom&)_bmol->sgroups.getSGroup(kvp.first); - std::unordered_set sg_atoms(sa.atoms.ptr(), sa.atoms.ptr() + sa.atoms.size()); - Array map_out; - int tg_idx = _bmol->tgroups.addTGroup(); - TGroup& tgroup = _bmol->tgroups.getTGroup(tg_idx); - tgroup.tgroup_id = tg_idx; - tgroup.fragment.reset(_bmol->neu()); - tgroup.fragment->makeSubmolecule(*_bmol, sa.atoms, &map_out); - tgroup.fragment->clearSGroups(); - - if (sa.subscript.size()) - tgroup.tgroup_alias.copy(sa.subscript); - - if (sa.sa_class.ptr()) - tgroup.tgroup_class.copy(sa.sa_class); - - if (sa.sa_natreplace.size()) - tgroup.tgroup_natreplace.copy(sa.sa_natreplace); - auto ta_idx = _bmol->addVertex(); - _bmol->isTemplateAtom(ta_idx); - - auto seqid = sa.seqid; - } -} - void MolfileLoader::_readRGroups2000() { MoleculeRGroups* rgroups = &_bmol->rgroups;