{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from rdkit import Chem\n",
    "from rdkit.Chem import Draw\n",
    "from rdkit.Chem.Draw import IPythonConsole"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This sd example is copied from a very popular SBDD Discovery Suite\n",
    "\n",
    "As you can see the charge is set to 1 for the N atom in the first line of the Atom Block."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "molblock = \"\"\"piperidine\n",
    "                    3D\n",
    " Schrodinger Suite 2020-3.\n",
    " 18 18  0  0  1  0            999 V2000\n",
    "   -1.4650    0.7843   -0.9210 N   0  3  0  0  0  0\n",
    "    0.0601    0.7265   -0.6801 C   0  0  0  0  0  0\n",
    "    0.6663   -0.3976   -1.5418 C   0  0  0  0  0  0\n",
    "   -0.0188   -1.7539   -1.2886 C   0  0  0  0  0  0\n",
    "   -1.5436   -1.6645   -1.4884 C   0  0  0  0  0  0\n",
    "   -2.1760   -0.5554   -0.6261 C   0  0  0  0  0  0\n",
    "   -1.8728    1.5193   -0.3582 H   0  0  0  0  0  0\n",
    "   -1.6467    1.0610   -1.8759 H   0  0  0  0  0  0\n",
    "    0.4639    1.7095   -0.9337 H   0  0  0  0  0  0\n",
    "    0.2070    0.5588    0.3895 H   0  0  0  0  0  0\n",
    "    0.5957   -0.1320   -2.5985 H   0  0  0  0  0  0\n",
    "    1.7350   -0.4775   -1.3328 H   0  0  0  0  0  0\n",
    "    0.4022   -2.5160   -1.9483 H   0  0  0  0  0  0\n",
    "    0.1994   -2.0917   -0.2728 H   0  0  0  0  0  0\n",
    "   -1.7754   -1.4913   -2.5412 H   0  0  0  0  0  0\n",
    "   -2.0063   -2.6224   -1.2424 H   0  0  0  0  0  0\n",
    "   -2.0666   -0.7447    0.4444 H   0  0  0  0  0  0\n",
    "   -3.2369   -0.4121   -0.8444 H   0  0  0  0  0  0\n",
    "  1  2  1  0  0  0\n",
    "  1  6  1  0  0  0\n",
    "  1  7  1  0  0  0\n",
    "  1  8  1  0  0  0\n",
    "  2  3  1  0  0  0\n",
    "  2  9  1  0  0  0\n",
    "  2 10  1  0  0  0\n",
    "  3  4  1  0  0  0\n",
    "  3 11  1  0  0  0\n",
    "  3 12  1  0  0  0\n",
    "  4  5  1  0  0  0\n",
    "  4 13  1  0  0  0\n",
    "  4 14  1  0  0  0\n",
    "  5  6  1  0  0  0\n",
    "  5 15  1  0  0  0\n",
    "  5 16  1  0  0  0\n",
    "  6 17  1  0  0  0\n",
    "  6 18  1  0  0  0\n",
    "M  CHG  1   1   1\n",
    "M  END\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x1eb07960cb0>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mol = Chem.MolFromMolBlock(molblock,)\n",
    "mol"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "piperidine\n",
      "     RDKit          3D\n",
      "\n",
      "  6  6  0  0  1  0  0  0  0  0999 V2000\n",
      "   -1.4650    0.7843   -0.9210 N   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    0.0601    0.7265   -0.6801 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "    0.6663   -0.3976   -1.5418 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "   -0.0188   -1.7539   -1.2886 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "   -1.5436   -1.6645   -1.4884 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "   -2.1760   -0.5554   -0.6261 C   0  0  0  0  0  0  0  0  0  0  0  0\n",
      "  1  2  1  0\n",
      "  1  6  1  0\n",
      "  2  3  1  0\n",
      "  3  4  1  0\n",
      "  4  5  1  0\n",
      "  5  6  1  0\n",
      "M  CHG  1   1   1\n",
      "M  END\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(Chem.MolToMolBlock(mol))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "No the charge is not defined for the N atom in the atom block.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "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.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
