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 <pavel_polishc...@ukr.net>
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 <pavel_polishc...@ukr.net>
> 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
> Rdkit-discuss@lists.sourceforge.net
> 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
> Rdkit-discuss@lists.sourceforge.net
> 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
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to