Skip to content

Instantly share code, notes, and snippets.

@ptosco
Last active June 9, 2022 06:40
Show Gist options
  • Save ptosco/26af473fc1f3129878ca86cb070afe3a to your computer and use it in GitHub Desktop.
Save ptosco/26af473fc1f3129878ca86cb070afe3a to your computer and use it in GitHub Desktop.
SubstructMatch_nonring
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from rdkit import Chem\n",
"from rdkit.Chem.Draw import IPythonConsole"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def hasSubstructMatchAccountForRings(mol, q):\n",
" matches = mol.GetSubstructMatches(q)\n",
" hasMatch = False\n",
" for match in matches:\n",
" hasMatch = True\n",
" for i, j in enumerate(match):\n",
" if (q.GetAtomWithIdx(i).IsInRing() ^ mol.GetAtomWithIdx(j).IsInRing()):\n",
" hasMatch = False\n",
" break\n",
" if (hasMatch):\n",
" break\n",
" return hasMatch"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"mol = Chem.MolFromSmiles(\"C12CCCCC1CCCC2\")\n",
"q = Chem.MolFromSmiles(\"C1CCCCC1\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f9322718f30>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mol"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x7f9322718ec0>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"q"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hasSubstructMatchAccountForRings(mol, q)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"mol = Chem.MolFromSmiles(\"CCCCCC\")\n",
"q = Chem.MolFromSmiles(\"CCC\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hasSubstructMatchAccountForRings(mol, q)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"mol = Chem.MolFromSmiles(\"C1CCCCC1\")\n",
"q = Chem.MolFromSmiles(\"CCC\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hasSubstructMatchAccountForRings(mol, q)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.5"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
@apahl
Copy link

apahl commented Jun 29, 2018

Hi, Paolo, thanks a lot for this.
Is it guaranteed, that the query atom with index i is the one that mol atom j matches to?
(TIL that ^ is Python's XOR operator. Thanks!)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment