Thank you! That was a bug in my expectations. :)BTW, as I see from test examples for the 0 atom in CC1CC1 an environment with radius 3 exists. Thus, radius should be interpreted as a number of bonds from the rooted atom, not a number of atoms. I did not expect this as well.
Pavel. On 03/27/2017 04:22 PM, Peter Gedeck wrote:
I checked the unit tests for this function and this is expected behaviour.Best Peter void test2() { std::cout << "-----------------------\n Test2: Atom Environments" << std::endl; { std::string smiles = "CC1CC1"; RWMol *mol = SmilesToMol(smiles); TEST_ASSERT(mol); PATH_TYPE pth = findAtomEnvironmentOfRadiusN(*mol, 1, 0); TEST_ASSERT(pth.size() == 1); TEST_ASSERT(pth[0] == 0); pth = findAtomEnvironmentOfRadiusN(*mol, 2, 0); TEST_ASSERT(pth.size() == 3); TEST_ASSERT(pth[0] == 0); pth = findAtomEnvironmentOfRadiusN(*mol, 3, 0); TEST_ASSERT(pth.size() == 4); TEST_ASSERT(pth[0] == 0); pth = findAtomEnvironmentOfRadiusN(*mol, 4, 0); *TEST_ASSERT(pth.size() == 0);* pth = findAtomEnvironmentOfRadiusN(*mol, 1, 1); TEST_ASSERT(pth.size() == 3); pth = findAtomEnvironmentOfRadiusN(*mol, 2, 1); TEST_ASSERT(pth.size() == 4); pth = findAtomEnvironmentOfRadiusN(*mol, 3, 1); *TEST_ASSERT(pth.size() == 0);* delete mol; }On Mon, Mar 27, 2017 at 10:00 AM Pavel Polishchuk <[email protected] <mailto:[email protected]>> wrote:I guessed why it occurred. I'm interested is it expected behavior? So, if a radius is greater than the number of available bonds in all directions from the rooted atom the function will return empty list as it considers that such environment does not exist. Is this a correct expectation? Pavel. On 03/27/2017 03:53 PM, Peter Gedeck wrote:Hello, The atom numbers start with 0. From the middle atom, there are no environments with radius 2. You will get a result if you use the first (=0) or the last (=2) atom. Try this: m = Chem.MolFromSmiles("NCO") i = Chem.FindAtomEnvironmentOfRadiusN(m, 1, 0) Chem.MolToSmiles(Chem.PathToSubmol(m, i)) i = Chem.FindAtomEnvironmentOfRadiusN(m, 2, 0) Chem.MolToSmiles(Chem.PathToSubmol(m, i)) i = Chem.FindAtomEnvironmentOfRadiusN(m, 3, 0) Chem.MolToSmiles(Chem.PathToSubmol(m, i)) and you will get: 'CN' 'NCO' '' Is this more intuitive to you? Best, Peter On Mon, Mar 27, 2017 at 9:35 AM Pavel Polishchuk <[email protected] <mailto:[email protected]>> wrote: Dear RDKitters, I found the issue with FindAtomEnvironmentOfRadiusN but this can be a feature. However, I did not findthis information in help and did not expect such behavior. If I apply FindAtomEnvironmentOfRadiusN function to a small molecule and specify the radius greater than the size of the molecule the function returns empty list of bond indices (and empty mol). m = Chem.MolFromSmiles("NCO") i = Chem.FindAtomEnvironmentOfRadiusN(m, 1, 1) Chem.MolToSmiles(Chem.PathToSubmol(m, i)) returns "NCO" i = Chem.FindAtomEnvironmentOfRadiusN(m, 2, 1) Chem.MolToSmiles(Chem.PathToSubmol(m, i)) returns "" In the latter case I expected the same output "NCO". Were my expectations mistaken? Kind regards, Pavel. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Rdkit-discuss mailing list [email protected] <mailto:[email protected]> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________ Rdkit-discuss mailing list [email protected] <mailto:[email protected]> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Rdkit-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

