>> *I did manage to achieve what I want by going
through Chem.MolFragmentToSmiles and then convert the Smiles back to a Mol.
But is there a neater way?*

Oops, I wrote too soon. Actually I did not achieve what I want. The
conversion from the smiles from Chem.MolFragmentToSmiles sometimes crashes,
because of Sanitization problem.


Ling Chan <lingtrek...@gmail.com> 於 2021年4月1日週四 下午4:11寫道:

> Thank you Mark for your suggestion. It sounds good and I gave it a try.
> However, this leads to another question that may sound dumb.
>
> I have the atom indices of a fragment. For example, the fragment comes
> from atoms [3,4,5,9,10,11,14] of the original molecule. How can I extract
> this fragment from the molecule?  I tried
>
> (1) using EditableMol and deleting atoms one by one using RemoveAtom. But
> this does not work since the atom numbering changes after each deletion.
> (2) going through FragmentOnBonds. But the output of FragmentOnBonds have
> the atom indices reshuffled so I cannot directly use my index list to fish
> out my fragment.
>
> I did manage to achieve what I want by going
> through Chem.MolFragmentToSmiles and then convert the Smiles back to a Mol.
> But is there a neater way? Basically, is there a Chem.MolFragmentToMol
> function?
>
> Thank you again.
>
> Ling
>
>
> Mark Mackey <m...@cresset-group.com> 於 2021年4月1日週四 上午1:58寫道:
>
>> Hi Ling,
>>
>>
>>
>> Having done something similar (but not in RDKit), I would suggest a
>> different algorithm. I think that fragmenting the molecule first and then
>> stitching the bits together is always going to be very complicated.
>> Instead, just fragment the molecule in the ways that you want:
>>
>>
>>
>> - Find the set B of all breakable bonds according to your rules. I’m
>> assuming here that B contains only acyclic bonds.
>>
>> - To get all of the pairwise pieces, for each element b of B break all
>> bonds in B _except_ b. Keep the fragment containing b, and clean up.
>>
>> - To get all of the triplets, for each tuple (b1, b2) in B, break all
>> bonds in B except b1 and b2. Keep the fragment containing b1 only if it
>> also contains b2.
>>
>>
>>
>> Regards,
>>
>> Mark
>>
>>
>>
>> *-- *
>>
>> *Mark Mackey*
>>
>> *Chief Scientific Officer*
>>
>> *Cresset*
>>
>> New Cambridge House, Bassingbourn Road, Litlington, Cambridgeshire, SG8
>> 0SS, UK
>>
>> tel: +44 (0)1223 858890    mobile: +44 (0)7595 099165    fax: +44 (0)1223
>> 853667
>>
>> email: *m...@cresset-group.com <m...@cresset-group.com>*    web:
>> www.cresset-group.com    skype: mark_cresset
>>
>>
>>
>>
>>
>>
>>
>> *From:* Ling Chan <lingtrek...@gmail.com>
>> *Sent:* 31 March 2021 20:56
>> *To:* RDKit <rdkit-discuss@lists.sourceforge.net>
>> *Subject:* [Rdkit-discuss] rejoining pairs of fragments after
>> fragmenting a molecule
>>
>>
>>
>> Dear Colleagues,
>>
>> I am trying to do something that I think is quite simple, but I have not
>> figured out a simple way. Don't know if I am missing something. I am sure
>> that ultimately I can figure it out, but I wonder if there is a good way.
>>
>> I fragmented a molecule with some rules, using FragmentOnBonds. I did get
>> a list of primary fragments.
>>
>> I wish to recombine pairs (and triplets, but no bigger) of these primary
>> fragments, but only if the resulting fragment is part of the original
>> molecule. I.e. I want to undo some of the cuttings. (FragmentOnSomeBonds
>> does not help, since you cannot ensure that the resulting fragments consist
>> only of pairs of primary fragments.)
>>
>> What is the best way to do this? The following is what I am trying.
>>
>> I see that you can mark the original cut points using the dummyLabels
>> argument in FragmentOnBonds. So I converted the primary fragments to
>> smiles. I looked for the two sides of the original cut point and
>> substituted the two dummyLables to [2H] and [3H]. I then tried to rejoin
>> the fragments using a reaction string "[*:1][2H].[*:2][3H]>>[*:1][*:2]".
>> Unfortunately the ReactionFromSmarts function does not accept this string.
>> So I'll have to use Smarts search to look for [2H] and [3H], then create an
>> editable molecule from the two primary fragments, look for neighbours of
>> [2H] and [3H], add a bond, then delete the atoms [2H] and [3H], then
>> sanitize.
>>
>> Thank you for your ideas.
>>
>> Ling
>>
>> This email has been sent from Cresset BioMolecular Discovery Limited,
>> registered in England and Wales, Company Number: 04151475. The information
>> in this email and any attachments are confidential and may be privileged.
>> It is intended solely for the addressee and access to this email by anyone
>> else is unauthorised. If an addressing or transmission error has
>> misdirected this email, please notify the author by replying to this email.
>> If you are not the intended recipient you must not use, disclose,
>> distribute, store or copy the information in any medium. Although this
>> e-mail and any attachments are believed to be free from any virus or other
>> defect which might affect any system into which they are opened or
>> received, it is the responsibility of the recipient to check that they are
>> virus-free and that they will in no way affect systems and data. No
>> responsibility is accepted by Cresset BioMolecular Discovery Limited for
>> any loss or damage arising in any way from their receipt, opening or use. 
>> Privacy
>> notice <https://www.cresset-group.com/privacy/>
>>
>
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to