diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..059eb39
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,414 @@
+
+# Created by https://www.toptal.com/developers/gitignore/api/python,intellij,pycharm,macos,windows,linux,vim
+# Edit at https://www.toptal.com/developers/gitignore?templates=python,intellij,pycharm,macos,windows,linux,vim
+
+### Intellij ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# AWS User-specific
+.idea/**/aws.xml
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### Intellij Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+# Sonarlint plugin
+# https://plugins.jetbrains.com/plugin/7973-sonarlint
+.idea/**/sonarlint/
+
+# SonarQube Plugin
+# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
+.idea/**/sonarIssues.xml
+
+# Markdown Navigator plugin
+# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
+.idea/**/markdown-navigator.xml
+.idea/**/markdown-navigator-enh.xml
+.idea/**/markdown-navigator/
+
+# Cache file creation bug
+# See https://youtrack.jetbrains.com/issue/JBR-2257
+.idea/$CACHE_FILE$
+
+# CodeStream plugin
+# https://plugins.jetbrains.com/plugin/12206-codestream
+.idea/codestream.xml
+
+### Linux ###
+*~
+
+# temporary files which can be created if a process still has a handle open of a deleted file
+.fuse_hidden*
+
+# KDE directory preferences
+.directory
+
+# Linux trash folder which might appear on any partition or disk
+.Trash-*
+
+# .nfs files are created when an open file is removed but is still being accessed
+.nfs*
+
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### PyCharm ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+
+# AWS User-specific
+
+# Generated files
+
+# Sensitive or high-churn files
+
+# Gradle
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+
+# Mongo Explorer plugin
+
+# File-based project format
+
+# IntelliJ
+
+# mpeltonen/sbt-idea plugin
+
+# JIRA plugin
+
+# Cursive Clojure plugin
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+
+# Editor-based Rest Client
+
+# Android studio 3.1+ serialized cache file
+
+### PyCharm Patch ###
+# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
+
+# *.iml
+# modules.xml
+# .idea/misc.xml
+# *.ipr
+
+# Sonarlint plugin
+# https://plugins.jetbrains.com/plugin/7973-sonarlint
+
+# SonarQube Plugin
+# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
+
+# Markdown Navigator plugin
+# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
+
+# Cache file creation bug
+# See https://youtrack.jetbrains.com/issue/JBR-2257
+
+# CodeStream plugin
+# https://plugins.jetbrains.com/plugin/12206-codestream
+
+### Python ###
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+# Usually these files are written by a python script from a template
+# before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+cover/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+.pybuilder/
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+# For a library or package, you might want to ignore these files since the code is
+# intended to run in multiple environments; otherwise, check them in:
+# .python-version
+
+# pipenv
+# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+# However, in case of collaboration, if having platform-specific dependencies or dependencies
+# having no cross-platform support, pipenv may install dependencies that don't work, or not
+# install all needed dependencies.
+#Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/
+
+# pytype static type analyzer
+.pytype/
+
+# Cython debug symbols
+cython_debug/
+
+### Vim ###
+# Swap
+[._]*.s[a-v][a-z]
+!*.svg # comment out if you don't need vector files
+[._]*.sw[a-p]
+[._]s[a-rt-v][a-z]
+[._]ss[a-gi-z]
+[._]sw[a-p]
+
+# Session
+Session.vim
+Sessionx.vim
+
+# Temporary
+.netrwhist
+# Auto-generated tag files
+tags
+# Persistent undo
+[._]*.un~
+
+### Windows ###
+# Windows thumbnail cache files
+Thumbs.db
+Thumbs.db:encryptable
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# End of https://www.toptal.com/developers/gitignore/api/python,intellij,pycharm,macos,windows,linux,vim
+
+# Don't commit example results
+ChEMBL_1614027_*
diff --git a/ChEMBL_1614027.gz b/ChEMBL_1614027.gz
deleted file mode 100644
index c1feac3..0000000
Binary files a/ChEMBL_1614027.gz and /dev/null differ
diff --git a/NAA_Workflow_ChEMBL.ipynb b/NAA_Workflow_ChEMBL.ipynb
index 67775d9..ece81b0 100644
--- a/NAA_Workflow_ChEMBL.ipynb
+++ b/NAA_Workflow_ChEMBL.ipynb
@@ -8,7 +8,7 @@
"\n",
"1. Data curation and clean up\n",
"2. Run Nonadditivity Analysis\n",
- "3. Generate Plots\n"
+ "3. Generate Plots"
]
},
{
@@ -28,28 +28,28 @@
"from rdkit.Chem.MolStandardize.standardize import canonicalize_tautomer_smiles\n",
"from rdkit.Chem import rdFMCS\n",
"rdBase.DisableLog('rdApp.info')\n",
- "\n",
+ "import os\n",
+ "from textwrap import dedent\n",
"import sys\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import seaborn as sns\n",
- "\n",
+ "from rdkit.Chem import PandasTools\n",
"from scipy import stats\n",
"from scipy.stats import normaltest\n",
"from PIL import Image\n",
"from PIL import ImageFont\n",
"from PIL import ImageDraw\n",
- "\n",
+ "from tqdm.auto import tqdm\n",
"import multiprocessing as mp\n",
- "from multiprocessing import Process, Pipe\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Set path for reading and writing data"
+ "from multiprocessing import Process, Pipe\n",
+ "\n",
+ "import pystow\n",
+ "import chembl_downloader\n",
+ "from nonadditivity_az.utils import get_processed_assay_df\n",
+ "from nonadditivity_az.plotting import NA_distribution, plot_outliers, draw_image\n",
+ "from nonadditivity.api import run_nonadd_calculation_helper"
]
},
{
@@ -58,24 +58,7 @@
"metadata": {},
"outputs": [],
"source": [
- "my_path = './naa/ChEMBL_1614027/'\n",
- "my_name = 'ChEMBL_1614027'"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# STEP I"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Data Curation\n",
- "\n",
- "* Data example for ChEMBL1614027"
+ "sns.set_style(\"white\")"
]
},
{
@@ -84,14 +67,9 @@
"metadata": {},
"outputs": [],
"source": [
- "data = pd.read_csv(my_path+'ChEMBL_1614027.gz', compression='gzip', header=0, sep=';', error_bad_lines=False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Rearrange columns and keep the ones necessary"
+ "# https://www.rdkit.org/docs/Cookbook.html\n",
+ "from rdkit.Chem.Draw import IPythonConsole\n",
+ "IPythonConsole.ipython_useSVG = True"
]
},
{
@@ -100,18 +78,8 @@
"metadata": {},
"outputs": [],
"source": [
- "def rearrange(df):\n",
- " df = df.rename(columns=({'Molecule ChEMBL ID':'COMPOUND_NAME', 'Smiles': 'SMILES', 'Standard Value': 'VALUE', 'Standard Value' : 'VALUE', 'Standard Units': 'UNIT', 'Standard Type': 'ENDPOINT'}))\n",
- " df = df[['SMILES', 'COMPOUND_NAME', 'ENDPOINT', 'Standard Relation', 'VALUE', 'UNIT']]\n",
- " \n",
- " return df"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Remove NaNs from SMILES column"
+ "import matplotlib_inline\n",
+ "matplotlib_inline.backend_inline.set_matplotlib_formats(\"svg\")"
]
},
{
@@ -120,17 +88,14 @@
"metadata": {},
"outputs": [],
"source": [
- "def discard_nan_smiles(df):\n",
- " df = df.dropna(subset = ['SMILES'])\n",
- " \n",
- " return(df)"
+ "PandasTools.ChangeMoleculeRendering(renderer=\"SVG\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Deleting uncertain values"
+ "### Set path for reading and writing data"
]
},
{
@@ -139,431 +104,690 @@
"metadata": {},
"outputs": [],
"source": [
- "def discard_uncertain_values(df):\n",
- " df = df[df['Standard Relation'] != \"'>'\"]\n",
- " df = df[df['Standard Relation'] != \"'<'\"]\n",
- " df['VALUE'] = df['VALUE'].astype(float)\n",
- " df = df[df['VALUE'] > 0] #in case one needs to delete negative values\n",
- " df = df.drop(columns=['Standard Relation'])\n",
- "\n",
- " return(df)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Converting values to logged ones"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [],
- "source": [
- "unit_conversion = {\n",
- " 'M': 1,\n",
- " 'mM': 1000,\n",
- " 'uM': 1000000,\n",
- " 'nM': 1000000000,\n",
- " 'pM': 1000000000000,\n",
- " 'fM': 1000000000000000 \n",
- "}\n",
- "\n",
- "def log_converstion(x, UNIT):\n",
- " if UNIT not in unit_conversion:\n",
- " return x\n",
- " x= -1 * np.log10(x / unit_conversion[UNIT])\n",
- " return x\n",
- "\n",
- "def create_conversion_column(df):\n",
- " arr = [log_converstion(x['VALUE'], x['UNIT']) for idx, x in df.iterrows()]\n",
- "\n",
- " df['NEW_VALUE'] = arr\n",
- " df = df[df['NEW_VALUE'] > 0]\n",
- " df = df.drop(columns=['VALUE'])\n",
- " \n",
- " # deleting the values that are more than 10 mM and less than 1 fM\n",
- " \n",
- " df = df[df['NEW_VALUE'] > 2]\n",
- " df = df[df['NEW_VALUE'] < 11]\n",
- " \n",
- " return df"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Calculating the avarage of the activity and calculating the median"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {},
- "outputs": [],
- "source": [
- "def calculate_average(df):\n",
- " df['Median_Value'] = df.groupby(['COMPOUND_NAME'])['NEW_VALUE'].transform('median')\n",
- " df['max_value'] = df.groupby(['COMPOUND_NAME'])['NEW_VALUE'].transform('max')\n",
- " df['min_value'] = df.groupby(['COMPOUND_NAME'])['NEW_VALUE'].transform('min')\n",
- " df['difference'] = df.max_value - df.min_value\n",
- " \n",
- " df = df.drop_duplicates(subset=['COMPOUND_NAME'], keep= 'first')\n",
- "\n",
- " return(df)"
+ "assay_chembl_id = 'CHEMBL1614027'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Delete compounds that have been measured several times in one test and differ more than 2.5 log units"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {},
- "outputs": [],
- "source": [
- "def discard_ambiguous_compound_measurements(df, max_thrs = 2.5):\n",
- " \n",
- " df = df[df.difference < max_thrs] \n",
- " \n",
- " df = df[['SMILES', 'COMPOUND_NAME', 'ENDPOINT', 'Median_Value', 'MEASUREMENT']]\n",
- " df = df.rename(columns=({'Median_Value':'VALUE'}))\n",
- " \n",
- " return(df)"
+ "# STEP I"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Standardize molecules using RDkit"
+ "# Data Curation"
]
},
{
"cell_type": "code",
- "execution_count": 10,
- "metadata": {},
- "outputs": [],
- "source": [
- "def standardize_rdkit(row, col):\n",
- " smi = row[col]\n",
- "\n",
- " try:\n",
- " mol = Chem.MolFromSmiles(smi) # sanitization is done by default\n",
- " fmol = rdMolStandardize.FragmentParent(mol) # returns largest fragment\n",
- " cmol = rdMolStandardize.ChargeParent(fmol) # uncharges the largest fragment\n",
- " smi = Chem.MolToSmiles(cmol) \n",
- " ssmi = MolStandardize.canonicalize_tautomer_smiles(smi) # returns the canonicalized tautomer\n",
- " tsmi = MolStandardize.rdMolStandardize.StandardizeSmiles(ssmi) # standardize \n",
- " except:\n",
- " tsmi = 'none'\n",
- " \n",
- " return tsmi"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
+ "execution_count": 7,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " ID | \n",
+ " SMILES | \n",
+ " VALUE | \n",
+ " MEASUREMENT | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " CHEMBL598952 | \n",
+ " O=c1onc2cnc3ccccc3n12 | \n",
+ " 4.40000 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " CHEMBL1358313 | \n",
+ " N#CCCn1c(=O)c(-c2cccc(C#N)c2)nc2cnc(Oc3ccccc3)... | \n",
+ " 4.40000 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " CHEMBL11684 | \n",
+ " CC1(C)Oc2ccc(C#N)cc2[C@H](N2CCCC2=O)[C@H]1O | \n",
+ " 4.40000 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " CHEMBL1357940 | \n",
+ " CS(=O)(=O)N1CCC2(CCN(c3ccccc3)CC2)CC1 | \n",
+ " 4.40000 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " CHEMBL302213 | \n",
+ " NC[C@@H](CC(=O)O)c1ccc(Cl)cc1 | \n",
+ " 4.40000 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 2871 | \n",
+ " CHEMBL1568083 | \n",
+ " O=C(O)c1cscc1Cc1cccs1 | \n",
+ " 8.60206 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2872 | \n",
+ " CHEMBL1517793 | \n",
+ " C[C@H]1CCC[C@@H](C)N1 | \n",
+ " 8.60206 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2873 | \n",
+ " CHEMBL1513940 | \n",
+ " COc1ccc2c3c([nH]c2c1)[C@@H]1C[C@H]2C(C(=O)O)[C... | \n",
+ " 8.60206 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2874 | \n",
+ " CHEMBL1513508 | \n",
+ " CCOC(=O)OCC1OC(C#Cc2ccc(C(C)(C)C)cc2)C=CC1OC(=... | \n",
+ " 8.60206 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2875 | \n",
+ " CHEMBL1337541 | \n",
+ " CCCCCCCCCC(=O)N[C@@H](CN1CCOCC1)[C@@H](O)c1ccccc1 | \n",
+ " 8.79588 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
2876 rows × 4 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " ID SMILES \\\n",
+ "0 CHEMBL598952 O=c1onc2cnc3ccccc3n12 \n",
+ "1 CHEMBL1358313 N#CCCn1c(=O)c(-c2cccc(C#N)c2)nc2cnc(Oc3ccccc3)... \n",
+ "2 CHEMBL11684 CC1(C)Oc2ccc(C#N)cc2[C@H](N2CCCC2=O)[C@H]1O \n",
+ "3 CHEMBL1357940 CS(=O)(=O)N1CCC2(CCN(c3ccccc3)CC2)CC1 \n",
+ "4 CHEMBL302213 NC[C@@H](CC(=O)O)c1ccc(Cl)cc1 \n",
+ "... ... ... \n",
+ "2871 CHEMBL1568083 O=C(O)c1cscc1Cc1cccs1 \n",
+ "2872 CHEMBL1517793 C[C@H]1CCC[C@@H](C)N1 \n",
+ "2873 CHEMBL1513940 COc1ccc2c3c([nH]c2c1)[C@@H]1C[C@H]2C(C(=O)O)[C... \n",
+ "2874 CHEMBL1513508 CCOC(=O)OCC1OC(C#Cc2ccc(C(C)(C)C)cc2)C=CC1OC(=... \n",
+ "2875 CHEMBL1337541 CCCCCCCCCC(=O)N[C@@H](CN1CCOCC1)[C@@H](O)c1ccccc1 \n",
+ "\n",
+ " VALUE MEASUREMENT \n",
+ "0 4.40000 1 \n",
+ "1 4.40000 1 \n",
+ "2 4.40000 1 \n",
+ "3 4.40000 1 \n",
+ "4 4.40000 1 \n",
+ "... ... ... \n",
+ "2871 8.60206 1 \n",
+ "2872 8.60206 1 \n",
+ "2873 8.60206 1 \n",
+ "2874 8.60206 1 \n",
+ "2875 8.79588 1 \n",
+ "\n",
+ "[2876 rows x 4 columns]"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "def generateStandarizedSmiles(smilesfile, smiles_column):\n",
- "\n",
- " pool = mp.Pool(8) # set number of cores for parallelization\n",
- " stsmi_list = pool.starmap(standardize_rdkit, [(smi, smiles_column) for idx, smi in smilesfile.iterrows()])\n",
- " pool.close()\n",
- " \n",
- " smilesfile[smilesfile.columns[smiles_column]] = stsmi_list\n",
- "\n",
- " return (smilesfile)"
+ "df, infile = get_processed_assay_df(assay_chembl_id)\n",
+ "df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Discard duplicate SMILES\n",
- "\n",
- "- Keep the one with the highest value, i.e. most active one"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {},
- "outputs": [],
- "source": [
- "def merge_duplicate_smiles(df):\n",
- " df = df.sort_values('VALUE').drop_duplicates(subset=['SMILES'], keep='last') \n",
- " \n",
- " return(df)"
+ "# STEP II"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Remove molecules with > 70 heavy atoms"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {},
- "outputs": [],
- "source": [
- "def discarding_heavy_mols(smi, min_size = 0, max_size = 70):\n",
- " try:\n",
- " mol = Chem.MolFromSmiles(smi, sanitize=False)\n",
- " if min_size <= mol.GetNumHeavyAtoms() <= max_size:\n",
- " return False\n",
- " else:\n",
- " return True\n",
- " except:\n",
- " return True \n",
- " \n",
- "def removeHeavyMols(df, smiles_column):\n",
- " idx = []\n",
- " discard = []\n",
- " for index, row in df.iterrows():\n",
- " #for smi in df.iloc[:,smiles_column]:\n",
- " if discarding_heavy_mols(row[smiles_column]):\n",
- " idx.append(index)\n",
- " discard.append(row.values.tolist())\n",
+ "# NAA\n",
"\n",
- " df.drop(idx, inplace=True)\n",
- " return (df)"
+ "- Code available from gitHub by Christian Kramer: https://github.com/KramerChristian/NonadditivityAnalysis\n",
+ "- Corresponding publication: https://pubs.acs.org/doi/abs/10.1021/acs.jcim.9b00631"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Apply all of the above functionalities and safe file"
+ "### Run NAA on cleanup data set"
]
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "#cmpds: 3082\n",
- "#unique cmpds: 2933\n",
- "#cpds with SMILES: 3047\n",
- "#cpds with values: 3047\n",
- "#cpds after merging multi measurements: 2893\n"
+ "Identifier Column found: ID\n",
+ "Smiles column found: SMILES\n",
+ "Activity column #1: VALUE\n",
+ "Generating MMP Fragments\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
- "RDKit ERROR: [17:00:49] Can't kekulize mol. Unkekulized atoms: 0 3 6\n",
- "RDKit ERROR: \n",
- "RDKit ERROR: [17:00:49] Can't kekulize mol. Unkekulized atoms: 0 3 6\n",
- "RDKit ERROR: \n",
- "RDKit ERROR: [17:00:49] Can't kekulize mol. Unkekulized atoms: 0 3 6\n",
- "RDKit ERROR: \n",
- "RDKit ERROR: [17:00:49] Can't kekulize mol. Unkekulized atoms: 0 3 6\n",
- "RDKit ERROR: \n",
- "RDKit ERROR: [17:00:49] Can't kekulize mol. Unkekulized atoms: 0 3 6\n",
- "RDKit ERROR: \n",
- "RDKit ERROR: [17:00:49] Can't kekulize mol. Unkekulized atoms: 0 3 6\n",
- "RDKit ERROR: \n"
+ " \r"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
- "#cpds after merging duplicate SMILES: 2877\n",
- "#cpds < 70 HA: 2876\n"
+ "Indexing MMP Fragments\n"
]
- }
- ],
- "source": [
- "df = rearrange(data)\n",
- "print('#cmpds: ', len(df['COMPOUND_NAME']))\n",
- "print('#unique cmpds: ', len(df['COMPOUND_NAME'].value_counts()))\n",
- "\n",
- "# Counting how many times compounds were measured in tests\n",
- "df['MEASUREMENT'] = df.groupby(['COMPOUND_NAME'])['COMPOUND_NAME'].transform('count')\n",
- "\n",
- "# Discard cmpds without SMILES\n",
- "df = discard_nan_smiles(df)\n",
- "print('#cpds with SMILES: ', len(df.iloc[:,0]))\n",
- "\n",
- "# Discard ambiguous data\n",
- "df = discard_uncertain_values(df)\n",
- "print('#cpds with values: ', len(df.iloc[:,0]))\n",
- "\n",
- "# Convert IC50 to pIC50\n",
- "df = create_conversion_column(df) \n",
- "\n",
- "# Calculate average values and discard cpds with > 2.5 log unit measurement differences\n",
- "df = calculate_average(df)\n",
- "df = discard_ambiguous_compound_measurements(df)\n",
- "print('#cpds after merging multi measurements: ', len(df.iloc[:,0]))\n",
- "\n",
- "# standardize SMILES, merge duplicates and retain higher active one\n",
- "smiles_column = 0\n",
- "df = generateStandarizedSmiles(df, smiles_column)\n",
- "df = df[df['SMILES'] != 'none']\n",
- "df = merge_duplicate_smiles(df)\n",
- "print('#cpds after merging duplicate SMILES: ', len(df.iloc[:,0]))\n",
- "\n",
- "# Remove cpds with > 70 HA\n",
- "smiles_column = 0\n",
- "df = removeHeavyMols(df, smiles_column)\n",
- "print('#cpds < 70 HA: ', len(df.iloc[:,0]))\n",
- "\n",
- "# Rename columns for subsequent NAA\n",
- "df = df.rename(columns=({'COMPOUND_NAME':'ID'}))\n",
- "df = df[['ID', 'SMILES', 'VALUE', 'MEASUREMENT']]\n",
- "\n",
- "# safe file\n",
- "df.to_csv(my_path+my_name+'_curated.csv', index = False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# STEP II"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# NAA\n",
- "\n",
- "- Code available from gitHub by Christian Kramer: https://github.com/KramerChristian/NonadditivityAnalysis\n",
- "- Corresponoding publication: https://pubs.acs.org/doi/abs/10.1021/acs.jcim.9b00631"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to run NAA out of the jupyter notebook, the system variable for the NAA path has to be set.\n",
- "\n",
- "If this is not done automatically, do the following in your commandline (Linux):\n",
- "> cd $CONDA_PREFIX\n",
- "\n",
- "> mkdir -p ./etc/conda/activate.d\n",
- "\n",
- "> mkdir -p ./etc/conda/deactivate.d\n",
- "\n",
- "> touch ./etc/conda/activate.d/env_vars.sh\n",
- "\n",
- "> touch ./etc/conda/deactivate.d/env_vars.sh\n",
- "\n",
- "- change activate.d/env_vars.sh\n",
- "> export NNA=/path/to/nna/\n",
- "- change deactivate.d/env_vars.sh\n",
- "> unset NNA"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {},
- "outputs": [],
- "source": [
- "def init_naa():\n",
- " # save system variable in a local python variable, otherwise the !python call doesn't work\n",
- " naapath = !echo $NAA\n",
- " naapath = naapath[0]\n",
- " \n",
- " return naapath"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 42,
- "metadata": {},
- "outputs": [],
- "source": [
- "def naa(infile, outfile, myprops, myunit, mydelim='comma', myseries='', naapath=init_naa()):\n",
- " print (\"\\nanalyzing: \", infile)\n",
- "\n",
- " if (myseries != '') :\n",
- " print ('\\n\\n', naapath+'Nonadditivity_Analysis.py -in ', infile ,' -delimiter ', mydelim , ' -series_column ', myseries, ' -props ', myprops ,' -units ', myunit ,' -out ', outfile, '\\n\\n')\n",
- " !python {naapath}/Nonadditivity_Analysis.py -in {infile} -delimiter {mydelim} -series_column {myseries} -props {myprops} -units {myunit} -out {outfile}\n",
- " else: \n",
- " print ('\\n\\n', naapath+'Nonadditivity_Analysis.py -in ', infile ,' -delimiter ', mydelim ,' -props ', myprops ,' -units ', myunit ,' -out ', outfile, '\\n\\n')\n",
- " !python {naapath}/Nonadditivity_Analysis.py -in {infile} -delimiter {mydelim} -props {myprops} -units {myunit} -out {outfile}\n",
- " \n",
- " print (\"Done analysing.\\n\")\n",
- " return outfile"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Run NAA on cleanup data set"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 43,
- "metadata": {},
- "outputs": [
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ " \r"
+ ]
+ },
{
"name": "stdout",
"output_type": "stream",
"text": [
- "\n",
- "analyzing: ./naa/ChEMBL_1614027/ChEMBL_1614027_curated.csv\n",
- "Identifier Column found: ID\n",
- "Smiles column found: SMILES\n",
- "Activity column #1: VALUE\n",
- "Generating MMP Fragments for ./naa/ChEMBL_1614027/ChEMBL_1614027_curated.csv\n",
- "Indexing MMP Fragments for ./naa/ChEMBL_1614027/ChEMBL_1614027_curated.csv\n",
- "WARNING: Neither ujson nor cjson installed. Falling back to Python's slower built-in json decoder.\n",
- "Analyzing neighborhoods \n",
+ "Analyzing neighborhoods\n",
"Assembling circles\n",
"Writing Output.\n",
"Estimated Experimental Uncertainty\n",
- "for property: VALUE\n",
+ "for property: VALUE\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "Output: 100%|██████████████████████████████████████████████████████████| 4086/4086 [00:00<00:00, 53079.47it/s]"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
"based on 4086 cycles.\n",
"0.36 from normal SD\n",
- "0.30 from MAD\n",
+ "0.30 from MAD\n"
+ ]
+ },
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
"0.30 from Median of Medians\n",
- "\n",
- "Done analysing.\n",
"\n"
]
},
{
"data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Compound1 | \n",
+ " Compound2 | \n",
+ " Compound3 | \n",
+ " Compound4 | \n",
+ " SMILES1 | \n",
+ " SMILES2 | \n",
+ " SMILES3 | \n",
+ " SMILES4 | \n",
+ " Series | \n",
+ " Transformation1 | \n",
+ " Transformation2 | \n",
+ " Property | \n",
+ " Prop_Cpd1 | \n",
+ " Prop_Cpd2 | \n",
+ " Prop_Cpd3 | \n",
+ " Prop_Cpd4 | \n",
+ " Nonadditivity | \n",
+ " Circle_ID | \n",
+ " Theo_Quantile | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " CHEMBL1531070 | \n",
+ " CHEMBL1442087 | \n",
+ " CHEMBL1555369 | \n",
+ " CHEMBL1330718 | \n",
+ " CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(C(F)(F)F)cc1)c1... | \n",
+ " CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(C(F)(F)F)cc1)c1... | \n",
+ " CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(Cl)cc1)c1ccc(C(... | \n",
+ " CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(Cl)cc1)c1ccccc1 | \n",
+ " | \n",
+ " [*:1][H]>>[*:1]C(=O)OC | \n",
+ " [*:1]C(F)(F)F>>[*:1]Cl | \n",
+ " VALUE | \n",
+ " 5.1 | \n",
+ " 5.5 | \n",
+ " 5.5 | \n",
+ " 5.6 | \n",
+ " -0.5 | \n",
+ " CHEMBL1531070_CHEMBL1442087_CHEMBL1555369_CHEM... | \n",
+ " -0.872 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " CHEMBL1566556 | \n",
+ " CHEMBL1398066 | \n",
+ " CHEMBL1486399 | \n",
+ " CHEMBL1396358 | \n",
+ " CCCC/C=C/C(NC(=O)c1ccccc1)c1ccccc1 | \n",
+ " CCCC[C@@H]1C[C@H]1C(NC(=O)c1ccccc1)c1ccccc1 | \n",
+ " CCCC[C@@H]1C[C@H]1C(NC(=O)c1ccco1)c1ccccc1 | \n",
+ " CCCC/C=C/C(NC(=O)c1ccco1)c1ccccc1 | \n",
+ " | \n",
+ " [*:1]/C=C/CCCC>>[*:1][C@@H]1C[C@H]1CCCC | \n",
+ " [*:1]c1ccccc1>>[*:1]c1ccco1 | \n",
+ " VALUE | \n",
+ " 5.0 | \n",
+ " 5.1 | \n",
+ " 4.8 | \n",
+ " 4.8 | \n",
+ " -0.1 | \n",
+ " CHEMBL1566556_CHEMBL1398066_CHEMBL1486399_CHEM... | \n",
+ " -0.160 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " CHEMBL1592533 | \n",
+ " CHEMBL1359291 | \n",
+ " CHEMBL1437906 | \n",
+ " CHEMBL1403280 | \n",
+ " COc1ccc(C(=O)N2CCC3(CC2)CCN(c2ccccn2)CC3)cc1 | \n",
+ " Cn1cccc1C(=O)N1CCC2(CC1)CCN(c1ccccn1)CC2 | \n",
+ " Cn1cccc1C(=O)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 | \n",
+ " COc1ccc(C(=O)N2CCC3(CCN(Cc4ccncc4)CC3)CC2)cc1 | \n",
+ " | \n",
+ " [*:1]c1ccc(OC)cc1>>[*:1]c1cccn1C | \n",
+ " [*:1]c1ccccn1>>[*:1]Cc1ccncc1 | \n",
+ " VALUE | \n",
+ " 4.4 | \n",
+ " 4.5 | \n",
+ " 5.0 | \n",
+ " 5.1 | \n",
+ " -0.2 | \n",
+ " CHEMBL1592533_CHEMBL1359291_CHEMBL1437906_CHEM... | \n",
+ " -0.327 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " CHEMBL1592533 | \n",
+ " CHEMBL1315700 | \n",
+ " CHEMBL1564545 | \n",
+ " CHEMBL1403280 | \n",
+ " COc1ccc(C(=O)N2CCC3(CC2)CCN(c2ccccn2)CC3)cc1 | \n",
+ " O=C(c1ccncc1)N1CCC2(CC1)CCN(c1ccccn1)CC2 | \n",
+ " O=C(c1ccncc1)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 | \n",
+ " COc1ccc(C(=O)N2CCC3(CCN(Cc4ccncc4)CC3)CC2)cc1 | \n",
+ " | \n",
+ " [*:1]c1ccc(OC)cc1>>[*:1]c1ccncc1 | \n",
+ " [*:1]c1ccccn1>>[*:1]Cc1ccncc1 | \n",
+ " VALUE | \n",
+ " 4.4 | \n",
+ " 5.0 | \n",
+ " 4.7 | \n",
+ " 5.1 | \n",
+ " -1.0 | \n",
+ " CHEMBL1592533_CHEMBL1315700_CHEMBL1564545_CHEM... | \n",
+ " -1.530 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " CHEMBL1437906 | \n",
+ " CHEMBL1359291 | \n",
+ " CHEMBL1315700 | \n",
+ " CHEMBL1564545 | \n",
+ " Cn1cccc1C(=O)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 | \n",
+ " Cn1cccc1C(=O)N1CCC2(CC1)CCN(c1ccccn1)CC2 | \n",
+ " O=C(c1ccncc1)N1CCC2(CC1)CCN(c1ccccn1)CC2 | \n",
+ " O=C(c1ccncc1)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 | \n",
+ " | \n",
+ " [*:1]Cc1ccncc1>>[*:1]c1ccccn1 | \n",
+ " [*:1]c1cccn1C>>[*:1]c1ccncc1 | \n",
+ " VALUE | \n",
+ " 5.0 | \n",
+ " 4.5 | \n",
+ " 5.0 | \n",
+ " 4.7 | \n",
+ " 0.8 | \n",
+ " CHEMBL1437906_CHEMBL1359291_CHEMBL1315700_CHEM... | \n",
+ " 1.330 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 4081 | \n",
+ " CHEMBL1515287 | \n",
+ " CHEMBL1592760 | \n",
+ " CHEMBL1494529 | \n",
+ " CHEMBL1365979 | \n",
+ " O=c1c(CCc2ccccc2)nc2cncnc2n1-c1ccccc1 | \n",
+ " O=c1c(CCc2ccccc2)nc2cncnc2n1C1CC1 | \n",
+ " Cc1nc2cncnc2n(C2CC2)c1=O | \n",
+ " Cc1nc2cncnc2n(-c2ccccc2)c1=O | \n",
+ " | \n",
+ " [*:1]c1ccccc1>>[*:1]C1CC1 | \n",
+ " [*:1]CCc1ccccc1>>[*:1]C | \n",
+ " VALUE | \n",
+ " 4.6 | \n",
+ " 4.6 | \n",
+ " 5.1 | \n",
+ " 4.4 | \n",
+ " 0.7 | \n",
+ " CHEMBL1515287_CHEMBL1592760_CHEMBL1494529_CHEM... | \n",
+ " 1.180 | \n",
+ "
\n",
+ " \n",
+ " 4082 | \n",
+ " CHEMBL1494529 | \n",
+ " CHEMBL1365979 | \n",
+ " CHEMBL1490139 | \n",
+ " CHEMBL1358588 | \n",
+ " Cc1nc2cncnc2n(C2CC2)c1=O | \n",
+ " Cc1nc2cncnc2n(-c2ccccc2)c1=O | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1-c1ccccc1 | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 | \n",
+ " | \n",
+ " [*:1]C1CC1>>[*:1]c1ccccc1 | \n",
+ " [*:1]C>>[*:1]c1cccs1 | \n",
+ " VALUE | \n",
+ " 5.1 | \n",
+ " 4.4 | \n",
+ " 5.0 | \n",
+ " 4.8 | \n",
+ " 0.9 | \n",
+ " CHEMBL1494529_CHEMBL1365979_CHEMBL1490139_CHEM... | \n",
+ " 1.420 | \n",
+ "
\n",
+ " \n",
+ " 4083 | \n",
+ " CHEMBL1490139 | \n",
+ " CHEMBL1358588 | \n",
+ " CHEMBL1592760 | \n",
+ " CHEMBL1515287 | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1-c1ccccc1 | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 | \n",
+ " O=c1c(CCc2ccccc2)nc2cncnc2n1C1CC1 | \n",
+ " O=c1c(CCc2ccccc2)nc2cncnc2n1-c1ccccc1 | \n",
+ " | \n",
+ " [*:1]c1ccccc1>>[*:1]C1CC1 | \n",
+ " [*:1]c1cccs1>>[*:1]CCc1ccccc1 | \n",
+ " VALUE | \n",
+ " 5.0 | \n",
+ " 4.8 | \n",
+ " 4.6 | \n",
+ " 4.6 | \n",
+ " 0.2 | \n",
+ " CHEMBL1490139_CHEMBL1358588_CHEMBL1592760_CHEM... | \n",
+ " 0.357 | \n",
+ "
\n",
+ " \n",
+ " 4084 | \n",
+ " CHEMBL1326100 | \n",
+ " CHEMBL1512693 | \n",
+ " CHEMBL1358588 | \n",
+ " CHEMBL1494529 | \n",
+ " Cc1nc2cnc(N(C)C)nc2n(C2CC2)c1=O | \n",
+ " CN(C)c1ncc2nc(-c3cccs3)c(=O)n(C3CC3)c2n1 | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 | \n",
+ " Cc1nc2cncnc2n(C2CC2)c1=O | \n",
+ " | \n",
+ " [*:1]C>>[*:1]c1cccs1 | \n",
+ " [*:1]N(C)C>>[*:1][H] | \n",
+ " VALUE | \n",
+ " 4.8 | \n",
+ " 5.5 | \n",
+ " 4.8 | \n",
+ " 5.1 | \n",
+ " -1.0 | \n",
+ " CHEMBL1326100_CHEMBL1512693_CHEMBL1358588_CHEM... | \n",
+ " -1.490 | \n",
+ "
\n",
+ " \n",
+ " 4085 | \n",
+ " CHEMBL1316562 | \n",
+ " CHEMBL1355909 | \n",
+ " CHEMBL1490139 | \n",
+ " CHEMBL1358588 | \n",
+ " O=c1c(-c2cccs2)nc2cnc(N3CCNCC3)nc2n1C1CC1 | \n",
+ " O=c1c(-c2cccs2)nc2cnc(N3CCNCC3)nc2n1-c1ccccc1 | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1-c1ccccc1 | \n",
+ " O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 | \n",
+ " | \n",
+ " [*:1]C1CC1>>[*:1]c1ccccc1 | \n",
+ " [*:1]N1CCNCC1>>[*:1][H] | \n",
+ " VALUE | \n",
+ " 6.9 | \n",
+ " 4.7 | \n",
+ " 5.0 | \n",
+ " 4.8 | \n",
+ " 2.4 | \n",
+ " CHEMBL1316562_CHEMBL1355909_CHEMBL1490139_CHEM... | \n",
+ " 2.590 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
4086 rows × 19 columns
\n",
+ "
"
+ ],
"text/plain": [
- "'./naa/ChEMBL_1614027/ChEMBL_1614027_NAA_output.csv'"
+ " Compound1 Compound2 Compound3 Compound4 \\\n",
+ "0 CHEMBL1531070 CHEMBL1442087 CHEMBL1555369 CHEMBL1330718 \n",
+ "1 CHEMBL1566556 CHEMBL1398066 CHEMBL1486399 CHEMBL1396358 \n",
+ "2 CHEMBL1592533 CHEMBL1359291 CHEMBL1437906 CHEMBL1403280 \n",
+ "3 CHEMBL1592533 CHEMBL1315700 CHEMBL1564545 CHEMBL1403280 \n",
+ "4 CHEMBL1437906 CHEMBL1359291 CHEMBL1315700 CHEMBL1564545 \n",
+ "... ... ... ... ... \n",
+ "4081 CHEMBL1515287 CHEMBL1592760 CHEMBL1494529 CHEMBL1365979 \n",
+ "4082 CHEMBL1494529 CHEMBL1365979 CHEMBL1490139 CHEMBL1358588 \n",
+ "4083 CHEMBL1490139 CHEMBL1358588 CHEMBL1592760 CHEMBL1515287 \n",
+ "4084 CHEMBL1326100 CHEMBL1512693 CHEMBL1358588 CHEMBL1494529 \n",
+ "4085 CHEMBL1316562 CHEMBL1355909 CHEMBL1490139 CHEMBL1358588 \n",
+ "\n",
+ " SMILES1 \\\n",
+ "0 CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(C(F)(F)F)cc1)c1... \n",
+ "1 CCCC/C=C/C(NC(=O)c1ccccc1)c1ccccc1 \n",
+ "2 COc1ccc(C(=O)N2CCC3(CC2)CCN(c2ccccn2)CC3)cc1 \n",
+ "3 COc1ccc(C(=O)N2CCC3(CC2)CCN(c2ccccn2)CC3)cc1 \n",
+ "4 Cn1cccc1C(=O)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 \n",
+ "... ... \n",
+ "4081 O=c1c(CCc2ccccc2)nc2cncnc2n1-c1ccccc1 \n",
+ "4082 Cc1nc2cncnc2n(C2CC2)c1=O \n",
+ "4083 O=c1c(-c2cccs2)nc2cncnc2n1-c1ccccc1 \n",
+ "4084 Cc1nc2cnc(N(C)C)nc2n(C2CC2)c1=O \n",
+ "4085 O=c1c(-c2cccs2)nc2cnc(N3CCNCC3)nc2n1C1CC1 \n",
+ "\n",
+ " SMILES2 \\\n",
+ "0 CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(C(F)(F)F)cc1)c1... \n",
+ "1 CCCC[C@@H]1C[C@H]1C(NC(=O)c1ccccc1)c1ccccc1 \n",
+ "2 Cn1cccc1C(=O)N1CCC2(CC1)CCN(c1ccccn1)CC2 \n",
+ "3 O=C(c1ccncc1)N1CCC2(CC1)CCN(c1ccccn1)CC2 \n",
+ "4 Cn1cccc1C(=O)N1CCC2(CC1)CCN(c1ccccn1)CC2 \n",
+ "... ... \n",
+ "4081 O=c1c(CCc2ccccc2)nc2cncnc2n1C1CC1 \n",
+ "4082 Cc1nc2cncnc2n(-c2ccccc2)c1=O \n",
+ "4083 O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 \n",
+ "4084 CN(C)c1ncc2nc(-c3cccs3)c(=O)n(C3CC3)c2n1 \n",
+ "4085 O=c1c(-c2cccs2)nc2cnc(N3CCNCC3)nc2n1-c1ccccc1 \n",
+ "\n",
+ " SMILES3 \\\n",
+ "0 CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(Cl)cc1)c1ccc(C(... \n",
+ "1 CCCC[C@@H]1C[C@H]1C(NC(=O)c1ccco1)c1ccccc1 \n",
+ "2 Cn1cccc1C(=O)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 \n",
+ "3 O=C(c1ccncc1)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 \n",
+ "4 O=C(c1ccncc1)N1CCC2(CC1)CCN(c1ccccn1)CC2 \n",
+ "... ... \n",
+ "4081 Cc1nc2cncnc2n(C2CC2)c1=O \n",
+ "4082 O=c1c(-c2cccs2)nc2cncnc2n1-c1ccccc1 \n",
+ "4083 O=c1c(CCc2ccccc2)nc2cncnc2n1C1CC1 \n",
+ "4084 O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 \n",
+ "4085 O=c1c(-c2cccs2)nc2cncnc2n1-c1ccccc1 \n",
+ "\n",
+ " SMILES4 Series \\\n",
+ "0 CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(Cl)cc1)c1ccccc1 \n",
+ "1 CCCC/C=C/C(NC(=O)c1ccco1)c1ccccc1 \n",
+ "2 COc1ccc(C(=O)N2CCC3(CCN(Cc4ccncc4)CC3)CC2)cc1 \n",
+ "3 COc1ccc(C(=O)N2CCC3(CCN(Cc4ccncc4)CC3)CC2)cc1 \n",
+ "4 O=C(c1ccncc1)N1CCC2(CCN(Cc3ccncc3)CC2)CC1 \n",
+ "... ... ... \n",
+ "4081 Cc1nc2cncnc2n(-c2ccccc2)c1=O \n",
+ "4082 O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 \n",
+ "4083 O=c1c(CCc2ccccc2)nc2cncnc2n1-c1ccccc1 \n",
+ "4084 Cc1nc2cncnc2n(C2CC2)c1=O \n",
+ "4085 O=c1c(-c2cccs2)nc2cncnc2n1C1CC1 \n",
+ "\n",
+ " Transformation1 Transformation2 \\\n",
+ "0 [*:1][H]>>[*:1]C(=O)OC [*:1]C(F)(F)F>>[*:1]Cl \n",
+ "1 [*:1]/C=C/CCCC>>[*:1][C@@H]1C[C@H]1CCCC [*:1]c1ccccc1>>[*:1]c1ccco1 \n",
+ "2 [*:1]c1ccc(OC)cc1>>[*:1]c1cccn1C [*:1]c1ccccn1>>[*:1]Cc1ccncc1 \n",
+ "3 [*:1]c1ccc(OC)cc1>>[*:1]c1ccncc1 [*:1]c1ccccn1>>[*:1]Cc1ccncc1 \n",
+ "4 [*:1]Cc1ccncc1>>[*:1]c1ccccn1 [*:1]c1cccn1C>>[*:1]c1ccncc1 \n",
+ "... ... ... \n",
+ "4081 [*:1]c1ccccc1>>[*:1]C1CC1 [*:1]CCc1ccccc1>>[*:1]C \n",
+ "4082 [*:1]C1CC1>>[*:1]c1ccccc1 [*:1]C>>[*:1]c1cccs1 \n",
+ "4083 [*:1]c1ccccc1>>[*:1]C1CC1 [*:1]c1cccs1>>[*:1]CCc1ccccc1 \n",
+ "4084 [*:1]C>>[*:1]c1cccs1 [*:1]N(C)C>>[*:1][H] \n",
+ "4085 [*:1]C1CC1>>[*:1]c1ccccc1 [*:1]N1CCNCC1>>[*:1][H] \n",
+ "\n",
+ " Property Prop_Cpd1 Prop_Cpd2 Prop_Cpd3 Prop_Cpd4 Nonadditivity \\\n",
+ "0 VALUE 5.1 5.5 5.5 5.6 -0.5 \n",
+ "1 VALUE 5.0 5.1 4.8 4.8 -0.1 \n",
+ "2 VALUE 4.4 4.5 5.0 5.1 -0.2 \n",
+ "3 VALUE 4.4 5.0 4.7 5.1 -1.0 \n",
+ "4 VALUE 5.0 4.5 5.0 4.7 0.8 \n",
+ "... ... ... ... ... ... ... \n",
+ "4081 VALUE 4.6 4.6 5.1 4.4 0.7 \n",
+ "4082 VALUE 5.1 4.4 5.0 4.8 0.9 \n",
+ "4083 VALUE 5.0 4.8 4.6 4.6 0.2 \n",
+ "4084 VALUE 4.8 5.5 4.8 5.1 -1.0 \n",
+ "4085 VALUE 6.9 4.7 5.0 4.8 2.4 \n",
+ "\n",
+ " Circle_ID Theo_Quantile \n",
+ "0 CHEMBL1531070_CHEMBL1442087_CHEMBL1555369_CHEM... -0.872 \n",
+ "1 CHEMBL1566556_CHEMBL1398066_CHEMBL1486399_CHEM... -0.160 \n",
+ "2 CHEMBL1592533_CHEMBL1359291_CHEMBL1437906_CHEM... -0.327 \n",
+ "3 CHEMBL1592533_CHEMBL1315700_CHEMBL1564545_CHEM... -1.530 \n",
+ "4 CHEMBL1437906_CHEMBL1359291_CHEMBL1315700_CHEM... 1.330 \n",
+ "... ... ... \n",
+ "4081 CHEMBL1515287_CHEMBL1592760_CHEMBL1494529_CHEM... 1.180 \n",
+ "4082 CHEMBL1494529_CHEMBL1365979_CHEMBL1490139_CHEM... 1.420 \n",
+ "4083 CHEMBL1490139_CHEMBL1358588_CHEMBL1592760_CHEM... 0.357 \n",
+ "4084 CHEMBL1326100_CHEMBL1512693_CHEMBL1358588_CHEM... -1.490 \n",
+ "4085 CHEMBL1316562_CHEMBL1355909_CHEMBL1490139_CHEM... 2.590 \n",
+ "\n",
+ "[4086 rows x 19 columns]"
]
},
- "execution_count": 43,
+ "execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "infile = my_path+my_name+'_curated.csv'\n",
- "outfile = my_path+my_name+'_NAA_output.csv'\n",
- "\n",
- "naa(infile, outfile, 'VALUE', 'noconv', 'comma')"
+ "MAIN, PC, _ = run_nonadd_calculation_helper(\n",
+ " infile=infile,\n",
+ " props=['VALUE'],\n",
+ " units=['noconv'],\n",
+ ")\n",
+ "MAIN"
]
},
{
@@ -580,16 +804,6 @@
"### Generate plots for analysing NAA output"
]
},
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {},
- "outputs": [],
- "source": [
- "curated = my_path+my_name+'_curated.csv'\n",
- "curated = pd.read_csv(curated, sep=',')"
- ]
- },
{
"cell_type": "markdown",
"metadata": {},
@@ -601,185 +815,2785 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"add_thrs = 0\n",
"exp_noise = 0.5\n",
- "significant_thrs = 2*exp_noise\n",
- "strong_thrs = 2*significant_thrs"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [],
- "source": [
- "MAIN = my_path+my_name+'_NAA_output.csv'\n",
- "MAIN = pd.read_csv(MAIN, sep='\\t')\n",
+ "significant_thrs = 2 * exp_noise\n",
+ "strong_thrs = 2 * significant_thrs\n",
"\n",
"MAIN['Nonadditivity_abs'] = MAIN['Nonadditivity'].abs()\n",
- "MAIN_log0 = MAIN[MAIN['Nonadditivity_abs'] > add_thrs]\n",
- "MAIN_log1 = MAIN[MAIN['Nonadditivity_abs'] > significant_thrs]\n",
- "MAIN_log2 = MAIN_log1[MAIN_log1['Nonadditivity_abs'] > strong_thrs]"
+ "MAIN_log0 = MAIN[MAIN['Nonadditivity'].abs() > add_thrs]\n",
+ "MAIN_log1 = MAIN[MAIN['Nonadditivity'].abs() > significant_thrs]\n",
+ "MAIN_log2 = MAIN[MAIN['Nonadditivity'].abs() > strong_thrs]"
]
},
{
- "cell_type": "code",
- "execution_count": 21,
+ "cell_type": "markdown",
"metadata": {},
- "outputs": [],
"source": [
- "PC = my_path+my_name+'_NAA_output_perCompound.txt'\n",
- "PC = pd.read_csv(PC, sep='\\t')\n",
- "\n",
- "PC['Nonadd_abs'] = PC['Nonadd_pC'].abs()\n",
- "PC['CI'] = (2*2*exp_noise/(np.sqrt(PC['nOccurence'])))\n",
- "PC['CI_2'] = (2*2*exp_noise/(np.sqrt(PC['nOccurence'])))*3\n",
- "PC = PC.sort_values(by=['CI'], ascending=False)\n",
- "\n",
- "PC_log0 = PC[PC['Nonadd_abs'] > add_thrs]\n",
- "PC_log1 = PC[PC['Nonadd_abs'] > significant_thrs]\n",
- "PC_log2 = PC_log1[PC_log1['Nonadd_abs'] > strong_thrs]"
+ "### Check for normality "
]
},
{
"cell_type": "code",
- "execution_count": 22,
+ "execution_count": 10,
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "2876 compounds\n",
- "4086 cycles\n",
- "486 cycles with significant NA score ( 11.9 % )\n",
- "76 unique compounds show significant NA shift ( 2.6 % )\n",
- "13 unique compounds show strong NA ( 0.5 % )\n"
- ]
+ "data": {
+ "text/plain": [
+ "DescribeResult(nobs=4086, minmax=(-4.2, 3.4), mean=-0.006044999812457169, variance=0.528509343779737, skewness=-0.24855197856455374, kurtosis=3.212947149974866)"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
}
],
"source": [
- "print(len(curated.iloc[:,0]), 'compounds')\n",
- "print(len(MAIN.iloc[:,0]), 'cycles')\n",
- "print(len(MAIN_log1.iloc[:,0]), 'cycles with significant NA score', '(',round(len(MAIN_log1.iloc[:,0])/len(MAIN.iloc[:,0])*100,1), '% )')\n",
- "print(len(PC_log1['Compound_ID'].value_counts()), 'unique compounds show significant NA shift', '(',round(len(PC_log1['Compound_ID'])/len(curated.iloc[:,0])*100,1), '% )')\n",
- "print(len(PC_log2['Compound_ID'].value_counts()), 'unique compounds show strong NA', '(',round(len(PC_log2['Compound_ID'])/len(curated.iloc[:,0])*100,1), '% )')"
+ "MAIN_array = MAIN['Nonadditivity'].values\n",
+ "stats.describe(MAIN_array, axis=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Check for normality "
+ "### Nonadditivity Distribution\n",
+ "\n",
+ "normal distribution parameters depend on significant treshold"
]
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 11,
"metadata": {},
"outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/Users/cthoyt/.virtualenvs/cheminf/lib/python3.8/site-packages/seaborn/distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n",
+ " warnings.warn(msg, FutureWarning)\n",
+ "/Users/cthoyt/.virtualenvs/cheminf/lib/python3.8/site-packages/seaborn/distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `kdeplot` (an axes-level function for kernel density plots).\n",
+ " warnings.warn(msg, FutureWarning)\n"
+ ]
+ },
{
"data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n"
+ ],
"text/plain": [
- "DescribeResult(nobs=4086, minmax=(-4.2, 3.7), mean=-0.008981839302667646, variance=0.5284652015619267, skewness=-0.18666235101379203, kurtosis=3.212527050178692)"
+ ""
]
},
- "execution_count": 23,
"metadata": {},
- "output_type": "execute_result"
+ "output_type": "display_data"
}
],
"source": [
- "MAIN_array = MAIN['Nonadditivity'].values\n",
- "stats.describe(MAIN_array, axis=0)"
+ "fig, ax = NA_distribution(MAIN['Nonadditivity'], significant_thrs)\n",
+ "ax.set_title(f'{assay_chembl_id}\\n{ax.get_title()}')\n",
+ "# fig.savefig('nonadditivity_distribution.png', dpi=300)\n",
+ "plt.show()"
]
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 12,
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Statistics=335.764, p=0.000\n",
- "Sample does not look Gaussian (reject H0)\n"
- ]
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Compound_ID | \n",
+ " SMILES | \n",
+ " Series | \n",
+ " Property | \n",
+ " Operator | \n",
+ " Measured | \n",
+ " Nonadd_pC | \n",
+ " nOccurence | \n",
+ " Nonadd_SD | \n",
+ " Nonadd_abs | \n",
+ " CI | \n",
+ " CI_2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " CHEMBL1531070 | \n",
+ " CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(C(F)(F)F)cc1)c1... | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.1 | \n",
+ " -0.500000 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 0.500000 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 297 | \n",
+ " CHEMBL1568735 | \n",
+ " COc1cccc(-c2nc(=NCc3ccccc3OC)cc[nH]2)c1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.9 | \n",
+ " -1.800000 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 1.800000 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 281 | \n",
+ " CHEMBL1552519 | \n",
+ " c1ccc(CN=c2[nH]cnc3ccc(-c4ccoc4)cc23)cc1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.8 | \n",
+ " 0.000047 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 0.000047 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 282 | \n",
+ " CHEMBL1370296 | \n",
+ " Cc1cccc(CN=c2[nH]cnc3ccc(-c4ccoc4)cc23)c1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " -0.000047 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 0.000047 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 283 | \n",
+ " CHEMBL491771 | \n",
+ " Cc1cccc(CN=c2[nH]cnc3ccc(-c4cccc(NS(C)(=O)=O)c... | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 6.3 | \n",
+ " 1.700000 | \n",
+ " 1 | \n",
+ " 0.00 | \n",
+ " 1.700000 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 531 | \n",
+ " CHEMBL1490528 | \n",
+ " COCCn1c(=O)c(-c2cccs2)nc2cnc(N3CCNCC3)nc21 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.7 | \n",
+ " 0.310000 | \n",
+ " 67 | \n",
+ " 0.76 | \n",
+ " 0.310000 | \n",
+ " 0.244339 | \n",
+ " 0.733017 | \n",
+ "
\n",
+ " \n",
+ " 464 | \n",
+ " CHEMBL1433704 | \n",
+ " COCCn1c(=O)c(-c2ccccc2)nc2cnc(Oc3ccccc3)nc21 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.0 | \n",
+ " -0.210000 | \n",
+ " 67 | \n",
+ " 0.39 | \n",
+ " 0.210000 | \n",
+ " 0.244339 | \n",
+ " 0.733017 | \n",
+ "
\n",
+ " \n",
+ " 428 | \n",
+ " CHEMBL1481510 | \n",
+ " O=c1c(-c2ccccc2)nc2cnc(N3CCNCC3)nc2n1C1CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 6.8 | \n",
+ " 0.970000 | \n",
+ " 67 | \n",
+ " 0.84 | \n",
+ " 0.970000 | \n",
+ " 0.244339 | \n",
+ " 0.733017 | \n",
+ "
\n",
+ " \n",
+ " 470 | \n",
+ " CHEMBL1472732 | \n",
+ " COCCn1c(=O)c(-c2ccccc2)nc2cnc(N3CCNCC3)nc21 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.5 | \n",
+ " 0.002900 | \n",
+ " 69 | \n",
+ " 0.68 | \n",
+ " 0.002900 | \n",
+ " 0.240772 | \n",
+ " 0.722315 | \n",
+ "
\n",
+ " \n",
+ " 545 | \n",
+ " CHEMBL1396809 | \n",
+ " COc1cccc(Cn2c(=O)c(CCc3ccccc3)nc3cncnc32)c1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 4.9 | \n",
+ " -0.047000 | \n",
+ " 73 | \n",
+ " 0.52 | \n",
+ " 0.047000 | \n",
+ " 0.234082 | \n",
+ " 0.702247 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
941 rows × 12 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Compound_ID SMILES Series \\\n",
+ "0 CHEMBL1531070 CCC/C=C(\\CCC)C(NS(=O)(=O)c1ccc(C(F)(F)F)cc1)c1... NaN \n",
+ "297 CHEMBL1568735 COc1cccc(-c2nc(=NCc3ccccc3OC)cc[nH]2)c1 NaN \n",
+ "281 CHEMBL1552519 c1ccc(CN=c2[nH]cnc3ccc(-c4ccoc4)cc23)cc1 NaN \n",
+ "282 CHEMBL1370296 Cc1cccc(CN=c2[nH]cnc3ccc(-c4ccoc4)cc23)c1 NaN \n",
+ "283 CHEMBL491771 Cc1cccc(CN=c2[nH]cnc3ccc(-c4cccc(NS(C)(=O)=O)c... NaN \n",
+ ".. ... ... ... \n",
+ "531 CHEMBL1490528 COCCn1c(=O)c(-c2cccs2)nc2cnc(N3CCNCC3)nc21 NaN \n",
+ "464 CHEMBL1433704 COCCn1c(=O)c(-c2ccccc2)nc2cnc(Oc3ccccc3)nc21 NaN \n",
+ "428 CHEMBL1481510 O=c1c(-c2ccccc2)nc2cnc(N3CCNCC3)nc2n1C1CC1 NaN \n",
+ "470 CHEMBL1472732 COCCn1c(=O)c(-c2ccccc2)nc2cnc(N3CCNCC3)nc21 NaN \n",
+ "545 CHEMBL1396809 COc1cccc(Cn2c(=O)c(CCc3ccccc3)nc3cncnc32)c1 NaN \n",
+ "\n",
+ " Property Operator Measured Nonadd_pC nOccurence Nonadd_SD \\\n",
+ "0 VALUE NaN 5.1 -0.500000 1 0.00 \n",
+ "297 VALUE NaN 5.9 -1.800000 1 0.00 \n",
+ "281 VALUE NaN 5.8 0.000047 1 0.00 \n",
+ "282 VALUE NaN 6.0 -0.000047 1 0.00 \n",
+ "283 VALUE NaN 6.3 1.700000 1 0.00 \n",
+ ".. ... ... ... ... ... ... \n",
+ "531 VALUE NaN 5.7 0.310000 67 0.76 \n",
+ "464 VALUE NaN 5.0 -0.210000 67 0.39 \n",
+ "428 VALUE NaN 6.8 0.970000 67 0.84 \n",
+ "470 VALUE NaN 5.5 0.002900 69 0.68 \n",
+ "545 VALUE NaN 4.9 -0.047000 73 0.52 \n",
+ "\n",
+ " Nonadd_abs CI CI_2 \n",
+ "0 0.500000 2.000000 6.000000 \n",
+ "297 1.800000 2.000000 6.000000 \n",
+ "281 0.000047 2.000000 6.000000 \n",
+ "282 0.000047 2.000000 6.000000 \n",
+ "283 1.700000 2.000000 6.000000 \n",
+ ".. ... ... ... \n",
+ "531 0.310000 0.244339 0.733017 \n",
+ "464 0.210000 0.244339 0.733017 \n",
+ "428 0.970000 0.244339 0.733017 \n",
+ "470 0.002900 0.240772 0.722315 \n",
+ "545 0.047000 0.234082 0.702247 \n",
+ "\n",
+ "[941 rows x 12 columns]"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
}
],
"source": [
- "stat, p = normaltest(MAIN_array)\n",
- "print('Statistics=%.3f, p=%.3f' % (stat, p))\n",
- "\n",
- "alpha = 0.05\n",
- "if p > alpha:\n",
- " print('Sample looks Gaussian (fail to reject H0)')\n",
- "else:\n",
- " print('Sample does not look Gaussian (reject H0)')"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Nonadditivity Distribution\n",
- "\n",
- "normal distribution parameters depend on significant treshold"
+ "PC['Nonadd_abs'] = PC['Nonadd_pC'].abs()\n",
+ "PC['CI'] = (2*2*exp_noise/(np.sqrt(PC['nOccurence'])))\n",
+ "PC['CI_2'] = (2*2*exp_noise/(np.sqrt(PC['nOccurence']))) * 3\n",
+ "PC = PC.sort_values(by=['CI'], ascending=False)\n",
+ "PC"
]
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
- "def NA_distribution(x, hist=True, kde=True, ins=int(100/5), color='crimson', kde_kws={'shade': True, 'linewidth': 2}):\n",
- " sns.set_style('ticks')\n",
- " fig, ax = plt.subplots(1,1)\n",
- " fig.set_size_inches(10, 8)\n",
- " sns.distplot(x, hist=True, kde=True,\n",
- " bins=int(100/5), color='crimson',\n",
- " kde_kws={'shade': True, 'linewidth': 2})\n",
- " sns.distplot(normal_dist, hist=False, kde=True,\n",
- " color='grey',\n",
- " kde_kws={'shade': True, 'linewidth': 2})\n",
- "\n",
- " legend = ['Real','Theoretical']\n",
- "\n",
- " plt.legend(legend, prop={'size': 20}) #title = '')\n",
- " plt.title('', size=30)\n",
- " plt.xlabel('Nonadditivity', size=25)\n",
- " plt.ylabel('Density', size=25)\n",
- " \n",
- " plt.show()"
+ "PC_log0 = PC[PC['Nonadd_pC'].abs() > add_thrs]\n",
+ "PC_log1 = PC[PC['Nonadd_pC'].abs() > significant_thrs]\n",
+ "PC_log2 = PC[PC['Nonadd_pC'].abs() > strong_thrs]"
]
},
{
"cell_type": "code",
- "execution_count": 26,
+ "execution_count": 14,
"metadata": {},
"outputs": [
{
- "data": {
- "image/png": "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C+w1bKuIoK19iE8//TT5+flceumleDyedse3LIurrrqK/Px8/vznPwceb69gIT8/n5/97GcAHD9+vFVcjz/+OF6vlyuuuIL8/Hz+9re/nfXnf+WVV8jPz+e8886jrq7urNeKyGlaNhURAGbMmMGFF17I+vXrefTRRzu1p6mmpobvfOc7rF+/HgC73U5iYiIlJSUsXbqUpUuX8vWvf52f/vSn7d7D6/Xy3e9+lxUrVuBwOIiLi6Ouro4tW7awZcsWDh8+zPe///1Wr/vd737Hv/71r8D3SUlJeL1ejhw5wpEjR3jzzTd59NFHmT17dpvjPv744zzxxBOB71NSUjhw4ACPPvooq1evZurUqe3GbFkWP//5z1m0aBEAhmGQkpLC9u3bKSgoYN26dcTExJz9D+8zEhISyMrKory8HNM0SUpKIi4urlP3uOGGG/jd735HWVkZH374IVdeeWWb123YsIETJ05gGAY33njjOe+blZVFY2MjtbW12Gw2MjIyWsVut9u57bbbeOKJJ3j11Ve56667MAyjzfu98sorAFx//fUkJiZ26mcU6cs08yYiAf/5n/8J+GZe1qxZ0+HX3Xfffaxfvx6n08n999/Ppk2b2LBhAx988AG33HILAP/4xz9YsGBBu/d48cUXWb9+PY888gibNm1i06ZNrF69mquuugqAv/zlLxQWFrZ63aBBg/j2t7/N66+/zqeffsqmTZvYtm0bb731FjfccAMul4t77723zUraFStWBBK3a6+9llWrVrFhwwY2bdrEAw88wJYtW84a8/PPPx9I3O68804++ugj1q9fz/r16/ne977H22+/zYoVKzr85wjwjW98g7Vr19K/f3/A92e7du3aFh/nkpWVxWWXXQZw1llL/3Pnn38+gwYNOud9165dy3333Qf4lto/G9c3vvENAG6//XYcDgeFhYXtzrru2bOHrVu3AjBv3rxzji0ipyl5E5GAyZMnM2vWLAB+//vfn3PZD6CgoIClS5cC8Itf/IIvfelLgcrHfv368fDDDwdmvf7whz/Q1NTU5n2qqqp44okn+MIXvhCYacrNzeWPf/wj2dnZmKbJO++80+p199xzD//xH//B2LFjSUhIAHzLwKNGjeLRRx/lyiuvpL6+ntdee63Va3//+98DcOGFF/LYY48FEqa4uDi++MUvcv/991NdXd1mvE1NTYHq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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2876 compounds\n",
+ "4086 cycles\n",
+ "486 cycles with significant NA score ( 11.9 % )\n",
+ "76 unique compounds show significant NA shift ( 2.6 % )\n",
+ "13 unique compounds show strong NA ( 0.5 % )\n"
+ ]
}
],
"source": [
- "n_of_cycles = len(MAIN.iloc[:,0])\n",
- "normal_dist = np.random.normal(loc=0,scale=significant_thrs,size=n_of_cycles)\n",
- "\n",
- "NA_distribution(MAIN['Nonadditivity'])"
+ "print(len(df.iloc[:,0]), 'compounds')\n",
+ "print(len(MAIN.iloc[:,0]), 'cycles')\n",
+ "print(len(MAIN_log1.iloc[:,0]), 'cycles with significant NA score', '(',round(len(MAIN_log1.iloc[:,0])/len(MAIN.iloc[:,0])*100,1), '% )')\n",
+ "print(len(PC_log1['Compound_ID'].value_counts()), 'unique compounds show significant NA shift', '(',round(len(PC_log1['Compound_ID'])/len(df.iloc[:,0])*100,1), '% )')\n",
+ "print(len(PC_log2['Compound_ID'].value_counts()), 'unique compounds show strong NA', '(',round(len(PC_log2['Compound_ID'])/len(df.iloc[:,0])*100,1), '% )')"
]
},
{
@@ -791,39 +3605,528 @@
},
{
"cell_type": "code",
- "execution_count": 27,
+ "execution_count": 15,
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "395 compounds\n"
- ]
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Compound_ID | \n",
+ " SMILES | \n",
+ " Series | \n",
+ " Property | \n",
+ " Operator | \n",
+ " Measured | \n",
+ " Nonadd_pC | \n",
+ " nOccurence | \n",
+ " Nonadd_SD | \n",
+ " Nonadd_abs | \n",
+ " CI | \n",
+ " CI_2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 862 | \n",
+ " CHEMBL1396862 | \n",
+ " O=S(=O)(c1ccccc1)N1CCC2(CCCN(Cc3ccncc3)C2)CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 7.1 | \n",
+ " 2.80 | \n",
+ " 1 | \n",
+ " 0.000000e+00 | \n",
+ " 2.80 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 863 | \n",
+ " CHEMBL1473753 | \n",
+ " O=S(=O)(c1ccccc1)N1CCC2(CCCN(c3ccncc3)C2)CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.4 | \n",
+ " -2.80 | \n",
+ " 1 | \n",
+ " 0.000000e+00 | \n",
+ " 2.80 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 864 | \n",
+ " CHEMBL1553056 | \n",
+ " CS(=O)(=O)N1CCC2(CCCN(c3ccncc3)C2)CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 7.1 | \n",
+ " 2.80 | \n",
+ " 1 | \n",
+ " 0.000000e+00 | \n",
+ " 2.80 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 865 | \n",
+ " CHEMBL1435702 | \n",
+ " CS(=O)(=O)N1CCC2(CCCN(Cc3ccncc3)C2)CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 6.0 | \n",
+ " -2.80 | \n",
+ " 1 | \n",
+ " 0.000000e+00 | \n",
+ " 2.80 | \n",
+ " 2.000000 | \n",
+ " 6.000000 | \n",
+ "
\n",
+ " \n",
+ " 612 | \n",
+ " CHEMBL1316759 | \n",
+ " COc1ncc2nc(C)c(=O)n(CCC#N)c2n1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 6.5 | \n",
+ " 2.80 | \n",
+ " 2 | \n",
+ " 3.100000e-07 | \n",
+ " 2.80 | \n",
+ " 1.414214 | \n",
+ " 4.242641 | \n",
+ "
\n",
+ " \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " 532 | \n",
+ " CHEMBL1554236 | \n",
+ " COCCn1c(=O)c(-c2cc(F)cc(F)c2)nc2cnc(N3CCNCC3)nc21 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.9 | \n",
+ " 0.66 | \n",
+ " 63 | \n",
+ " 7.800000e-01 | \n",
+ " 0.66 | \n",
+ " 0.251976 | \n",
+ " 0.755929 | \n",
+ "
\n",
+ " \n",
+ " 447 | \n",
+ " CHEMBL1434801 | \n",
+ " O=c1c(CCc2ccccc2)nc2cnc(N3CCNCC3)nc2n1C1CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.0 | \n",
+ " -0.50 | \n",
+ " 63 | \n",
+ " 9.900000e-01 | \n",
+ " 0.50 | \n",
+ " 0.251976 | \n",
+ " 0.755929 | \n",
+ "
\n",
+ " \n",
+ " 559 | \n",
+ " CHEMBL1405464 | \n",
+ " COc1cccc(Cn2c(=O)c(-c3cccs3)nc3cncnc32)c1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.6 | \n",
+ " 0.36 | \n",
+ " 64 | \n",
+ " 7.600000e-01 | \n",
+ " 0.36 | \n",
+ " 0.250000 | \n",
+ " 0.750000 | \n",
+ "
\n",
+ " \n",
+ " 531 | \n",
+ " CHEMBL1490528 | \n",
+ " COCCn1c(=O)c(-c2cccs2)nc2cnc(N3CCNCC3)nc21 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 5.7 | \n",
+ " 0.31 | \n",
+ " 67 | \n",
+ " 7.600000e-01 | \n",
+ " 0.31 | \n",
+ " 0.244339 | \n",
+ " 0.733017 | \n",
+ "
\n",
+ " \n",
+ " 428 | \n",
+ " CHEMBL1481510 | \n",
+ " O=c1c(-c2ccccc2)nc2cnc(N3CCNCC3)nc2n1C1CC1 | \n",
+ " NaN | \n",
+ " VALUE | \n",
+ " NaN | \n",
+ " 6.8 | \n",
+ " 0.97 | \n",
+ " 67 | \n",
+ " 8.400000e-01 | \n",
+ " 0.97 | \n",
+ " 0.244339 | \n",
+ " 0.733017 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
168 rows × 12 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Compound_ID SMILES Series \\\n",
+ "862 CHEMBL1396862 O=S(=O)(c1ccccc1)N1CCC2(CCCN(Cc3ccncc3)C2)CC1 NaN \n",
+ "863 CHEMBL1473753 O=S(=O)(c1ccccc1)N1CCC2(CCCN(c3ccncc3)C2)CC1 NaN \n",
+ "864 CHEMBL1553056 CS(=O)(=O)N1CCC2(CCCN(c3ccncc3)C2)CC1 NaN \n",
+ "865 CHEMBL1435702 CS(=O)(=O)N1CCC2(CCCN(Cc3ccncc3)C2)CC1 NaN \n",
+ "612 CHEMBL1316759 COc1ncc2nc(C)c(=O)n(CCC#N)c2n1 NaN \n",
+ ".. ... ... ... \n",
+ "532 CHEMBL1554236 COCCn1c(=O)c(-c2cc(F)cc(F)c2)nc2cnc(N3CCNCC3)nc21 NaN \n",
+ "447 CHEMBL1434801 O=c1c(CCc2ccccc2)nc2cnc(N3CCNCC3)nc2n1C1CC1 NaN \n",
+ "559 CHEMBL1405464 COc1cccc(Cn2c(=O)c(-c3cccs3)nc3cncnc32)c1 NaN \n",
+ "531 CHEMBL1490528 COCCn1c(=O)c(-c2cccs2)nc2cnc(N3CCNCC3)nc21 NaN \n",
+ "428 CHEMBL1481510 O=c1c(-c2ccccc2)nc2cnc(N3CCNCC3)nc2n1C1CC1 NaN \n",
+ "\n",
+ " Property Operator Measured Nonadd_pC nOccurence Nonadd_SD \\\n",
+ "862 VALUE NaN 7.1 2.80 1 0.000000e+00 \n",
+ "863 VALUE NaN 5.4 -2.80 1 0.000000e+00 \n",
+ "864 VALUE NaN 7.1 2.80 1 0.000000e+00 \n",
+ "865 VALUE NaN 6.0 -2.80 1 0.000000e+00 \n",
+ "612 VALUE NaN 6.5 2.80 2 3.100000e-07 \n",
+ ".. ... ... ... ... ... ... \n",
+ "532 VALUE NaN 5.9 0.66 63 7.800000e-01 \n",
+ "447 VALUE NaN 5.0 -0.50 63 9.900000e-01 \n",
+ "559 VALUE NaN 5.6 0.36 64 7.600000e-01 \n",
+ "531 VALUE NaN 5.7 0.31 67 7.600000e-01 \n",
+ "428 VALUE NaN 6.8 0.97 67 8.400000e-01 \n",
+ "\n",
+ " Nonadd_abs CI CI_2 \n",
+ "862 2.80 2.000000 6.000000 \n",
+ "863 2.80 2.000000 6.000000 \n",
+ "864 2.80 2.000000 6.000000 \n",
+ "865 2.80 2.000000 6.000000 \n",
+ "612 2.80 1.414214 4.242641 \n",
+ ".. ... ... ... \n",
+ "532 0.66 0.251976 0.755929 \n",
+ "447 0.50 0.251976 0.755929 \n",
+ "559 0.36 0.250000 0.750000 \n",
+ "531 0.31 0.244339 0.733017 \n",
+ "428 0.97 0.244339 0.733017 \n",
+ "\n",
+ "[168 rows x 12 columns]"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
}
],
"source": [
- "ambiguous_compounds = PC.loc[PC['Nonadd_abs'] > PC['CI']]\n",
- "print(len(ambiguous_compounds.iloc[:,0]), 'compounds')\n",
- "outliers = ambiguous_compounds[['SMILES']]\n",
- "\n",
- "#outliers.to_csv(my_path+'outliers.csv', index = False)"
+ "ambiguous_compounds = PC.loc[PC['Nonadd_pC'].abs() > PC['CI']]\n",
+ "ambiguous_compounds"
]
},
{
"cell_type": "code",
- "execution_count": 28,
+ "execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3dZ0AU19oH8P/SREBwVXZZOioiFixgjGJsUSzXxB4rYDdiFEuMxphrjN2gxoKxRSWWINarV41iCRpLFEEQAVF4BYRtytJZhN3zfhjdcFERYWYH8Pw+zQzsOc8a8zi7c87zCAghoCiKoqrKgO8AKIqiajeaRimKoqqFplGKoqhqoWmUoiiqWmgapSiKqhaaRimKoqqFplGKoqhqoWmUomqPS5fQqxf69cPYsVCp+I6GeklAl99TVO0gl8PHB1euoFEjHD+OY8dw8CA0Ghga8h3Zh46mUYqqJXbtglKJxYtfnrZogfh49OyJ+/chkcDaGiLR6wcFEom5hQWvcdd9RnwHQFFU5WRmwtn5n1OxGHI5srKQm4vcXDx8+IaXCAQiIyNiZCQSiSQSibW1tVgstrGx0R3Y2dk1b95cX2+gzqJplKJqCYkEGRn/nMrlEIsRHw+VCnI5FArI5f8cyGRQKjWFhXj0qKiwMDU1NTU19fUhO3bsePfuXf29hTqKplGKqiU+/xz9+iEgAA0b4uRJeHrCyAgAhEIIhWjZ8vVXGAIFQEFBgUwmk8vlSqWy3IG7u7u+30VdRL8bpajaICICcjkaNsTq1TA2RqNGCA5G48Z8h0UBNI1SVC2QnY127ZCWhuPHMXQo39FQ5dF1oxRV4wUEIC0NXbvi88/5DoV6A3o3SlE128GDGD8e5uaIjoarK9/RUG9A70YpqgZ7+hSzZgHA5s00h9ZYNI1SVE2l1cLPDyoVhgzBpEl8R0O9FU2jFFVTBQXhyhWIRNixg+9QqIrQ70YpqkaKi0OnTiguxn//i4ED+Y6Gqgi9G6WoGketVl/44Qeo1Zg5k+bQmo+mUYqqcRYtWtTv2LGVI0di3Tq+Y6HejX6op6iaJTw8vF+/fkZGRtevX+/UqRPf4VDvRu9GKaoGUalUkydPJoQsX76c5tDagt6NUlQNMmrUqLCwsG7duv3555+GtB5zLUHTKEXVFHv37p00aZKVlVVMTIyTkxPf4VCVRdMoRVUFIeTIkSPr169PT08XCoW2trYSieT1A7FYXMmbyv/7v/9r3759bm7ugQMHxo0bx3X8FItoGqWoqtiyZcvs2bNNTU3VanXFvykUCt+YYZkDBwcHY2NjrVbbu3fviIiI4cOHHz16VD9vgWILTaMU9d4SEhI8PT2LiooOHDjg7e0tlUqVSqVCoSh3IJfLs7Ky3jmatbW1iYlJRkaGvb19bGysUCjUw1ugWESr31PU+ykpKfH39y8qKpo2bRrz6du5bIuk16hUqszMTJVKJZVKXz9IT09XKpUArKysPvvsM5pDayN6N0pR72fhwoXr1q1r1qxZdHR0gwYNqjkaIUShUBw7dmzmzJn29vbJyckmJiasxEnpDU2jrEkuKprx6FFzU1MAkyUSz2r/D0bVQNeuXevVq5dAILh27drHH3/M1rCEkI4dO967d2/fvn3+/v5sDUvpB11+zyYvC4ttLVpsa9GC5tA6KScnx9fXV6PRLFmyhMmhGo0mNDS0+vciAoFg3rx5ANasWaPValmIldIjmkYpqrICAgJSU1O9vLwWL17MXFm1atWYMWOmTJlS/cFHjx7t5OSUmJh45syZ6o9G6RNNo2y6m58/69GjWY8eFWg0fMdCsezo0aOHDh0yNzc/ePCgsbExgLt37y5fvtzAwKDKyzw1Gk1YWFhMTAwAY2PjOXPmAFi5ciWLYVP6QCiWPC4s/DY5me8oKE6kp6c3atQIwO7du5kr+fn5bm5uABYsWFDlYVevXg1g2LBhujGbNGkC4K+//mIhaEpf6N0oRb2DVqv19/fPysoaPHjw5MmTmYvz5s17+PBh69atf/zxxyqPPGnSpPr16588eTIhIQGAubn5jBkzAKyj9fFqFZpGKeod1q9ff/nyZZFItONVM49z587t2rWrXr16hw4dMjU1rfLIIpHIz89Pq9Vu2LCBuRIYGGhubn769OkHDx6wEDqlH3zfDtdBf+fmTk5M/Cs7m+9A2HbxIunZk/j4kDFjSFYW39HoSVxcnKmpqUAg+O9//8tcUSgUYrEYwM8//1z98ZOTkw0NDevVq5eRkcFcmTlzJoAJEyZUf3BKP2gaZd9+mcwzMnLqw4d8B8IqmYx4eJDnzwkh5NgxMnYs3wHpg1qt9vDwADBr1izdxUGDBgHo27evVqtlZZYRI0YAWLhwIXOakpJiZGRkbGycmprKyvgU12gaZV9BaWmv6GjPyMiY/Hy+Y2HPzp1k5cp/Tl1dSUkJf9HoSWBgIAB3d/fCwkLmyrZt2wAIhcK0tDS2Zrlz5w4AS0tLlUrFXBkzZgyAefPmsTUFxSn63Sj7zAwNR1hbA9gvk/EdC3syM2Fn98+pWAy5nL9o9CE8PHzz5s3GxsYhISH169cH8Pjx42+++QbA9u3bHRwc2JrIy8urd+/eubm5O3fuZK4sWrRIIBDs2LHj+fPnbM1CcYemUU6MFovrGRj8mZ2d8q4qarWGRIKMjH9O5XKIxfxFwzldM48ff/yRaeZRWlo6fvz4/Pz8CRMmfPHFF+xOt3DhQgAbNmxgyu55eHj4+PgUFBRs376d3YkoTvB9O1xnrUpN9YyM/PHJE74DYYlUSjw8CPOp88QJMno0IYSUlJD79/mNiyNMouzWrVtpaSlz5bvvvgPg4uKSk5PDxYwdO3YEsGvXLub00qVLAEQike77BKrGoqVJuJJRXDz0wQMD4D9t2ojrRs2eCxewejWMjdGoEYKDQQg6d0Z2NlJTYWHBY1wFBQUPHjwIDQ2VSCQikcja2po5EIlEzHaj96Vr5nHv3j2mCN7169d79OhBCLl8+XKPHj1YfgMAgNDQ0DFjxrRo0SIhIcHAwABAly5dbt26tW3bNmYxKVVj0TTKoUUpKRdVKj+xeLa9Pd+xsCcrC5aWMDICgE8+wV9/YeNGzJnDVziEkAEDBmRmZt6/f//1n5qamr6tvYdQKLSzs2vYsGG5l+iaeezfv3/8+PEA8vPzO3To8Pjx4yVLlixfvpyjN6LRaNzc3JKTk48dOzZs2DAAR48eHTlypIuLS1JSkpERLQ1cg/F6L1zHPSwo8IqM/CQ6OvfVB8NaLyiIWFiQgwdfnp4+TQBib0+Ki/mKaNOmTQAaNmy4dOnSefPm+fr69u/f38PDQyKRVCb1WFhYuLq6ent7DxkyZMaMGf/+979bt24NYPjw4boppk+fDsDLy+vFixecvpetW7cC6NSpE3Oq0WhcXV0BHD58mNN5qWqid6PcmvnokUqp7CGVTh8+nO9Y2PDrr5gyBR4euHcPAgEIgYcH4uIQEgI/P/2Ho2vmceTIEWb1ZTlFRUVvrDnPHDx9+jQ3N7fcSxwdHXNyclJSUphN9ACSk5OnT58eHBzMbKLnjlqtdnFxkclkV65c6dmzJ4CdO3dOnz69Xbt20dHRAoGA09mpquM7j9dxl65eBSCRSIqKiviOhQ0vXhAHBwKQc+deXtm3jwDE3Z1oNHqP5QXzDH3atGlVHiQ7OzsxMfHatWtHjx7dunXrN998w2zujIqKYjHUymN26A8YMIA5VavVEokEQHh4OC/xUJVB0yjnPD09AezcuZPvQFiybh0BSK9eL09fvCCOjgQgp0/rORBmCWfTpk1zc3NZHHbu3LkAxvK0Tev58+cWFhZl8zhTBapPnz68xENVBk2jnAsNDQXQrFmz0rrxDWluLmnYkADk5s2XVzZsIADp1k2fUVy9etXQ0NDIyOimLgyWpKenm5iYGBoaPn78mN2RK2nOnDmtWrWKiIhgTnNycqysrABERkbyEg/1TjSNcq60tLR58+YAjh49yncsLFm0iABE9xAmP580bkwAoq8qmdnZ2U5OTgB++OEHLsb38/MD8NVXX3Ex+DsVFBRo/vcbEqZYydKlS3mJh3onmkb1gdmIrXsCW+vJZKR+fWJgQOLjX15ZsoQAZMgQ/cw/duxYcPnoPD4+3sDAwMzMTKFQcDH++/Lx8TE2Nj5y5AjfgVBvRjeD6sPEiRNtbGzu3Llz5coVvmNhg1gMX19otdi48eWVWbPie/fuHR3NlB/m1NGjSElZa2/voWvmwTp3d/eBAwcWFhYGBwdzMf572bFjx4ULF8zNzT/66CO+Y6Hegu88/qFglm3369eP70BYkpxMDA1JvXrkVZXMgIAAABMnTuR02rQ0IhQSgPz6K7f1pa5duwagUaNGeXl5nE5UscePHzdo0AAA03+UqploGtWTrKws5v+Hu3fv8h0LO/InTz7Zo8fqJUuYUz1UydRoSO/eBCCDB3M0w//w9vYGsGnTJn1M9iYlJSWdO3cG4Ofnx1cMVGXQ5ff6M23atN27dzdo0MDZ2Vm3+9vW1tba2lokEkkkEuagtmz7i4yM7NSpk6WlZWpqKrOlcsyYMaGhofPnzw8KCuJixp9+wjffQCRCbKw+ykudOnVq8ODBDg4OycnJHH17ULF///vfy5cvd3BwiImJEQqF+g+AqiSaRvVEq9X26NHj1q1bpaWlFf9mxdvAHRwcLC0t9RPzO/Xu3fvKlStr165llnDGxMR06NDBwsIiNTWV9f/tHzyAlxeKi3H6NP71L3bHfjNCSNu2bR88eKDbXK9PN27c6N69OyHk0qVLzI4mqubi92b4w/HTTz8BEIlE0dHRUVFRZ8+e3bdv37p16+bOnTt+/Pi+ffu2bdvWxsbG0NDwnf/JLC0t3dzcBgwYoFar+X1Tf/zxBwCxWKzbo+Xj4wNgZdk6+WxQq4mHBwGIntcg7d27F0Dbtm3Z6hdSSfn5+cxu+sWLF+tzXqpq6N2oPjx48MDLy6u4uPjUqVNMJ58KVLwNPD09PS8vD4BQKDQwMIiJibErW5Re7zw9PaOionbt2jVlyhQAly5d6tOnj0gkevLkCVMxnhVz5mDTJri7IzISZmZsjfpuJSUlzZs3T0tLO3PmzMCBA/U276RJk/bu3duxY8ebN2+a1I0qi3Ub33m87tO1RZs5cyYrA2ZlZSUkJPTr1w/A119/zcqYVXbo0CEAbm5uuhXjzFORX375ha0pwsOJQECMjcnt22wN+R6Y73mZz9f6ceLECQCmpqb362hJ7LqHplHOzZkzB0DLli0LCgpYHPbevXsCgaBBgwa6Pmi8KC0tbdasGYDjx48zV8LCwgA0bdqUrc2vhw+TBg3IqlWsDPbe8vPzGzduDOD69et6mE4ul4tEIgDBwcF6mI5iBU2j3AoPDxcIBEZGRn///TdzJSkpKTY2lpXB+/btC2AVXwnmlXJVMu/cudOiRYspU6awWDEkNZXwWJBg8eLFAIYOHcr1RFqtlvnqwMfHR8/fxlLVQb8b5VB2draHh0d6evqqVau+/fZbACUlJd7e3rGxsSdPnuzfv381x+foi8j3VVhY6OzsrFQqjx07dunSpd9++y0/Px+AmZmZjY2NWCwWiURisVh3YGv7r8aNzWxs8Frh+Zfi4uDhgdhYtGmD0FA8fYqvv9brOypHoVA4Ozur1eq4uLhWrVpxN9HmzZsDAwObNGkSGxvL1Mejage+83hdNmrUKADe3t66j7dLlixB9dqi5eTkbNu2rdwXkdu3b2cn4qr68ccf7ezsOnToAEAkEjk5OVWQ1kUiKUAAUq8esbcnXl7kX/8iEyaQRYvIxo3kwAFy8yZp3ZowS85//5389BO/b44QQr788ksATK/QsqRSaUJCQlZWVvWniI+PZ/7Q6N75WofejXIlJCRkwoQJZdui6VYCVqctWocOHe7du3f8+PGhQ4cCOHLkyBdffNG0adOkpKTKLJbiSGFh4Y4dO+bNm9ekSZP79+/b2NgAyM/Pl0qlCoVCqVSWPXj2LEwuN8zMRF7em0c7dw6hoZBKsXs3rl/n/24UQEpKipubm0AgSE5OLtuh/ocffli2bBkAExOTxo0bv3GpL3NQ8cYK5mPKnTt3pk6dqutWT9UafOfxuiklJYVZJP/bb78xV/Ly8piVgN999111Rt6yZQuAjz76iDktLS1lhg0LC6tu0NVQtTupoiKSmkpu3SKnT5NffyUrVpDZs8mYMeTOHeLvT86dI3Pm1JS7UfKq5fKCBQvKXgwKCnJzc6vMhghDQ0MbGxumAf3rTwU5KkFN6QdNo+zTaDTMzeawYcN0FydMmACgY8eOxdXr/lZQUGBtbQ1AV9b3l19+AdC+fXu+HkromnlMnTqVlQHv3yf+/oQQ4u1NgoNrShqteGmEWq3OyMiIi4sLDw8PCQn5+eefFy5c6OvrO2jQIE9PT4lEovusIBAIytX3u3btGkclqCn9oGmUfStWrABgZ2f37Nkz5gqzEtDMzCwhIaH64zOfIgcOHMic6tr1XLx4sfqDVwHrd1K6NHrwIGnTpqakUUJInz59AKxevboKr33x4kVGRkZ0dPSFCxfKXue6BDWlBzSNsuzu3bsmJiYCgeDs2bPMlYyMDGbh4bZt21iZQteuJzo6mrmycuVKAD4+PqyM/164uJPSpdGSEuLsTJYt03+7vDe7cOECACsrqzVr1vz2229//PFHTExMZmZmSUnVq/aNGzcOeuneTHGHplE2FRQUtGzZEsC8efOYK7qVgP369WPxQ3dgYCCA8ePHM6fZ2dlMux49V+HTw53U6tXE3Jy8WtrPP39//zZt2rz+1aepqWnTpk29vb0HDRo0bdq0pUuX/vzzz2FhYdeuXYuLi3vbwoyjR48CMDc3f/jwoZ7fCMUimkbZNGPGDACtWrUqLCxkrvz8888AmjRpIpVKWZwoLS3N2NjYyMjoyZMnzJX58+cDGD16NIuzvJMe7qS2bCEAqVHtV/bs2TN37txx48b16dOnbdu2YrHYwODdXSSsrKzc3Nw++eST4cOHf/XVV8uWLVuzZg3zj9+uXbv4fk9UtdAFT6w5f/78gAEDTExM/v7773bt2gGIj4/38vIqKio6cuTIiBEj2J3O19f3wIEDgYGBTKbOyMho2rSpRqNJTExkOuhx7dixYyNGjDA3N4+KimrRogVHsxQWwtkZSiUiItC9O0eTsEClUr2tmoxUKn369OmLFy9ef1WLFi3c3d1Pnjyp/4ApNvGdx+sIpVLJLJZcv349c0WtVrdv3x7AtGnTuJgxNjZWIBCYmZkplUrmysSJEwEEBARwMV05T58+bdSoEfRyJ7VsGQHIqydqtdXz58/j4+MjIiIOHz68efPm77//fsqUKZGRkVXeiEHVHDSNsoO52ezevbtuf9GCBQsANGvWjLuVgMy3rsuWLWNOExMTDQwMTE1N2f0C4XUajaZ3794ABuulm8fz58TCggDk1RM1iqpZaBplwY4dOwA0bNhQ14bo6tWrelgJGBERAaBx48b5+fnMlcGDBwNY8qo/Ekd0JahlMhmnE+kEBhKAvHqiRlE1C02j1aXr3fj7778zV/Lz8x0dHaGXlYBdu3YFsGXLFub01q1bAIRCIXe3wHFxcaampgKB4PTp0xxN8br0dGJiQoyMyKsnahRVg9A0Wl3x8fHNmjXr2bNn2Yu//fZbv379qrOcsJKOHz8OwNnZWTdXt27dAGzYsIGL6VgvQV15vr4EILNn63laino3mkari2nX06ZNG172Ymq1WqZ028GDB5krp0+fBmBvb1/NXadvxFEJ6sqIjSUCATEzI6+eqFFUTUHTaHW9ePGCKfmj27akZ7t37wbg4eHB5HGtVsusDw8JCWF3ovDwcAMDg7IlqPVs7NinPXrMWbWqxmwOpShCCE2jrGAeufTo0YOX2dVqtZ2dXb9+/XQlM0JCQgC4u7tr2NtEqVKpmC98eSy2zzxSa9Soke6RGkXVBHT5PQvy8vIcHR2zs7Nv3LjRpUsX/QegUqnK9oUvKSlxcHB49uyZq6tr06ZNra2txWKxjY1N2QNra+v3qk86evTow4cPe3t7R0RE8FjY1Nvb+8aNG1u2bPnqq6/4ioGiyqFplB2LFy9evXr1sGHDjh07xncskMlkLVu2FAgE2dnZFfyaqanp22oMC4VCR0dHZgUCXpWgtrCwiI6O1s8Wqbc5efLk0KFDHRwckpOTjY2NeYyEonRoGmUH066nuLg4Li7O3d2dx0gIIZ999tmZM2d69uy5du1apVKpUChkMplCoWAO5HK5Uqlk9j5VPJRQKLSxsREKhdHR0UVFRfv27fP399fPu3gbQkibNm3i4+MPHjw4duxYfoOhKAZNo6z58ssvd+zYMWXKlF27dvEYxtatW2fNmlWZtmiV3wbOfCuamppa9rVKpZK7rfQV2LNnz+TJkz08PJg6yvoPgKLK4/F72TomOTnZ0NCwXr16GRkZfMUQHx9vZmYGlnqKKJXKBw8enDlzhvl0HxkZyVy/cuWKhYUFX4/UdEsjzp07x0sAFFUOTaNsGjlyJIBvvvmGl9l1zTxeb2BZTUx9gC+++II5zc3NZZ5o3bhxg92JKolZGlFuywNF8YWmUTZFR0cDsLS0fGO7Hq4tWrQI3LRFk0qlpqamhoaGSUlJzJXFixcDGDp0KLsTVVJubm7Dhg0BHD9+XFfalaL4Qr8bZdmnn356+fLlNWvWLFy4UJ/zXr9+vUePHgKB4OrVq1wsupoyZcqvv/765ZdfMh30mEdqarX6wYMHvDxSGz169NmzZ/Py8gBYWFgwHYytra1tbW2Z5Vy2trY2No6NG3tKJHi14uAN4uLg4YHYWLRpg9DQGtHMmap9+M7jdc358+cBiMXioqIivU2anZ3t7OwMYOnSpRxNwVThq1evXmZmJnNl+vTpAKZMmcLRjBVQKBRisRhAkyZNTE1N3/Z3u3XrzgABiKkpcXQknTuTzz4jkyaRJUvIpk3k99/JjRvk/n3SujXx8yOE1KBmzlTtQu9G2efp6RkVFbVz586pU6fqZ0Y/P7/9+/d7enrevHmTu9WUw4YNO3HixOLFi5kOeikpKS1atDAyMkpJSbG1teVo0jcaOXLk0aNHu3fvfuXKFQMDg5ycnLIrupgDqVRqYdHy1q01MhkKCt48Ttu2OHQIQUGQSrF7N65fp3ejVFXQNMq+0NDQMWPGNGvW7OHDh3rY8HP8+PHhw4dz3cwDwO3btzt37mxlZZWamso0EZowYW5q6r+6d++6bJkZd/OWs2vXrmnTpjVs2DAmJoZZifVOhYWQyyGTQan850Amg6MjJkxAUBBGj8b58+jcmaZRqkr4vh2ug0pLS5mtPseOHeN6Ll0zjx07dnA9FyGke/fuAIKCgpjT6GgiEBBLS6K3J2rJycnlqrtWk66Zs7c3CQ6mH+qpqjD84YcfeE3jdRBTBuns2bP/93//x+nneq1WO3z48Pj4+AEDBqxfv14Pa9HFYvHff+fl588ZMaKRoSFsbHDtGhITIRSiWzeuJ0dpaemgQYNSUlJ8fX2///573fUTJ06MHz/+1KlT4eHht27dun//fnJyskKhKCqy1GrNzMxQwR+MQoEbNzBkCExNsXEj2rdH166cvxGqruE7j9dNRUVFTIe7K1eulPtRSkqKTCZjpfZSUFAQAGtra70189Bqte3aEYDs2fPyyoULBCBiMdHDE7WlS5cCsLe3z8rKKnudWUb6ui5dwgBiYEDEYtK2LenTh4wbR+bOJdnZ/7xWdzdaUkKcncnKlZy/i8rTarWbNm06cOBAeHj4/fv32fprQ7GOfjfKlRUrVnz//ff9+/c/d+5c2evu7u6JiYkAhELh28qC2Nra2tvbm5iYVDD+gwcPvLy8iouLT506NWjQIG7fTBkHDsDXF25uiI8H057d0xNRUdi5E5w+UYuMjOzatatGo7l48WKvXr3K/kilUj169EihUCiVSqlUqjswN193+7aXUolyf8cLCmD22ne5RUWYOhUXLyI5GebmHL6RSrp48eKiRYvu3r1b7no1/9pQXKBplCsqlcrJySkvLy8qKqpDhw666926dUtKSlIqle8coXHjxiKRSCQS9ejRY9myZWV/VFxc3Llz55iYmICAgODgYPajf7vSUjRvjtRU/Oc/+PxzAAgNxZgxaNYMDx+CoydqBQUFHTt2TEpKWrRo0erVq983YKUSSiWkUigUyMpCYOCbf7NbN1y/jk2bMHs2CzFXR1ZWVrt27Z4+fert7e3k5KT7t0GhULzztY0aNRKLxdbW1jY2NmUPfHx8KlgcRlUHTaMcmjdv3saNG8eOHXvw4MHXf1pxZZD09PSSkhLmN4cPH3706NGyr50/f/6GDRuaN28eHR1tYWGhjzdTxubNCAxE5864dQsANBq0aIHMTNy4gTL/XrCJWfzfoUOHW7ducXe3deoUBg+GgwOSk8FvEb4KqrtW/q9NOT/88MOsWbOYB5IUu2ga5dDTp0+bNWum0WgePnzYrFmz9305cwOiVCrNzc2ZzfKMq1ev9urVy8DA4Pr16x999BGrIVdKYSGcnPDsGa5de/lk6dYtuLhALOZkuv/85z9DhgwxNTW9fft227ZtOZkDAEAI2rbFgwfYvx/jx3M3zztUs7qr8pXMzEzdwR9//JGZmfnjjz+WfTRHsYbfr2brPD8/PwBdunTZs2fP6dOn//7777S0tOpscNI181ixYgWLcb6vpUsJQAYN4nwiuVzObFjSNZHm1J49BCBt2xI++hMSQkhKSoqlpSXYbqV15coVAI0bN6b9V7hA70a5tWXLliVLluTm5pa7bmpq+ranBMyBRCJ54wKmMWPGhIaG8t7MIysLTk4oKHi5G50j5FUJah8fnz/++EMPK7pKStC8OdLScOYMBg7kerbytFpt7969IyIiuGij0LVr15s3bwYHBwcEBLA7MkXTKIdkMlnbtm2fPXvWt29fOzs7pVKpKz5fXFxc8Wvr169froGSSCR6+PBhcHBwTWjmAWD2bGzZAj8/hIRwNUXlS1CzaP16fP01undHRIR+JvzHypUrlyxZYmdnFxMT07hxY3YHZ3a7ubi4JCUlGRkZsTv4B46mUa7o7qT69u17/vz5cvkfNGcAAA32SURBVHdSRUVFuocDb3xWoFKpXh9TIBBYWVlt3LhxwoQJenobb/fkCVxd0aoVIiM5eSCTkJDg5eVVWFgYFhbGFHLVj4ICODnh+XPcuAF99ieMiorq0qVLSUnJmTNnBgwYwPr4TOfthISE33//ffTo0ayP/yGjaZQrW7ZsmT17tlAojImJYaq1v5eCggLdravuICcnJygoSCQScRFwFdy9iw4dXq4eZVdJSYm3t/edO3cmT568e/du9ieo0HffYdUqDB2K48f1NGNhIb744u+YmNEjRw7dsGEDR7Mw5QjatWsXHR1N+6+wic8vZuuu+Pj4+vXrAzh8+DDfsXDo/n0iEJD79wlhu8ocdyWoK0MmI23aFHbr9ktCQoJ+Zpw5kwDk449zOK2vqFarmVpcFy5c4G6WDxAHNxIfvJKSEn9//6KiokmTJn3xxRd8h8OtVq3wlq2YVffXX3/99NNPRkZGBw4caFBByWXOiMXo1m3eX3/NYLbbcu38eWzbhnr1sH27Jacr5OvVqzd79mwAa9eu5W6WDxD9UM++b7/9ds2aNS4uLvfu3WMWr9RVcXHli3VaWqKwECIRbGwgEkEkgrV1RZVBXpeTk9O+ffsnT54sXbqUx7o5KSkpbm5uAoEgOTm5Ct/JVN6zZ2jbFjIZgoIwfz5387yUk5Pj6OgoABL//NOGo80SHx6aRlnGNPMghFy+fLlHjx58h8MtJo2WLda5Zw8SEv7ndwwNXyZTiQQiEVxdd9evn800/NB1/ihbatrX1/fAgQNcl6CujFGjRoWFhS1YsGDdunXczTJyJI4eRffuuHKFk2+ZX/fn2rUdV6607N8fYWH6mO8DQNMomwo0mulBQQcXLVqyZMny5cv5DodzTBrdtw/dumHsWBQWwtAQT55AoYBUCqUSCgWePfufl7Rs6ZmYGFVunCZNmjD5VKPR/PXXX+bm5tHR0a6urvp7J28SExPToUMHCwuLtLQ0poMe63btwrRpaNgQMTGoXAVqNshkcHFBSQkSEsD3H3LdQJePsemn9PTEPn2+Dg//d12/Dy0nIACrV8PfH3Pnlv9RScnLfMokVpVqWlpaElNlQyqVMgfPnj179irdisXi/v37855DAbRr1+7TTz+9ePHi9u3bmUde7EpJefkp/pdf9JhDAdjYYNw4/Por1q/H9u16nLju4vUBV51ySaXyjIzsFhX1RI/N7PhVrlhn1Z7Ua7VauVweFxd3+fLlmTNnAnBzc9MV1tRoNEeOHDlx4gRrQb+PCxcuABCLxay3cS4pIR9/TAAyfjy7A1dOYiIxMCD16pFXDQqp6qBplB3yFy9637vnGRl5TKnkO5ZarLS0lKnhosubJ0+eBNC8efPS0lJeQvL09AQHPVqSkoidHXF01F//lfKGDiUAWbyYp+nrFJpGWaAlZNajR56RkbOSkniqaFF3bNmyBcBHH33EnJaWljIf8MPCwvQTwIsXL8qehoaGAnB2di4oKGB3oufPyb177A75Pm7fJgCxsvqfZgBUldBHTCw4KJdvfPpUaGQU2qpVY34LVdZ+hYWFzs7OSqUyIiKC6aC3ffv2GTNmtG/fPioqiuu9N4SQzz//XCgU/vLLL+bm5gA0Go1EIiktLVWpVFZWVhKJxNraWiQSMQe6ugcSiZtI1LiCsvlxcfDweFnJJTS0ZrQg7dkTERF6WmlVt/Gdx2u95MLCrlFRnpGREfRfdZYwy0UHDhzInKrVaqYuycWLF7memmklIBQK09LSmCuXLl0yMDCoX79+xeWie/a8ARAzM+LiQrp0IZ9/TqZOJd9/TzZvJocPk4gIcukSad2a+PkRwvaOr6o7e5YAxM6OFBfzHUrtRu9Gq+UFIRMSEpKKikZYWy/S69PWuiwrK8vJySk/Pz86Orp9+/YAVq1a9d133/n4+Jw/f567eR8/ftyhQ4f8/PzDhw8z28+ys7PbtWuXlpa2YsWK7777LisriyluwHT1UCgUMpmMORCJ9oWHuxUVvXXw6dOhVv/PVgX+70YJQfv2iI3Fnj2YOJHvaGoxmkar5eenTw/I5U6mpgfc3evrZ/H0hyEwMHDz5s3jx4/fv38/gJycHCcnp5ycnLt373bs2JGLGUtLS729vW/fvj1x4sQ9e/YwF9+3umt+PmQyKBRQKMofDBqE+Pj/2arAfxoFcPIkHj7El1/CyorvUGozvm+Ha7e4/PyRcXH3aUVxtqWlpRkbGxsZGT158oS5Mn/+fACjR4/maMbFixcDcHFxycnJYa6EhIQAsLCwePToUfXH1y0O8/YmwcE140M9xRJ6A/XekouKfGJjA5KSApKS1FptaOvWbWpCQ966xcHBYdSoUaWlpRs3bmSuzJ0718TE5MiRI48fP2Z9ulu3ZBs3bjQ0NNy/fz9TBiE9PX3OnDkAtm7dym6F7IAA/PILi+NV26VL6NUL/fph7Fi8qcot9W585/Ha53Fh4bfJyXxHUffFxsYKBAIzMzPlq6W4EydOBBAQEMDuRDk5xMWFtGwZtWpVMHNFo9H07NkTwNChQ9ma5fWtCiUlbI1dDTIZ8fAgz58TQsixY2TsWL4DqpVoGn1vNI3qzcCBAwEsW7aMOU1MTDQwMDA1NZVKpSzO4u9PANKxI9EtGF21ahUAW1vbZ8+esTiRTnw86dePTJrExdjvaedOsnLlP6eurjUju9cy9EN9VdzNz5/16NGsR48KNBq+Y6nLFi5cCGDz5s0FBQUA3NzcBg0apFarmWVJrDhxAiEhMDPDoUMvW6Hcu6fetm2HQCDYt28f6w2RGKamuHQJ+/cjLY2L4d9HZibs7P45FYshl/MXTW1F02hVeFpYbHF13eLqas5fb84PQffu3bt27fr8+fO9e/cyV5gHQcHBwfn5+dUfPzMTU6cCwPr1cHMDgKIijB1rWlgYuWzZ3r59+1Z/ijdyccGIESgpwebNHM1QaRIJMjL+OZXLIRbzF02txfftcO1DP9Tr0/HjxwE4OzuXvPqw2a1bNwAbN26s5shaLRkwgACkf/9/utIzzTxatSJslyIp7949IhCQBg1IVha3E72DVEo8PF5u7D9xgnC2EKJuo3ejVI02ZMiQVq1aPXnyJOxVjWHmk/769etfvHhRnZGfPkV8PEQi7Nv3sj7/hQsvm3kcOoT69asdeoXatUOfPsjL4/Wp/YkTuHIFP/2EoUPh44PQUGzdyl80tRnfeZyi3oHpDOrh4aHVagkhTKNgACEhIdUcOTub3Lnz8lipJBIJAfS3ovPiRQIQkYjzO983S08njRoRgND2dtVG70apms7Pz8/BwSE2NpbZCSoQCBYsWNCyZUuram+8sbKCl9fL44AASKX45JM3VJ7myKefonNnKBQICdHTjP8gBFOnIisLAwagTx+9T1/n8J3HKerdmG5IvXr1Yk5LS0t1dZ1ZsWsXAUjDhiQ1lcVR3y0sjACkaVOi72Kq69cTgFhbE5lMvxPXTXRPPVUL5OXlOTo6Zmdn37x58+OPP2Z38JQUtG+PvDwcOoQxY9gd+x00Gri749EjhIVh5Eh9zfrgATp1glqNU6cwaJC+Zq3L6Id6qhZo0KDBl19+CYCLxvGBgcjLw9ix+s6hAAwNMX8+2rf/88iRQD1NWVyMceNQVIQZM2gOZQu9G6VqB7lc7uLiUlxcHBcX5+7uzuLIMhkWL8aGDeCm++c7qNXFzs5Ocrn84sWLn376KefzzZ+PDRvQvDmio2Fhwfl0HwZDpkQuRdVwTKPjyMjIs2fPxsbG3rlzJy4uLiUlJSsrq7CwkNl9X9WRMXgwTE3ZjbeyjIyMSkpKLl26JJVKfX19uZ3s6lXMmAFDQ/z3v2jalNu5PiT0bpSqNR4/fhwSErJixYo3/tTY2Nja2trR0V0ovGhtDZEIEgmsrSEWw8YGzBVm01lN6+eRm5vr6OiYk5MTGRnJdNDjgkqlyh4/3uXsWSxfjiVLOJrlw0TTKFWbZGdnX716VS6Xy2QypVKpO5DJZCqVCoCjY6+0tMtvfK1AAGtr2Npi/36MHg1PT4SE1Ig0CmDBggVBQUGjRo1iOuhxYfTo0YcPHz7h7z/k119BNzGziqZRqo548eKFQqFQKoukUleFAnI5ZDIolZDJIJdDqYRSCa0WEgkuXEBQUM3q55GRkdG0aVONRpOYmMhueVPG/v37/fz8LCwsoqOjuRj/A2fEdwAUxQ4TExN7e3t7e3To8OZf0GigVCIvD8XFADB3LjZsQOfO+ozxrezs7MaNG7d3794NGzZs27aN3cGfPn0aGBgIDkpQUwy64In6UBgawsYGrq4vT/v3x507yMriNaYyFi5caGBgsHfvXplMxuKwWq3W19dXpVINHTrU39+fxZEpHZpGqQ9Xjern4ebm9tlnn6nV6q2s1gdZu3btn3/+aWtru2vXLhaHpcqi341SH5y4OAQFYd8+lJbC1RUzZ/L/3Sjj5s2bXbt2NTMz02q1tra2EolEKBS+fmBnZ9ewcmtco6OjP/7445KSkjNnzgwYMIDr+D9YNI1SVA1y//59b2/vvLy8in/NwsJCIpGIRCJra+s3HlhaWqrV6k6dOsXFxc2ZM0fXGZDiAk2jFFXjKBQKpVKpVCozMzOVSqVCoZBKpWUP1Gp1xSOYmprWr19fpVK1bt06MjLSlK/dBR8GmkYpqvYpKipSqVRSqTQzM/NtBwCWLVs2ePDgdu3a8R1vHUfTKEXVQYWFhQqFwt7e3siILmrkHE2jFEVR1UIXPFEURVULTaMURVHVQtMoRVFUtdA0SlEUVS3/D5Hjh6OGkdzXAAAAAElFTkSuQmCC\n",
+ "image/png": "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\n",
+ "image/svg+xml": [
+ "\n",
+ "\n"
+ ],
"text/plain": [
- ""
+ ""
]
},
+ "execution_count": 16,
"metadata": {},
- "output_type": "display_data"
+ "output_type": "execute_result"
}
],
"source": [
@@ -831,19 +4134,7172 @@
"SMILES = list(ambiguous_compounds['SMILES'])\n",
"strangest = SMILES[-2]\n",
"\n",
- "display(Chem.MolFromSmiles(strangest))"
+ "Chem.MolFromSmiles(strangest)"
]
},
{
"cell_type": "code",
- "execution_count": 29,
+ "execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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MGbMGHr16qV+N5uaBx98kN27d/Pjjz/y4osv8sorr2C1WqmqqkKWZf74xz+ycePGkBJBgpZHiDRBwvhrbKWnp6v1j2LRu3dvevbsye7du/n444/VOK0uXbrw2Wef8frrr7NkyRKKioowm80MHz6cyZMna+JDwtG/f3+++OILZsyYwcqVKykrK6N169ZceOGF3HHHHQm79ECJtfP3Hz1y5IjaXzSRQN8rrrhC43JoTFbnkCFDeOONN5g9ezZbtmyhtLQ0psXwoosuUieCxiYMLFy4kO+//541a9awZcsWDhw4QFVVFZIkkZ2dTY8ePTj77LO5+uqrI/ZsbUmeeOIJOnTowKJFizh48KBag8zf87OhPPjgg/Tt25f33nuPHTt2YDQayc3NZfz48dxwww0R78E+ffowf/58PvnkE7755hu2bdtGVVUVRqORbt260a9fP84///xmjx0EGDRoEAsWLGDhwoUsW7aMTZs2UVpaSk1NDa1ataJHjx4MGTKEcePGqaELwQwdOpQFCxYwc+ZMVqxYweHDh5EkiZ49ezJy5EgmTZoUttDtscRoNDJ79mxmzZrFV199xcGDB0lPT6dfv37cdtttEYs6m0wmXn75ZS655BI++ugjfvvtN9Uy2K9fP6699tqw4s7P3XffTbdu3Xj//ffZsWMHXq+XvLw8rrnmGiZMmMD06dOb65Qxm8385z//4f333+fTTz9l7969al3LG264gYsvvjhsY3dByyPJTRE1KxAIjgtmzpzJP//5T9q3b8/SpUsbJV4FSqum6dOnM3ToUN55552WHo4gCjfddBNr166N2EBdIEhGREyaQHCS4PV6mTNnDqD06RQCTSAQCJIbIdIEgpMAn8/HtGnTOHDgABaLRQ0kFggEAkHyclzEpHm9Xq666ipycnJ44403Wno4AsFxw8KFC3nuueeoqKhQ23HdeeedCdVlEwgEAsGx5bgQaW+//TY9e/aMWIhPIBCEx263c/jwYYxGIz169ODGG2/khhtuaOlhCQQCgSAOkj5xoLCwkIceeog//elPzJ49W1jSBAKBQCAQnBQkvSXt6aef5sEHH1RdNbE466yz6NSpUzOPSiAQCAQCgaDxHD58OGJbw6QWacuWLaN169b069cval/GuXPnqu1GLBYLn3766bEaokAgEAgEAkHCjB8/PuK6pBZpv/zyC0uXLmXl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IiLXcLqTiIiISIMYpBERERFpEIM0IiIiIg1iTVo7w0J+IiKitoFBWjvDQn4iIqK2gdOdRERERBrEII2IiIhIgxikOalwyWKcHz8FhUsWe3soRERE5MNYk+aEwiWLUfZqOgCgbJ/4/9hZs705JCIiIvJRzKQ56NcdM1GyZhXMMAMAzDCjZM0q/LpjppdHRkRERL6IQZqDEkYuQ9SURyBAAAAIEBA15REkjFzm5ZERERGRL+J0pxMsU5uVm3ch5J47OdVJREREHsMgzUmxs2YDDM6IiIjIwzjdSURERKRBDNKIiIiINIhBGhEREZEGabYm7d1338W2bdug0+kQExODhQsXIj4+3tvDIiIiImoVms2k/f73v8eGDRuwfv16pKSkYMmSJd4eEhEREVGr0WyQFhYWJv25qqoKgiB4cTRERERErUuz050A8O9//xsZGRkIDw/HqlWrZO+Xnp6O9HRxm6aSkpLWGh4RERGRxwhms9nsrRefMWMGCgsLba6fO3cuRo8eLV1eunQpampqMGfOHNXnnDRpEtatW+fWcXpa+ekvAAARiQ94eSRERETUmpTiFq9m0lauXOnQ/SZMmIAnnnjCoSCNiIiIyBdotibt7Nmz0p+3b9+OxMRE7w2GiIiIqJVptibt7bffxpkzZyAIAhISEvDaa695e0hERERErUazQdqiRYu8PQQiIiIir9HsdCcRERFRe8YgjYiIiEiDGKQRERERaRCDNCIiIiINYpBGREREpEEM0oiIiIg0iEEaERERkQYxSCMiIiLSIAZpRERERBrEII2IiIhIgxikEREREWkQgzQiIiIiDWKQRkRERKRBDNKIiIiINIhBGhEREZEGMUgjIiIi0iAGaUREREQaxCCNiIiISIMYpBERERFpEIM0IiIiIg1ikEZERESkQQzSiIiIiDSIQRoRERGRBjFIIyIiItIgBmlEREREGsQgjYiIiEiDGKQRERERaRCDNCIiIiINYpBGREREpEEM0oiIiIg0iEEaERERkQYxSCMiIiLSID9vD6A9qyzIRlVBtnS5KOddAEBw/DCExA/z0qiIiIhICxikeVEIgzEiIiKSwelOIiIiIg1ikEZERESkQQzSiIiIiDSIQRoRERGRBjFIIyIiItIgBmlEREREGsQgjYiIiEiDGKQRERERaRCDNCIiIiINYpBGREREpEGaD9I+/PBD9OnTB8XFxd4eChEREVGr0XSQdvnyZezevRtdunTx9lCIiIiIWpWmg7SFCxfi+eefhyAI3h4KERERUavSbJC2bds2dOzYEUlJSd4eChEREVGr8/Pmi8+YMQOFhYU218+dOxdLly7FihUrHHqe9PR0pKenAwBKSkrcOkYiIiIibxDMZrPZ24No7vjx45gxYwaCg4MBAPn5+ejYsSM+//xzxMXFKT520qRJWLduXWsMk4iIiKhFlOIWr2bS5PTp0wd79uyRLqempuKLL75AdHS0F0dFRERE1Ho0W5NGRERE1J5pcrqzJYYOHYqEhIQWP09JSQmioqLcMCLfw2NjH4+LPB4b+3hc5PHY2MfjYl9bPi6//vor9u7da/c2nwvS3IW1bfJ4bOzjcZHHY2Mfj4s8Hhv7eFzs89XjwulOIiIiIg1ikEZERESkQQzSZEyePNnbQ9AsHhv7eFzk8djYx+Mij8fGPh4X+3z1uLAmjYiIiEiDmEkjIiIi0iBNNrP1tqysLPz973+HyWTCgw8+iJkzZ3p7SF4xf/58ZGZmIiYmBhs3bgQAlJaW4plnnsGvv/6KhIQEvPvuu+jQoYOXR9r6Ll++jD//+c8oLCyETqfDQw89hEcffbTdH5+amho8/PDDqK2thdFoxN133405c+a0++NiYTQacf/99yM+Ph5Lly7lcWmQmpqK0NBQ6HQ66PV6rFu3jscGQHl5OV588UWcOHECgiBgwYIF6NGjR7s/LqdPn8YzzzwjXb5w4QLmzJmDtLQ0nzs2zKQ1YzQa8frrr+ODDz7Apk2bsHHjRuTl5Xl7WF4xadIkfPDBB1bXLVu2DMOHD8eWLVswfPhwLFu2zEuj8y69Xo958+bh66+/Rnp6Oj799FPk5eW1++MTEBCAjz76CF999RUyMjKwc+dOHD58uN0fF4tVq1ahZ8+e0mUel0YfffQR1q9fL7VR4LEB/v73v2PEiBH45ptvsH79evTs2ZPHBUBiYiLWr18vfV6Cg4MxZswYnzw2DNKaycnJwfXXX49u3bohICAA48ePx7Zt27w9LK8YMmSIza+Qbdu2IS0tDQCQlpaG7777zgsj876OHTuiX79+AICwsDAkJiaioKCg3R8fQRAQGhoKAKivr0d9fT0EQWj3xwUQ9yDOzMzEAw88IF3H4yKvvR8bg8GA/fv3S5+XgIAAREREtPvj0tyePXvQrVs3JCQk+OSxYZDWTEFBATp16iRdjo+PR0FBgRdHpC1FRUXo2LEjADFQKS4u9vKIvO/ixYs4duwYBg0axOMDMRv929/+Frfffjtuv/12HpcGCxYswPPPPw+drvFrl8el0e9+9ztMmjQJ6enpAHhsLly4gOjoaMyfPx9paWl44YUXUFlZ2e6PS3ObNm3ChAkTAPjmZ4ZBWjP2FrsKguCFkVBbcO3aNcyZMwd//etfERYW5u3haIJer8f69euxY8cO5OTk4MSJE94ektd9//33iI6ORv/+/b09FE1avXo1vvzySyxfvhyffPIJ9u/f7+0heV19fT2OHj2KqVOnIiMjA8HBwT4xfedOtbW12L59O8aNG+ftoXgMg7RmOnXqhPz8fOlyQUGBFJkTEBMTgytXrgAArly5gujoaC+PyHvq6uowZ84cTJw4EWPHjgXA49NUREQEhg4dip07d7b74/Ljjz9i+/btSE1NxbPPPovs7Gw899xz7f64WMTHxwMQ//2MGTMGOTk57f7YdOrUCZ06dcKgQYMAAOPGjcPRo0fb/XFpKisrC/369UNsbCwA3/z+ZZDWzIABA3D27FlcuHABtbW12LRpE1JTU709LM1ITU1FRkYGACAjIwOjRo3y7oC8xGw244UXXkBiYiIee+wx6fr2fnyKi4tRXl4OAKiursbu3buRmJjY7o/Ln/70J2RlZWH79u145513MGzYMPzrX/9q98cFACorK2EwGKQ///DDD+jVq1e7PzZxcXHo1KkTTp8+DUCsverZs2e7Py5Nbdq0CePHj5cu++KxYTNbO3bs2IEFCxZIy+X/+Mc/entIXvHss89i3759KCkpQUxMDJ566imMHj0ac+fOxeXLl9G5c2e89957iIyM9PZQW92BAwfw8MMPo3fv3lKN0bPPPouBAwe26+OTm5uLefPmwWg0wmw2Y9y4cZg9ezZKSkra9XFpau/evVixYgWWLl3K4wKx9mrWrFkAxHrGCRMm4I9//COPDYBjx47hhRdeQF1dHbp164aFCxfCZDK1++MCAFVVVUhJScF3332H8PBwAPDJzwyDNCIiIiIN4nQnERERkQYxSCMiIiLSIAZpRERERBrEII2IiIhIgxikEREREWkQgzQiIg+7ePEi+vTpg3nz5nl7KETUhjBIIyLNqa6uxoABA7Bw4ULpupdeegk333wz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\n",
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "