switch to range-based for loops (#7278)

* switch to range-based for loops

* Update Code/GraphMol/testChirality.cpp

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>

* fix a leak in the new DCLV code (#7279)

* fixes #7295 (#7303)

* tag 2024.03 release (#7308)

* tag release

* attempt to solve constant MD5 problems

* switch to getting the ComicNeue font from github instead of as a zip

* open new release cycle (#7314)

* restrict the application of 1,3- 1,5- conjugated cation normalization (#7287)

* propagate yaehmop build status (#7316)

* Fixes #7299 (#7304)

* clean up of python and c++ for-loops

* clang formatted testChirality

* fix test file

---------

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
Co-authored-by: Riccardo Vianello <riccardo.vianello@gmail.com>
This commit is contained in:
Anna Brünisholz
2024-04-08 14:16:27 +02:00
committed by GitHub
parent f99155c325
commit 82dbf4c66b
3 changed files with 46 additions and 45 deletions

View File

@@ -32,7 +32,7 @@ class TestCase(unittest.TestCase):
self.assertRaises(ValueError, lambda: v1.__setitem__(5, 2))
v1 = ds.DiscreteValueVect(ds.DiscreteValueType.TWOBITVALUE, 30)
for i in range(len(v1)):
for i, _ in enumerate(v1):
v1[i] = i % 4
self.assertTrue(len(v1) == 30)
@@ -42,7 +42,7 @@ class TestCase(unittest.TestCase):
self.assertRaises(ValueError, lambda: v1.__setitem__(10, 6))
v1 = ds.DiscreteValueVect(ds.DiscreteValueType.FOURBITVALUE, 30)
for i in range(len(v1)):
for i, _ in enumerate(v1):
v1[i] = i % 16
self.assertTrue(len(v1) == 30)
@@ -53,7 +53,7 @@ class TestCase(unittest.TestCase):
self.assertRaises(ValueError, lambda: v1.__setitem__(10, 16))
v1 = ds.DiscreteValueVect(ds.DiscreteValueType.EIGHTBITVALUE, 32)
for i in range(len(v1)):
for i, _ in enumerate(v1):
v1[i] = i % 256
self.assertTrue(len(v1) == 32)
@@ -64,7 +64,7 @@ class TestCase(unittest.TestCase):
self.assertRaises(ValueError, lambda: v1.__setitem__(10, 256))
v1 = ds.DiscreteValueVect(ds.DiscreteValueType.SIXTEENBITVALUE, 300)
for i in range(len(v1)):
for i, _ in enumerate(v1):
v1[i] = i % 300
self.assertTrue(len(v1) == 300)

View File

@@ -2651,8 +2651,8 @@ void stereochemTester(RWMol *m, std::string expectedCIP,
TEST_ASSERT(!m->getAtomWithIdx(1)->hasProp(common_properties::_CIPCode));
TEST_ASSERT(m->getBondWithIdx(3)->getStereo() == Bond::STEREONONE);
// the mol file parser assigned bond dirs, get rid of them
for (ROMol::BondIterator bIt = m->beginBonds(); bIt != m->endBonds(); ++bIt) {
(*bIt)->setBondDir(Bond::NONE);
for (const auto bond : m->bonds()) {
bond->setBondDir(Bond::NONE);
}
MolOps::assignStereochemistryFrom3D(*m);
TEST_ASSERT(m->getAtomWithIdx(1)->hasProp(common_properties::_CIPCode));
@@ -2818,17 +2818,17 @@ class TestAssignChiralTypesFromMolParity {
{Atom::CHI_UNSPECIFIED, 0},
{Atom::CHI_OTHER, 0}};
MolOps::assignChiralTypesFrom3D(*d_rwMol);
for (auto ai = d_rwMol->beginAtoms(); ai != d_rwMol->endAtoms(); ++ai) {
int parity = parityMap.at((*ai)->getChiralTag());
(*ai)->setProp(common_properties::molParity, parity);
(*ai)->setChiralTag(Atom::CHI_UNSPECIFIED);
for (const auto atom : d_rwMol->atoms()) {
int parity = parityMap.at(atom->getChiralTag());
(atom)->setProp(common_properties::molParity, parity);
(atom)->setChiralTag(Atom::CHI_UNSPECIFIED);
}
}
void fillBondDefVect() {
for (auto bi = d_rwMol->beginBonds(); bi != d_rwMol->endBonds(); ++bi) {
d_bondDefVect.emplace_back(BondDef((*bi)->getBeginAtomIdx(),
(*bi)->getEndAtomIdx(),
(*bi)->getBondType()));
for (const auto bond : d_rwMol->bonds()) {
d_bondDefVect.emplace_back(BondDef((bond)->getBeginAtomIdx(),
(bond)->getEndAtomIdx(),
(bond)->getBondType()));
}
}
void stripBonds() {
@@ -3069,8 +3069,8 @@ void testGithub3314() {
{ // this one was working
auto m = R"CTAB(
Mrv2014 07312010092D
Mrv2014 07312010092D
0 0 0 0 0 999 V3000
M V30 BEGIN CTAB
M V30 COUNTS 7 6 0 0 1
@@ -3100,8 +3100,8 @@ M END)CTAB"_ctab;
std::cerr << "--------------------------------------------------"
<< std::endl;
auto m = R"CTAB(
Mrv2014 07312010092D
Mrv2014 07312010092D
0 0 0 0 0 999 V3000
M V30 BEGIN CTAB
M V30 COUNTS 7 6 0 0 1
@@ -3137,7 +3137,7 @@ void testGithub4494() {
<< std::endl;
auto molblock = R"CTAB(
MJ201500
MJ201500
9 9 0 0 0 0 0 0 0 0999 V2000
-5.9375 1.9076 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
@@ -3204,32 +3204,32 @@ M END)CTAB";
}
void testGithub7115() {
BOOST_LOG(rdInfoLog) << "-------------------------------------" << std::endl;
BOOST_LOG(rdInfoLog)
<< "GitHub #7115: Quaternary nitrogens with hydrogens are not a candidate for stereo."
<< std::endl;
{
auto s = "C[C@]1(F)C[N@H+](O)C1"_smiles;
auto smi = MolToSmiles(*s);
TEST_ASSERT(smi == "C[C@]1(F)C[N@H+](O)C1");
}
{
auto s = "C[C@]1(F)C[N@+]([H])(O)C1"_smiles;
auto smi = MolToSmiles(*s);
TEST_ASSERT(smi == "C[C@]1(F)C[N@H+](O)C1");
}
{
auto insmi = "C[C@]1(F)C[N@+]([H])(O)C1";
SmilesParserParams params;
params.removeHs = false;
std::unique_ptr<RWMol> s(SmilesToMol(insmi, params));
auto smi = MolToSmiles(*s);
TEST_ASSERT(smi == "[H][N@+]1(O)C[C@](C)(F)C1");
// round trip
std::unique_ptr<RWMol> s2(SmilesToMol(smi));
TEST_ASSERT(MolToSmiles(*s2) == "C[C@]1(F)C[N@H+](O)C1");
}
BOOST_LOG(rdInfoLog) << "-------------------------------------" << std::endl;
BOOST_LOG(rdInfoLog)
<< "GitHub #7115: Quaternary nitrogens with hydrogens are not a candidate for stereo."
<< std::endl;
{
auto s = "C[C@]1(F)C[N@H+](O)C1"_smiles;
auto smi = MolToSmiles(*s);
TEST_ASSERT(smi == "C[C@]1(F)C[N@H+](O)C1");
}
{
auto s = "C[C@]1(F)C[N@+]([H])(O)C1"_smiles;
auto smi = MolToSmiles(*s);
TEST_ASSERT(smi == "C[C@]1(F)C[N@H+](O)C1");
}
{
auto insmi = "C[C@]1(F)C[N@+]([H])(O)C1";
SmilesParserParams params;
params.removeHs = false;
std::unique_ptr<RWMol> s(SmilesToMol(insmi, params));
auto smi = MolToSmiles(*s);
TEST_ASSERT(smi == "[H][N@+]1(O)C[C@](C)(F)C1");
// round trip
std::unique_ptr<RWMol> s2(SmilesToMol(smi));
TEST_ASSERT(MolToSmiles(*s2) == "C[C@]1(F)C[N@H+](O)C1");
}
}
int main() {

View File

@@ -20,6 +20,7 @@ GitHub)
## Code removed in this release:
## Deprecated code (to be removed in a future release):
- AtomPairs.Utils.NumPiElectrons is deprecated in favor of Chem.GetNumPiElectrons.
AtomPairs.Utils.NumPiElectrons failed if the atom had outgoing dative bonds (see Issue #7318).