Skip to content

Instantly share code, notes, and snippets.

@adelenelai
Created December 29, 2020 21:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adelenelai/0e2c4c90f33bac9197d7a11495b4f164 to your computer and use it in GitHub Desktop.
Save adelenelai/0e2c4c90f33bac9197d7a11495b4f164 to your computer and use it in GitHub Desktop.
DoubleBondStereo_MolBlockOutput
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'2020.03.1'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import rdkit\n",
"rdkit.__version__"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import rdkit.Chem as Chem\n",
"from rdkit.Chem import AllChem, Draw"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## First, let's inspect basic 'behaviour' of the Bond Block using simple 1,2-difluoroethene"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x11935d670>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#cis\n",
"a1 = Chem.MolFromSmiles('F\\C=C/F')\n",
"a1"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 4 3 0 0 0 0 0 0 0 0999 V2000\n",
" -0.7500 -1.2990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.2500 -1.2990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 2 0\n",
" 3 4 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"a1_block = Chem.MolToMolBlock(a1)\n",
"print(a1_block)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x11935c030>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#trans\n",
"a2 = Chem.MolFromSmiles('F/C=C/F')\n",
"a2"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 4 3 0 0 0 0 0 0 0 0999 V2000\n",
" -0.7500 -1.2990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.2500 1.2990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 2 0\n",
" 3 4 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"a2_block = Chem.MolToMolBlock(a2)\n",
"print(a2_block)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"#undefined\n",
"a3 = Chem.MolFromSmiles('FC=CF') "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 4 3 0 0 0 0 0 0 0 0999 V2000\n",
" -1.2990 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.5981 -0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 2 3\n",
" 3 4 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"a3_block = Chem.MolToMolBlock(a3)\n",
"print(a3_block)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When stereochemistry is explicitly defined (cis/trans), the double bond stereo has value 0 (`Use x-, y-, z-coords from atom block to determine cis or trans`).\n",
"\n",
"When stereochemistry is undefined, the double bond stereo has value 3 (`Cis or trans (either) double bond`).\n",
"\n",
"### What about 1,1-difluoroethene (symmetrical)?"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x1195108f0>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b = Chem.MolFromSmiles('FC(F)=C')\n",
"b"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 4 3 0 0 0 0 0 0 0 0999 V2000\n",
" 2.5981 -0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"b_block = Chem.MolToMolBlock(b)\n",
"print(b_block)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Again, double bond stereo = 0.\n",
"\n",
"### 1,1-Difluoropropene"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x119512350>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c = Chem.MolFromSmiles('CC=C(F)F')\n",
"c"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 5 4 0 0 0 0 0 0 0 0999 V2000\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.5981 -0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 3.8971 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.5981 -1.5000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 2 3\n",
" 3 4 1 0\n",
" 3 5 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"c_block = Chem.MolToMolBlock(c)\n",
"print(c_block)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Observation: When there is a non-H group, it triggers the double bond stereo = 3. (Not sure if this is a 'rule' though.)\n",
"\n",
"## Now, try the example from J. Davidson"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x119518670>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m = Chem.MolFromSmiles('FC(F)=CC1=CC=CC=C1')\n",
"m"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 10 10 0 0 0 0 0 0 0 0999 V2000\n",
" 5.2500 -1.2990 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 3.7500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 3.0000 -2.5981 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 3.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.7500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.7500 -1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -1.5000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.7500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.7500 1.2990 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 3\n",
" 4 5 1 0\n",
" 5 6 2 0\n",
" 6 7 1 0\n",
" 7 8 2 0\n",
" 8 9 1 0\n",
" 9 10 2 0\n",
" 10 5 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"m_block = Chem.MolToMolBlock(m)\n",
"print(m_block)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> This behaviour is maybe what I would expect if the bond was explicitly set using bond.SetStereo(Chem.BondStereo.STEREOANY), but in the absence of this I would expect the bond to default to STEREONONE, and I guess I would expect this to be bond stereo “0” in the output molblock.\n",
"\n",
"Let's check the bond stereo."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"q = Chem.MolFromSmarts(\"C=CF\")\n",
"bo = m.GetBondBetweenAtoms(*m.GetSubstructMatch(q)[:2])"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"rdkit.Chem.rdchem.BondType.DOUBLE"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bo.GetBondType()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"rdkit.Chem.rdchem.BondStereo.STEREONONE"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bo.GetStereo()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Indeed there is no stereo assigned. \n",
"\n",
"### But does STEREONONE necessarily translate to bond stereo value = 0 in the Bond Block?\n",
"\n",
"I suspect that this assumption is not valid. Having bond stereo value = 0 simply means `Use x-, y-, z-coords from atom block to determine cis or trans` according to the CTAB documentation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### About coordinates determining cis or trans:\n",
"\n",
"I was curious and did some further reading.\n",
"\n",
"\n",
"From RDKit documentation https://www.rdkit.org/docs/GettingStartedInPython.html:\n",
"\n",
"> *In order for atom or bond stereochemistry to be recognised correctly by most software, it’s essential that the mol block have atomic coordinates*...Generating a mol block for a molecule that does not have coordinates will, by default, automatically cause coordinates to be generated. These are not, however, stored with the molecule.\n",
"\n",
"\n",
"From an old thread \n",
"https://rdkit-discuss.narkive.com/Hx3T9NGY/quick-one-stereochemistry-info-when-reading-mol-or-sdf-files:\n",
"\n",
"> The atomic flags are parsed out, but nothing is done with them. This is consistent with the CTAB documentation: atom parity flags are ignored when molecules are read.\n",
"\n",
"### What happens if we generate coordinates before generating the MolBlock? Would it change the double bond stereo value?"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#2D\n",
"AllChem.Compute2DCoords(m) "
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 10 10 0 0 0 0 0 0 0 0999 V2000\n",
" -3.7985 -0.4910 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.3812 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.0977 1.4730 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -1.2473 -0.9820 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.1701 -0.4910 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.4536 0.9820 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.8709 1.4730 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 3.0048 0.4910 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.7213 -0.9820 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.3040 -1.4730 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 3\n",
" 4 5 1 0\n",
" 5 6 2 0\n",
" 6 7 1 0\n",
" 7 8 2 0\n",
" 8 9 1 0\n",
" 9 10 2 0\n",
" 10 5 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"print(Chem.MolToMolBlock(m))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#3D\n",
"m1 = Chem.AddHs(m) #to ensure good 3D conformations\n",
"AllChem.EmbedMolecule(m1,randomSeed=0xf00d)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 3D\n",
"\n",
" 16 16 0 0 0 0 0 0 0 0999 V2000\n",
" 4.0266 0.4598 0.2795 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.7128 0.6579 0.0997 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.2660 1.8630 -0.3172 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.8619 -0.3152 0.3130 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.4083 -0.2120 0.1399 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.3450 0.8440 0.6754 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -1.7047 0.9202 0.4764 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.3338 -0.0685 -0.2675 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -1.6180 -1.1408 -0.8196 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.2531 -1.1747 -0.5930 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.2626 -1.2936 0.6451 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.1865 1.5933 1.2586 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.2592 1.7298 0.9029 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -3.4100 0.0138 -0.4013 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.1358 -1.8958 -1.3934 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.3348 -1.9812 -0.9986 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 3\n",
" 4 5 1 0\n",
" 5 6 2 0\n",
" 6 7 1 0\n",
" 7 8 2 0\n",
" 8 9 1 0\n",
" 9 10 2 0\n",
" 10 5 1 0\n",
" 4 11 1 0\n",
" 6 12 1 0\n",
" 7 13 1 0\n",
" 8 14 1 0\n",
" 9 15 1 0\n",
" 10 16 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"print(Chem.MolToMolBlock(m1)) "
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 3D\n",
"\n",
" 16 16 0 0 0 0 0 0 0 0999 V2000\n",
" 4.0266 0.4598 0.2795 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.7128 0.6579 0.0997 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.2660 1.8630 -0.3172 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.8619 -0.3152 0.3130 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.4083 -0.2120 0.1399 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.3450 0.8440 0.6754 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -1.7047 0.9202 0.4764 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.3338 -0.0685 -0.2675 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -1.6180 -1.1408 -0.8196 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.2531 -1.1747 -0.5930 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.2626 -1.2936 0.6451 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.1865 1.5933 1.2586 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.2592 1.7298 0.9029 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -3.4100 0.0138 -0.4013 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -2.1358 -1.8958 -1.3934 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.3348 -1.9812 -0.9986 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 3\n",
" 4 5 1 0\n",
" 5 6 2 0\n",
" 6 7 1 0\n",
" 7 8 2 0\n",
" 8 9 1 0\n",
" 9 10 2 0\n",
" 10 5 1 0\n",
" 4 11 1 0\n",
" 6 12 1 0\n",
" 7 13 1 0\n",
" 8 14 1 0\n",
" 9 15 1 0\n",
" 10 16 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"#alternative 3D - supposedly cleans up invalid stereochem \n",
"#https://github.com/rdkit/rdkit/issues/2540#issuecomment-510392691\n",
"Chem.AssignStereochemistryFrom3D(m1)\n",
"print(Chem.MolToMolBlock(m1)) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Even after generating 2D and 3D coordinates, still getting bond stereo value = 3 for the double bond.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bonus"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAARf0lEQVR4nO3da1BT574G8DcQIFzkElEQAqJiBGNFD0odzXAq3ShlO7VqrTdsdSq21FruoigIlnpFoM7B7bHabWut1lat7nF321Y4OuJtqkgVAog4EihGEAIiBEiyzgd6lWsMyZus9fw+rgkzz5BZT/4r78q7eAzDEAAAeF4WtAMAAJg31CgAgF5QowAAekGNAgDoBTUKAKAX1CgAgF5QowAAekGNAgDohU87AAyCRrU6r7Gx79cEOzsPs7IyTh64e/fu+fPnCSHLly+3t7fv/oLTp0/X1taKxeKQkBCjp4NBhhplg9qOjm1VVX2/ZqRAgBo1mmvXrkVFRRFC5syZ02ONZmdnX7hwISwsDDXKAqhRVvGwsRFY9PxFjW0vxwFAT6hRVkn38Zns4EA7BQC3YEIBANALahQAQC+oUQAAveC7UVY5qlAUNDV1P77UzU3Ix3tNweLFiwUCQffjRUVFxg8DBoJTi1XylMoej4cLhahRKgoKCmhHAIPDqcUqU4cMcelelzyeEHeMUpKSkuLs7Nz9eG5ubmVlpfHzgCGgRllltYcHbngyKatXrxaJRN2PnzlzBjXKGlhiAgDQC2oUAEAvqFEAAL2gRgEA9IIaBQDQC2qUDfp9FzUM09DZaYwoQAghpOm3H0FY4VYzDuAxDEM7AxhWpUq1vrLS2dJy/7hxtLNwQn19vVgsnjFjxldffWVnZ0c7DhgcplH2c7OyalKrb7a0/NDfDvkwKFJSUhobG1UqFTqUIzCNcsLJ+vqtDx64WVufkEh629cZBkVxcfGkSZMIIYWFhRMmTKAdB4wBZxQnvObq6m9np+jo+EKhoJ2F5WJjY9Vq9Zo1a9Ch3IFplCuKWlpWlZVZW1ickEjcra1px2GnEydOvP7660KhsLy8fOjQobTjgJFgGuWKAAeHl11c2rXa3Joa2lnYqb29ff369YSQjIwMdCinoEY5JFYkElhY/KehobClhXYWFsrMzKyoqJBIJJGRkbSzgFGhRjnEzdo6ws2NIWS3XK6lHYZlFArFzp07CSHZ2dl8bO3KMahRblnp7u5ubV3a2nr28WPaWVhl3bp1zc3N8+fPDw0NpZ0FjA1LTJzzXUNDyv37QiurUxKJvaUl7ThscOPGjaCgID6ff+fOnbFjx9KOA8aGaZRzwoTCSQ4ODZ2d/3z4kHYWNmAYJjo6WqvVJiQkoEO5CTXKOTxCEry8LAg5olBUtbfTjmP2Dh8+XFBQ4ObmlpSURDsL0IEa5SI/O7u/Dx3ayTB7qqtpZzFvra2tmzZtIoTs3LnT0dGRdhygAzXKUWs9Pe0tLf9Pqbza3Ew7ixnbunWrXC4PDAyMiIignQWoQY1ylNDKaqW7OyEkSy7XYJnxuVRVVWVnZ/N4vJycHAvsVMBheO+5a5mbm7eNTaVKdaK+nnYWsxQXF9fa2hoRESGVSmlnAZpwwxOn5SuViffuOVpanpowwQk3jesiPz8/JCTEzs5OJpN5e3vTjgM0YRrltJnOztMcHZs1mv21tbSzmBONRhMbG0sISU5ORocCapTr4ry8LHm8r+vqKtraaGcxG5988klRUZGXl1dXmQLHoUa5brRAMN/VVcswWXI57SzmQalUpqamEkKysrKwvz0Q1CgQQqI8PJz4/OtPnlxUKmlnMQPp6el1dXVSqXTBggW0s4BJwBITEELIsUePMuVykY3NcYnEmsejHcd0lZaWTpw4UaPRXL9+PTAwkHYcMAmYRoEQQhYOG+Zra1vd3n4MTxnpU1xcXGdnZ2RkJDoUfodpFH51/cmT98rL7SwtT0okrni6ek/Onj07Z84cR0fHsrIyd3d32nHAVGAahV8FDRny346OQ8+dy0hOpp3FFHV2dsbHxxNC0tLS0KHwZ5hG4Q8V9+5Jxo9Xq9X44q+73bt3JyQk+Pr6FhcXW+OZgPAnmEbhD75jxnRtnbl27Vp8vv5ZXV1dRkYGIWTPnj3oUHgGahT+IiUlZcSIEVeuXDl27BjtLCZk06ZNSqUyPDz8lVdeoZ0FTA4u6uFZBw8eXLVqlUgkKi0ttbe3px2Hvlu3bk2ZMsXCwuL27dvjxo2jHQdMDqZReNbKlSunTp1aXV29a9cu2llMQkxMjEajWbt2LToUeoRpFHpw+fJlqVQqEAhkMtnIkSNpx6Hp+PHjixYtGjZsWHl5ubOzM+04YIowjUIPpk+fvmjRora2tvXr19POQpNKpep6wlJGRgY6FHqDaRR6Vl1d7efn9/Tp0wsXLgQHB9OOQ8eHH36YmpoaEBBw48YNSzyMGnqBaRR6JhKJEhISCCExMTFarZZ2HApqamp27NhBCMnJyUGHQh8wjUKv2tra/P39Hzx4cODAgbffflunv62srDx06JBhcj2P9PR0no5brkRERBw5cmThwoXHjx83UCpgB9Qo9OXo0aNLly4dPnx4eXm5k5PTwP/wxx9/DA0NNVwwXanVap0myitXrsyYMcPGxkYmk/n4+BgsF7ABHr8DfVmyZMm+ffsuXrz40Ucf7dy5c+B/OGbMmPT0dMMF05VOT+5kGCYmJoZhmMTERHQo9AvTKPSjsLBwypQpfD7/9u3bYrGYdhxjOHTo0MqVKz09PcvKyvADBOgXlpigH5MnT16xYkVHR0diYiLtLMbQ0tKyceNGQsj27dvRoTAQmEahf48ePRKLxU1NTd99911YWBjtOIa1YcOG7du3T5s27fLly7quSgE3YRqF/g0fPjw5OZn8tvc77TgGVFlZmZOTw+PxPv74Y3QoDBBqFAYkJiZGLBbLZLJ9+/bRzmJA8fHxKpXqrbfeCgoKop0FzAYu6mGgzpw5M3fuXBcXl/LycldXV9pxBl9eXt7LL7/s4OBQVlbm4eFBOw6YDUyjMFCvvvrq7NmzGxsb09LSaGcZfBqNJjY2lhCSnJyMDgWdYBoFHchksoCAAK1We/PmzYkTJ9KOM5hyc3Pff//90aNHFxcXCwQC2nHAnGAaBR34+/u/++67vw9urPH7iJ2ZmYkOBV2hRkE36enprq6ueXl53377Le0sg2bz5s319fUhISHz5s2jnQXMDy7qQWcsu/5l8TcVYByoUdCZWq329/evqqrq6OignWVw8Hi8FStWfPrpp7SDgFnCRT0AgF5Qo6Czffv2VVRUiEQilUrFmL+SkhI+n//555///PPPtP+1YJZQo6CbxsbGrh3wsrKybGxsaMcZBP7+/lFRURqNJiYmhnYWMEuoUdBNampq16L23LlzaWcZNGlpaa6urvn5+SdPnqSdBcwPlphAByUlJZMmTdJqtYWFhS+88ALtOINp7969a9asGTVqVElJCQtuPwBjwjQKOuja4SkqKoplHUoIeeeddyZOnHj//v2srCzaWcDMYBqFgTp9+vRrr73G4q1J8vPzQ0JCsDUJ6ArTKAxIR0fHunXrCCFbtmxhZYcSQmbOnDlv3ryWlpauzVUBBgjTKAzIjh071q9f7+/vX1RUZGVlRTuOoVRWVkokkvb29itXrrz44ou044B5wDQK/VMoFNu2bSOEZGdns7hDCSGjR4+OjY1lfnsyKO04YB5Qo9C/DRs2NDU1zZ07d/bs2bSzGFzXfqNXr1794osvaGcB84CLeugHBx+w/Nlnn61YscLT07O0tNTBwYF2HDB1mEahLwzDREdHa7Xarmcx0Y5jJG+++WZQUFBNTc2OHTtoZwEzgGkU+vLll18uW7Zs+PDh5eXlTk5OtOMYz9WrV6dPn25jY1NSUjJq1CjaccCkYRqFXrW1tXXd+rNt2zZOdSghZNq0acuWLVOpVF23eQH0AdMo9CotLS09PX3y5Mk//fSThQXnPnFramr8/PxaWlq+//770NBQ2nHAdHHu3IABqq6uzszMJITk5ORwsEMJIZ6enklJSYSQ2NhYtVpNOw6YLi6eHjAQCQkJT58+XbJkSXBwMO0s1CQkJPj4+BQXFx88eJB2FjBduKiHHly+fFkqlQoEAplMNnLkSNpxaPr666/feOMNoVB49+5doVBIOw6YIkyj8CytVhsdHc0wTFJSEsc7lBCycOHCl156qaGhISMjg3YWMFGYRuFZBw4ciIyMFIlEpaWl9vb2tOPQV1RUFBgYyOPxbt26JZFIaMcBk4NpFP7iyZMnqamphJBdu3ahQ7sEBASsWrVKrVbjKSPQI0yj8BeJiYmZmZnTp0+/dOkSj8ejHcdU1NXVicVipVJ59uzZ8PBw2nHAtKBG4Q8V9+5Jxo9Xq9XXr18PDAykHce0ZGVlxcfH+/r63rlzhx3P8oPBgot6+MM/GOaNf/0reuNGdGh3H3zwgUQiqaioyM3NpZ0FTAumUfjV9SdP3isvt7O0PCmRuLJ6U9Hn9sMPP8yaNcvR0bGsrMzd3Z12HDAVmEaBEEI0DLNbLieErBoxAh3am9DQ0PDw8Obm5s2bN9POAiYE0ygQQsjRR492y+UiG5vjEok1VpZ6V1FRIZFI8PUx/BmmUSDNavWB2lpCSJyXFzq0b76+vmvWrPn9Fwq044BJQI0C2fvLL01qddCQIcEc2w3v+aSlpbm7uxcUFHzzzTe0s4BJQI1yXaVKdaq+3pLHi/fyop3FPDg6OqalpRFC4uPjW1tbaccB+lCjXJcll2sYZuGwYWNsbWlnMRuRkZGBgYFyuTwrK4t2FqAPS0yclqdUrrt3z5HPPyWROPH5tOOYk0uXLgUHB9va2spkMm9vb9pxgCZMo9zVyTD/U11NCIny8ECH6koqlS5YsKC1tXXjxo20swBlmEa5658PH+bW1IwWCI6OH2+JBXrdyeVyPz+/tra2ixcvSqVS2nGAGkyjHNXQ2Xno4UNCSJyXFzr0+Xh5ecXFxf3+DGracYAa1ChH7ampearRzHR2nuboSDuLGduwYYO3t/fNmzcPHz5MOwtQgxrlIllr678fP7bi8daKRLSzmDc7O7uuXfGTkpKam5tpxwE6UKOcwxCyWy7XEhLh5uaNDd/0FhERIZVKFQrF9u3baWcBOrDExDn/bmhIvX9faGV1SiKxt7SkHYcNbty4ERQUxOfz79y5M3bsWNpxwNgwjXKLSqvdW1NDCPnA0xMdOlgCAwOXL1/e0dHR9Vx74BpMo9zyj19+OVhb62dn97m/Pz5CB5FCoRCLxc3NzefOnZs1axbtOGBUOJU4RNHRcUSh4BGS4OWFN35wubm5dY2isbGxarWadhwwKpxNHJJVXa3Sal8RCic5ONDOwkIJCQljx44tKSnZv38/7SxgVKhRrrjV0pLX2CiwsHjP05N2FnaytrbuWqxPSUl5/Pgx7ThgPKhRTtASslsuZwhZ6e7ubm1NOw5rzZ8/f9asWQ0NDVu2bKGdBYwHS0yccLKubmtVlZu19QmJRGCBz04DKikpCQgIIIQUFhZOmDCBdhwwBpxR7PdUo/nf2lpCSKxIhA41tPHjx0dGRqrV6piYGNpZwEhwUrGforPTic//LweHv7m40M7CCVu2bHFxcbG1tcXe+ByBi3pO0DBMk1otxJOTjaWmpsYTS3mcgRoFANAL9jxng0a1Oq+xse/XBDs7D8M0aix37949f/48IWT58uX29vbdX3D69Ona2lqxWBwSEmL0dDDIUKNsUNvRsa2qqu/XjBQIUKNGc+3ataioKELInDlzeqzR7OzsCxcuhIWFoUZZADXKKh42Nr2txdtijR7AMFCjrJLu4zMZP/QEMC5MKAAAekGNAgDoBTUKAKAXfDfKKkcVioKmpu7Hl7q5Cfl4rylYvHixQCDofryoqMj4YcBAcGqxSp5S2ePxcKEQNUpFQUEB7QhgcDi1WGXqkCEu3euSx8PPQGlJSUlxdnbufjw3N7eystL4ecAQUKOsstrDAzc8mZTVq1eLRKLux8+cOYMaZQ0sMQEA6AU1CgCgF9QoAIBeUKMAAHpBjQIA6AU1ygZ4F02NxW/7aVnhVjMOwO73AAB6wRwDAKAX1CgAgF5QowAAekGNAgDoBTUKAKAX1CgAgF7+H0HnrDn1bwBdAAAAAElFTkSuQmCC\n",
"text/plain": [
"<rdkit.Chem.rdchem.Mol at 0x108ad08f0>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#do explicit Hs make a difference?\n",
"b_Hs = Chem.AddHs(b)\n",
"b_Hs"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 6 5 0 0 0 0 0 0 0 0999 V2000\n",
" -1.2990 0.7500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" -0.0000 -1.5000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 2.5981 -0.0000 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 2.2500 0.0000 H 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 3\n",
" 4 5 1 0\n",
" 4 6 1 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"b_Hs_block = Chem.MolToMolBlock(b_Hs)\n",
"print(b_Hs_block)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" RDKit 2D\n",
"\n",
" 4 3 0 0 0 0 0 0 0 0999 V2000\n",
" 2.5981 -0.0000 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 0.7500 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1.2990 2.2500 0.0000 F 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n",
" 1 2 1 0\n",
" 2 3 1 0\n",
" 2 4 2 0\n",
"M END\n",
"\n"
]
}
],
"source": [
"#compare with implicit Hs\n",
"print(b_block)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Interesting that adding H's changes the bond stereo, not sure why."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "rdkit-kernel",
"language": "python",
"name": "my-rdkit-env"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment