Hi Noel, Thank you for your response. I can see that Python makes it possible to match the SMARTS rule with the desired element in the molecule. I am currently using Openbabel in Visual Studio C++. And I want to use a separate file that contains all of my SMARTS rules for functional groups along with a name for each SMARTS such as: [#6]!@[$(C=!@O)]!@[#6] ketone [#6]!@[$([O;H1])] hydroxyl [#6]-!@[#6] singlebond-alkyl
And say I initially consider two input molecules in SMILES format for simplicity sake, 1) 2-methyl 2-butanol : CCC(C)(C)O 2) Diethyl ketone : CCC(=O)CC Now the desired output for the above molecules is: (The molecules are separated by a period which denotes the separation between each functional group where the bonds are cleaved) 1) 2-methyl 2-butanol : C.C.C.(C).(C).O 2) Diethyl ketone : C.CC(=O).C.C The total number of functional groups that need to be identified as starters by the SMARTS rules for the input target molecules are: CHn (Alkyl) - 8 // Suffix `n` stands for 0, or 1, or 2, or 3 Hydrogen atoms OH (Hydroxyl) – 1 CHnCO (Ketone) – 1. When this has been done, now comes the crucial yet the most significant of tasks that I need to design. I wish to break down the identified functional groups into sub-categories based on UNIFAC model. This involves the identification of Alkyl groups that are mainly classified into four types: CHn - Plain Alkyl CHn - Alkyl in alcohols CHn - Alkyl in hydrophobic tails of Alcohols CHn – Alkyl with OH group So for the given input molecules the Alkyl groups need to be classified as follows://Please <http://forums.openbabel.org/file/n4658536/openbabel.png> see the images that I have attached 1. 2-methyl 2-butanol i. CHn (Alkyl with OH group) – 1 ii. CHn (Alkyl in alcohols) – 2 // the two branching alkyl groups connected to the alkyl with OH group without any tails iii. CHn (Alkyl in hydrophobic tails of Alcohols) – 2 // the two alkyl groups connected to the alkyl with OH group with a tail 2. Diethyl ether i. CHn (Plain Alkyl) – 3 // without OH groups Can you tell me if it is possible to use Openbabel API for accomplishing this task and if you think using Python would be better than C++? I would be very grateful if you can share any ideas that you might have with me. Any advice on the functionalities available in OpenBabel that can help me design the algorithm to identify the alkyl groups in the input molecules will be appreciated. -- View this message in context: http://forums.openbabel.org/Identifying-functional-groups-in-a-molecule-using-OpenBabel-tp4658507p4658536.html Sent from the General discussion mailing list archive at Nabble.com. ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss