From 30cef9b20dfdb1f0ccf11207491b1c5fd64c7929 Mon Sep 17 00:00:00 2001 From: Dan Nealschneider Date: Sun, 22 Sep 2019 22:36:26 +0200 Subject: [PATCH] Speeds up coordgen When detecting clashes, do a rough binning of atoms. If both atoms for one bond are above both atoms of the other bond, they can't be a clash. This saves clash calculations for things that are obviously not clashes. It has an impact on big structures that are partially templated. (overall 15% speedup, but 40% improvement for the worst molecules in the test case. Also adds a simplistic test that the coordinates generated don't have crazy bond lengths. --- CoordgenMinimizer.cpp | 14 + sketcherMinimizerAtom.h | 2 +- sketcherMinimizerClashInteraction.h | 13 +- templates.mae | 1644 +-------------------------- test/test_coordgen.cpp | 39 + 5 files changed, 122 insertions(+), 1590 deletions(-) diff --git a/CoordgenMinimizer.cpp b/CoordgenMinimizer.cpp index 2fb597a..be0a28a 100644 --- a/CoordgenMinimizer.cpp +++ b/CoordgenMinimizer.cpp @@ -1263,6 +1263,20 @@ bool CoordgenMinimizer::bondsClash(sketcherMinimizerBond* bond, bond->getEndAtom() == bond2->getEndAtom()) { return false; } + auto& start1 = bond->getStartAtom()->coordinates; + auto& start2 = bond2->getStartAtom()->coordinates; + auto& end1 = bond->getEndAtom()->coordinates; + auto& end2 = bond2->getEndAtom()->coordinates; + // coincidence and intersection calculations are expensive. Often bonds + // are nowhere near each other, so skip the remaining work if a bond is + // strictly to the left or right of another bond. + if (max(start1.x(), end1.x()) < min(start2.x(), end2.x()) || + max(start1.y(), end1.y()) < min(start2.y(), end2.y()) || + min(start1.x(), end1.x()) > max(start2.x(), end2.x()) || + min(start1.y(), end1.y()) > max(start2.y(), end2.y())) { + return false; + } + if (sketcherMinimizerMaths::pointsCoincide( bond->getStartAtom()->coordinates, bond2->getStartAtom()->coordinates) || diff --git a/sketcherMinimizerAtom.h b/sketcherMinimizerAtom.h index ce506e8..8535ab2 100644 --- a/sketcherMinimizerAtom.h +++ b/sketcherMinimizerAtom.h @@ -144,7 +144,7 @@ class EXPORT_COORDGEN sketcherMinimizerAtom * stereochemistry */ bool hasNoStereoActiveBonds() const; - sketcherMinimizerPointF getCoordinates() const { return coordinates; } + const sketcherMinimizerPointF& getCoordinates() const { return coordinates; } int getAtomicNumber() const { return atomicNumber; } void setAtomicNumber(int number) { atomicNumber = number; } diff --git a/sketcherMinimizerClashInteraction.h b/sketcherMinimizerClashInteraction.h index 72917ab..1a415ee 100644 --- a/sketcherMinimizerClashInteraction.h +++ b/sketcherMinimizerClashInteraction.h @@ -32,7 +32,7 @@ class sketcherMinimizerClashInteraction : public sketcherMinimizerInteraction /* calculate the energy of the clash */ void energy(float& e) override { - float squaredDistance = + squaredDistance = sketcherMinimizerMaths::squaredDistancePointSegment( atom2->coordinates, atom1->coordinates, atom3->coordinates); if (squaredDistance > restV) @@ -49,16 +49,13 @@ class sketcherMinimizerClashInteraction : public sketcherMinimizerInteraction energy(totalE); if (skipForce) return; + if (squaredDistance > restV) + return; + sketcherMinimizerPointF atomP = atom2->coordinates; sketcherMinimizerPointF bondP1 = atom1->coordinates; sketcherMinimizerPointF bondP2 = atom3->coordinates; - float squaredDistance = - sketcherMinimizerMaths::squaredDistancePointSegment(atomP, bondP1, - bondP2); - if (squaredDistance > restV) - return; - sketcherMinimizerPointF projection = sketcherMinimizerMaths::projectPointOnLine(atomP, bondP1, bondP2); sketcherMinimizerPointF f = atomP - projection; @@ -72,6 +69,8 @@ class sketcherMinimizerClashInteraction : public sketcherMinimizerInteraction float k2; sketcherMinimizerAtom* atom3; +private: + float squaredDistance; }; #endif // sketcherMINIMIZERCLASHINTERACTION diff --git a/templates.mae b/templates.mae index 5a2f55b..5b9726a 100644 --- a/templates.mae +++ b/templates.mae @@ -6,25 +6,9 @@ f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: CRDGEN-172_2D_template - 1 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 1 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[36] { # First column is atom index # @@ -129,36 +113,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: CRDGEN-118_template - 2 - CRDGEN-118_template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae 2 - 9_R_8_6_10 - templates->templates->templates - templates->templates1->templates11 - 0 - 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[20] { # First column is atom index # i_m_mmod_type @@ -227,25 +185,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 3 - template.1_mol1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 3 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[23] { # First column is atom index # @@ -320,25 +262,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 4 - template.1_mol2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 4 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[25] { # First column is atom index # @@ -417,25 +343,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 5 - template.1_mol3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 5 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[27] { # First column is atom index # @@ -518,25 +428,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 6 - template.1_mol4 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 6 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[24] { # First column is atom index # @@ -613,25 +507,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: template.mol - 7 - template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 7 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[27] { # First column is atom index # @@ -714,25 +592,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: template.mol - 8 - template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 8 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[26] { # First column is atom index # @@ -813,25 +675,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 9 - newTemp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 9 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[34] { # First column is atom index # @@ -935,25 +781,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 10 - newTemp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 10 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[22] { # First column is atom index # @@ -1027,25 +857,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 11 - newTemp.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 11 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[22] { # First column is atom index # @@ -1118,25 +932,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 12 - newTemp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 12 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[19] { # First column is atom index # @@ -1203,25 +1001,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "New Entry" - 13 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 13 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[12] { # First column is atom index # @@ -1274,25 +1056,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: CRDGEN-85_template_2 - 14 - CRDGEN-85_template_2.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 14 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[22] { # First column is atom index # @@ -1365,25 +1131,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: CRDGEN-85_template - 15 - CRDGEN-85_template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 15 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[21] { # First column is atom index # @@ -1454,25 +1204,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 16 - newTemp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 16 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[17] { # First column is atom index # @@ -1536,39 +1270,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-4" - 17 - newTemplates2.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 17 - 3_S_4_6_2 - 7_S_8_9_6_10 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[2] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - ::: - } m_atom[15] { # First column is atom index # i_m_mmod_type @@ -1627,27 +1332,9 @@ f_m_ct { f_m_ct { s_m_title - i_m_stars - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-4" - 3 - 18 - newTemplates2.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 18 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[21] { # First column is atom index # @@ -1719,27 +1406,9 @@ f_m_ct { f_m_ct { s_m_title - i_m_stars - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-4" - 3 - 19 - newTemplates2.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 19 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[28] { # First column is atom index # @@ -1827,25 +1496,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-4" - 20 - newTemplates2.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 20 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[23] { # First column is atom index # @@ -1922,25 +1575,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-4" - 21 - newTemplates2.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 21 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[19] { # First column is atom index # @@ -2008,25 +1645,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-4" - 22 - newTemplates2.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 22 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[16] { # First column is atom index # @@ -2089,36 +1710,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "New Entry" - 23 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 23 - 23_S_24_30_22 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[33] { # First column is atom index # i_m_mmod_type @@ -2214,25 +1809,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 24 - newTemplates.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 24 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[22] { # First column is atom index # @@ -2306,36 +1885,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 25 - newTemplates.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 25 - 5_S_10_6_4 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[12] { # First column is atom index # i_m_mmod_type @@ -2386,25 +1939,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 26 - newTemplates.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 26 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[13] { # First column is atom index # @@ -2460,39 +1997,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 27 - newTemplates.4 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 27 - 11_R_13_12_10 - 26_S_29_25_27 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[2] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - ::: - } m_atom[31] { # First column is atom index # i_m_mmod_type @@ -2585,25 +2093,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 28 - newTemplates.5 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 28 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[24] { # First column is atom index # @@ -2682,25 +2174,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 29 - newTemplates.6 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 29 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[27] { # First column is atom index # @@ -2786,25 +2262,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 30 - newTemplates.7 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 30 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[22] { # First column is atom index # @@ -2877,39 +2337,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 31 - newTemps.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 31 - 6_S_5_9_1_17 - 5_S_7_6_4 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[2] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - ::: - } m_atom[17] { # First column is atom index # i_m_mmod_type @@ -2973,39 +2404,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 32 - newTemps.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 32 - 4_S_5_3_11 - 31_S_32_30_33 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[2] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - ::: - } m_atom[36] { # First column is atom index # i_m_mmod_type @@ -3105,25 +2507,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "New Entry" - 33 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 33 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[8] { # First column is atom index # @@ -3173,25 +2559,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "New Entry" - 34 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 34 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[16] { # First column is atom index # @@ -3252,36 +2622,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: newTemp.mol - 35 - newTemp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 35 - 1_R_12_9_2 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[12] { # First column is atom index # i_m_mmod_type @@ -3332,36 +2676,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 36 - newTemps.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 36 - 12_S_14_13_11 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[26] { # First column is atom index # i_m_mmod_type @@ -3445,48 +2763,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_st_Chirality_4 - s_st_Chirality_5 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 37 - newTemps.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 37 - 3_S_4_2_5 - 7_R_9_8_6 - 11_R_15_10_12 - 9_S_17_7_10_14 - 10_S_9_11_18 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[5] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - 4 10 s_st_Chirality_4 - 5 10 s_st_Chirality_5 - ::: - } m_atom[19] { # First column is atom index # i_m_mmod_type @@ -3554,25 +2834,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 38 - newTemps.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 38 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[14] { # First column is atom index # @@ -3631,25 +2895,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 39 - newTemps.4 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 39 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[17] { # First column is atom index # @@ -3714,25 +2962,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 40 - newTemps.5 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 40 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[16] { # First column is atom index # @@ -3796,25 +3028,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: twistane - 41 - twistane.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 41 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[10] { # First column is atom index # @@ -3863,25 +3079,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "New Entry" - 42 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 42 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[10] { # First column is atom index # @@ -3931,25 +3131,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: Structure - 43 - Structure - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 43 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[11] { # First column is atom index # @@ -4000,37 +3184,15 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_sd_Author_Affiliation s_sd_Citation i_sd_Citation_ID i_sd_Compound_Label - s_sd_Set\_Name - i_sd_Row_Number - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: 10 - 44 - rifapentine_core.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 44 - "Hoffmann-La Roche" "Patent 2012 WO2012007375" 3700 10 - irak4_sar_14 - 63 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[30] { # First column is atom index # @@ -4120,25 +3282,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 45 - senecionine.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 45 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[17] { # First column is atom index # @@ -4201,25 +3347,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 46 - temp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 46 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[42] { # First column is atom index # @@ -4337,54 +3467,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_st_Chirality_4 - s_st_Chirality_5 - s_st_AtomNumChirality_1 - s_st_AtomNumChirality_2 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temp.mol - 47 - temp2.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 47 - 3_ANS_1_4_6 - 6_S_7_17_3 - 16_ANS_2_5_15_17 - 15_R_18_16_14 - 17_S_6_12_16_20 - 3_ANS_1_4_6 - 16_ANS_2_5_15_17 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[7] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - 4 10 s_st_Chirality_4 - 5 10 s_st_Chirality_5 - 6 10 s_st_AtomNumChirality_1 - 7 10 s_st_AtomNumChirality_2 - ::: - } m_atom[20] { # First column is atom index # i_m_mmod_type @@ -4455,42 +3541,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temp2.mol - 48 - temp3.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 48 - 4_S_5_15_3 - 13_R_16_14_12 - 15_S_4_10_14_18 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[3] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - ::: - } m_atom[18] { # First column is atom index # i_m_mmod_type @@ -4556,25 +3610,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 49 - temp4.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 49 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[21] { # First column is atom index # @@ -4644,25 +3682,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-2" - 50 - temp5.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 50 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[25] { # First column is atom index # @@ -4742,25 +3764,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps2.sdf - 51 - temp6.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 51 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[20] { # First column is atom index # @@ -4832,25 +3838,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 52 - template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 52 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[36] { # First column is atom index # @@ -4955,42 +3945,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 53 - temps.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 53 - 15_R_14_16_27 - 18_R_17_19_21 - 41_S_20_42_40 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[3] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - ::: - } m_atom[50] { # First column is atom index # i_m_mmod_type @@ -5123,36 +4081,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 54 - temps.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 54 - 2_S_6_1_3 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[23] { # First column is atom index # i_m_mmod_type @@ -5228,25 +4160,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 55 - temps.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 55 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[17] { # First column is atom index # @@ -5309,25 +4225,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 56 - temps.4 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 56 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[22] { # First column is atom index # @@ -5401,25 +4301,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 57 - temps.5 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 57 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[18] { # First column is atom index # @@ -5484,51 +4368,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_st_Chirality_4 - s_st_Chirality_5 - s_st_Chirality_6 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 58 - temps.6 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 58 - 4_R_5_7_3 - 7_R_9_4_8 - 9_S_6_10_7_1 - 10_R_9_11_12 - 11_R_10_8_15_17 - 14_S_15_16_13 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[6] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - 4 10 s_st_Chirality_4 - 5 10 s_st_Chirality_5 - 6 10 s_st_Chirality_6 - ::: - } m_atom[17] { # First column is atom index # i_m_mmod_type @@ -5592,51 +4435,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_st_Chirality_4 - s_st_Chirality_5 - s_st_Chirality_6 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 59 - temps.7 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 59 - 3_R_5_4_1 - 5_S_7_3_6 - 7_S_9_5_8 - 10_S_9_11_4 - 11_R_12_10_15 - 15_R_11_8_14_6 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[6] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - 4 10 s_st_Chirality_4 - 5 10 s_st_Chirality_5 - 6 10 s_st_Chirality_6 - ::: - } m_atom[15] { # First column is atom index # i_m_mmod_type @@ -5696,48 +4498,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_Chirality_3 - s_st_Chirality_4 - s_st_Chirality_5 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 60 - temps.8 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 60 - 4_S_16_5_3 - 7_R_8_10_6 - 11_R_10_12_16 - 15_R_16_14_1 - 16_R_9_11_15_4 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[5] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_Chirality_3 - 4 10 s_st_Chirality_4 - 5 10 s_st_Chirality_5 - ::: - } m_atom[16] { # First column is atom index # i_m_mmod_type @@ -5798,42 +4562,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_st_Chirality_2 - s_st_AtomNumChirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: temps.sdf - 61 - temps.9 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 61 - 4_S_5_6_3 - 8_R_5_7_9 - 5_ANR_1_4_8_11 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[3] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - 2 10 s_st_Chirality_2 - 3 10 s_st_AtomNumChirality_1 - ::: - } m_atom[11] { # First column is atom index # i_m_mmod_type @@ -5883,25 +4615,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 62 - temps2.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 62 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[20] { # First column is atom index # @@ -5972,25 +4688,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 63 - temps2.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 63 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[18] { # First column is atom index # @@ -6057,25 +4757,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-3" - 64 - temps2.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 64 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[23] { # First column is atom index # @@ -6153,25 +4837,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: 2D_paracyclophane - 65 - entry - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 65 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[16] { # First column is atom index # @@ -6233,25 +4901,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 66 - untitled.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 66 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[25] { # First column is atom index # @@ -6335,25 +4987,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 67 - untitled.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 67 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[25] { # First column is atom index # @@ -6435,25 +5071,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 68 - untitled.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 68 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[24] { # First column is atom index # @@ -6532,25 +5152,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: newTemps.sdf - 69 - newTemps.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 69 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[19] { # First column is atom index # @@ -6619,36 +5223,10 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_st_Chirality_1 - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: newTemps.sdf - 70 - newTemps.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 70 - 16_S_17_20_15 - templates->templates->templates - templates->templates1->templates11 - 0 2 - m_depend[1] { - # First column is dependency index # - i_m_depend_dependency - s_m_depend_property - ::: - 1 10 s_st_Chirality_1 - ::: - } m_atom[20] { # First column is atom index # i_m_mmod_type @@ -6716,25 +5294,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: newTemps.sdf - 71 - newTemps.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 71 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[18] { # First column is atom index # @@ -6801,25 +5363,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: newTemps.sdf - 72 - newTemps.4 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 72 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[18] { # First column is atom index # @@ -6886,25 +5432,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 73 - newTemp.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 73 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[18] { # First column is atom index # @@ -6968,25 +5498,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 74 - newTemp.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 74 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[18] { # First column is atom index # @@ -7050,25 +5564,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 75 - template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 75 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[23] { # First column is atom index # @@ -7143,25 +5641,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 76 - template.2 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 76 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[25] { # First column is atom index # @@ -7240,25 +5722,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 77 - template.3 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 77 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[27] { # First column is atom index # @@ -7341,25 +5807,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: "Untitled Document-1" - 78 - template.4 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 78 - templates->templates->templates - templates->templates1->templates11 - 0 2 m_atom[24] { # First column is atom index # @@ -7436,25 +5886,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: cubane - 79 - cubane.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 79 - templates->templates - templates->templates1 - 0 2 m_atom[8] { # First column is atom index # @@ -7501,25 +5935,9 @@ f_m_ct { f_m_ct { s_m_title - s_m_entry_id - s_m_entry_name - s_m_Source_Path - s_m_Source_File - i_m_Source_File_Index - s_m_subgroup_title - s_m_subgroupid - b_m_subgroup_collapsed i_m_ct_format ::: template - 80 - template.1 - /Users/nicola/schrodinger/coordgen_standalone - templates.mae - 80 - templates - templates - 0 2 m_atom[8] { # First column is atom index # @@ -7562,3 +5980,65 @@ f_m_ct { } } +f_m_ct { + s_m_title + i_m_ct_format + ::: + tripeptide + 2 + m_atom[15] { + # First column is atom index # + i_m_mmod_type + r_m_x_coord + r_m_y_coord + r_m_z_coord + i_m_residue_number + i_m_color + i_m_atomic_number + s_m_color_rgb + ::: + 1 1 12.295000 -0.117200 0.000000 900 2 6 A0A0A0 + 2 15 12.434600 0.870600 0.000000 900 70 8 FF2F2F + 3 2 11.385600 -0.478400 0.000000 900 2 6 A0A0A0 + 4 14 11.237600 -1.476400 0.000000 900 2 6 A0A0A0 + 5 40 10.607000 0.149000 0.000000 900 43 7 5757FF + 6 2 9.710600 -0.230200 0.000000 900 2 6 A0A0A0 + 7 15 9.605000 -1.227200 0.000000 900 70 8 FF2F2F + 8 2 8.890800 0.339000 0.000000 900 2 6 A0A0A0 + 9 14 8.974200 1.504600 0.000000 900 2 6 A0A0A0 + 10 40 7.987600 -0.221000 0.000000 900 43 7 5757FF + 11 2 7.174000 0.213200 0.000000 900 2 6 A0A0A0 + 12 15 7.220800 1.045000 0.000000 900 70 8 FF2F2F + 13 2 6.225800 -0.244400 0.000000 900 2 6 A0A0A0 + 14 14 6.121800 -1.211000 0.000000 900 2 6 A0A0A0 + 15 40 5.380600 0.316400 0.000000 900 43 7 5757FF + ::: + } + m_bond[17] { + # First column is bond index # + i_m_from + i_m_to + i_m_order + i_sd_original_parity + ::: + 1 1 2 2 <> + 2 1 3 1 <> + 3 3 4 1 1 + 4 3 5 1 <> + 5 4 3 1 1 + 6 5 6 1 <> + 7 6 7 2 <> + 8 6 8 1 <> + 9 8 9 1 3 + 10 8 10 1 <> + 11 9 8 1 3 + 12 10 11 1 <> + 13 11 12 2 <> + 14 11 13 1 <> + 15 13 14 1 1 + 16 13 15 1 <> + 17 14 13 1 1 + ::: + } +} + diff --git a/test/test_coordgen.cpp b/test/test_coordgen.cpp index 4e2af22..eaf04f6 100644 --- a/test/test_coordgen.cpp +++ b/test/test_coordgen.cpp @@ -5,6 +5,7 @@ #include #include "../sketcherMinimizer.h" +#include "../sketcherMinimizerMaths.h" #include "maeparser/MaeConstants.hpp" #include "maeparser/Reader.hpp" @@ -13,6 +14,41 @@ using namespace schrodinger; const boost::filesystem::path test_samples_path(TEST_SAMPLES_PATH); +namespace { +std::map getReportingIndices(sketcherMinimizerMolecule& mol) { + std::map fakeIndices; + int index = 0; + for (auto& atom : mol.getAtoms()) { + fakeIndices.emplace(atom, ++index); + } + return fakeIndices; +} + +bool areBondsNearIdeal(sketcherMinimizerMolecule& mol, std::map& indices) +{ + constexpr float targetBondLength = BONDLENGTH*BONDLENGTH; + constexpr float tolerance = targetBondLength * 0.1; + + bool passed = true; + for (auto& bond : mol.getBonds()) { + auto& startCoordinates = bond->getStartAtom()->getCoordinates(); + auto& endCoordinates = bond->getEndAtom()->getCoordinates(); + + const auto sq_distance = sketcherMinimizerMaths::squaredDistance(startCoordinates, endCoordinates); + const auto deviation = sq_distance - targetBondLength; + if (deviation < -tolerance || deviation > tolerance) { + std::cerr << "Bond" << indices[bond->getStartAtom()] << '-' + << indices[bond->getEndAtom()] << " has length " + << sq_distance << " (" << targetBondLength << ")\n"; + passed = false; + } + } + + return false; +} + +} + BOOST_AUTO_TEST_CASE(SampleTest) { // A small sample test showing how to import a molecule from a .mae file and @@ -40,4 +76,7 @@ BOOST_AUTO_TEST_CASE(SampleTest) // rounding issues depending on platform and environment. BOOST_CHECK(c.x() != 0 || c.y() != 0); } + + auto indices = getReportingIndices(*mol); + BOOST_CHECK(areBondsNearIdeal(*mol, indices)); }