Re: [Rdkit-discuss] Check If Atom Is in Two Small Rings

2017-04-11 Thread Jonathan Saboury
Awesome! Thank you all so much!!! Here is my implementation of the function for reference: def passed_NA2SR(mol): #no atom shared by two small rings rings = mol.GetRingInfo().AtomRings() small_rings = [] for ring in rings: if len(ring) < 5: small_rings.append(ring)

Re: [Rdkit-discuss] Check If Atom Is in Two Small Rings

2017-04-11 Thread Brian Kelley
Peter, quite correct. To do that, you'll need to do operations on the rings themselves: >>> m = Chem.MolFromSmiles("C1CC12CCC2") >>> list(m.GetRingInfo().AtomRings()) [(0, 1, 2), (3, 4, 5, 2)] And set operations are probably your friend >>> m = Chem.MolFromSmiles("C1CCC12CCC2") >>> list(m.Ge

Re: [Rdkit-discuss] Check If Atom Is in Two Small Rings

2017-04-11 Thread Peter S. Shenkin
But Brian's solution won't help Jonathan find atoms that are in two three-membered or two four-membered rings, which I thought Jonathan also wanted, based on the wording of the original query. -P. On Tue, Apr 11, 2017 at 4:12 PM, Curt Fischer wrote: > Brian's solution is obviously better (short

Re: [Rdkit-discuss] Check If Atom Is in Two Small Rings

2017-04-11 Thread Curt Fischer
Brian's solution is obviously better (shorter, uses less functions) than mine. (Although mine assumes that you want atoms that are part of _exactly_ two rings, not atoms that are part of _at least_ two rings as Brian's does. Probably Brian's solution is what you want but worth noting.) CF On Tu

Re: [Rdkit-discuss] Check If Atom Is in Two Small Rings

2017-04-11 Thread Brian Kelley
You are so close! >>> from rdkit import Chem >>> m = Chem.MolFromSmiles("C1CC12CCC2") >>> for atom in m.GetAtoms(): ... if atom.IsInRingSize(3) and atom.IsInRingSize(4): print atom.GetIdx() ... 2 >>> Cheers, Brian On Tue, Apr 11, 2017 at 1:38 PM, Jonathan Saboury wrote: > Hello All, >

[Rdkit-discuss] Check If Atom Is in Two Small Rings

2017-04-11 Thread Jonathan Saboury
Hello All, I'm trying to make a function to check if a mol has an atom that is part of two small rings (3 or 4 atoms). Using GetRingInfo()/NumAtomRings() I can find out how many ring systems each atom is in, but not the details of the rings. atom.IsInRingSize(size) returns a bool so I couldn't use

[Rdkit-discuss] official Tripos MOL2 file format PDF document

2017-04-11 Thread Francois BERENGER
Hello, Not directly related to rdkit, but if someone that have the original PDF of this file format could place it online permanently, that would be wonderful. The official URL at tripos.com is dead since quite some time apparently. And that's bad because it's a quite popular file format and its

Re: [Rdkit-discuss] tautomers in rdkit

2017-04-11 Thread Peter S. Shenkin
Just from the slides, it's not clear that Roger had a solution; the slides seem to just suggest an approach. Am I missing something here? That is, he defined the invariants that all tautomers of a compound have to share and expressed it as a SMARTS + constraints; but I didn't see that he provided