Thanks!

I ended up doing this:

1) convert Rosetta restypes to RDKit ROMols
2) use combineMols(), to get a merged ROMol
3) static cast to RWMol and add bond between connecting atoms
4) Convert back to Rosetta
5) Use Rosetta transformations on the atoms that needed to be moved (I
didnt find the Transform methods in RDKit in time!)

Steven Combs


On Thu, Mar 10, 2016 at 12:23 AM, Greg Landrum <greg.land...@gmail.com>
wrote:

> Hi Steven,
>
> On Mon, Mar 7, 2016 at 5:03 PM, Steven Combs <steven.com...@gmail.com>
> wrote:
>
>>
>> I am developer for Rosetta <https://www.rosettacommons.org/>. Recently
>> we have incorporated RDKit into our software suite for testing. In
>> particular, my project is to include drug design elements into the game
>> Foldit <http://fold.it/portal/>. I have been using a separate
>> chemioinformatics tool for this process, but recently have decided to
>> switch to RDKit because it is so much easier to cross-compile the library
>> than the other chemioinformatics suite.
>>
>
> Welcome to the community, and thanks for letting us know what you're doing
> with the RDKit! It's great to hear that the toolkit is starting to be used
> within Rosetta.
>
>
>> I am using the C++ api for RDKit.
>>
>> My question is pretty simple. If I have two 3D fragments and want to
>> connect them at a specific atom, how would I go about doing this? I know
>> there are two functions that I can use in ChemTransforms.h,
>> replaceSubstructs and combineMols. I want to keep the 3D conformation of
>> mol1, but transform and combine mol2 to mol1 at a specific atom (ie replace
>> a hydrogen on the atom in mol1 and create a bond between the parent atom's
>> hydrogen to a specific atom on mol2).
>>
>> Is replaceSubstructs the way to go? I am not exactly sure how to set up
>> the query for this.
>>
>
> I feel like this question has come up before but I cannot, for the life of
> me, find the thread to point you to.
>
> I would start by transforming mol2 so that its atoms are in the positions
> you want them in when the molecules are combined. The convenient way to do
> this is with MolTransforms::transformMolsAtoms() and the approproriate
> RDGeom::Transform3D (
> http://rdkit.org/docs/cppapi/classRDGeom_1_1Transform3D.html#a5715778fa5c085ed42f47acd2649721c
> )
>
> Once mol2 is appropriately oriented, I'd convert it to an RWMol (if it's
> not one already) and remove the H on the atom that's going to bond to mol1.
> I'd convert mol1 into an RWMol (if it's not one already) and remove the H
> on the atom where I want to attach mol2.
> You can then call newMol = combineMols(mol1,mol2); and you've got a single
> molecule that has all atoms in it.
> The last step is to cast the result of combineMols() to an RWMol and add
> the bond between the molecules.
>
> I hope this helps, but please let me know if you need more details,
>
> -greg
>
>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to