From dfc509b95ff03d0c9027ee74d31d7b171f867bf1 Mon Sep 17 00:00:00 2001 From: Navan Chauhan Date: Wed, 26 May 2021 23:59:17 +0530 Subject: generated website --- docs/posts/2020-07-01-Install-rdkit-colab.html | 124 +++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 docs/posts/2020-07-01-Install-rdkit-colab.html (limited to 'docs/posts/2020-07-01-Install-rdkit-colab.html') diff --git a/docs/posts/2020-07-01-Install-rdkit-colab.html b/docs/posts/2020-07-01-Install-rdkit-colab.html new file mode 100644 index 0000000..b60d405 --- /dev/null +++ b/docs/posts/2020-07-01-Install-rdkit-colab.html @@ -0,0 +1,124 @@ + + + + + + + + + Hey - Post + + + + + +
+

Installing RDKit on Google Colab

+ +

RDKit is one of the most integral part of any Cheminfomatic specialist's toolkit but it is notoriously difficult to install unless you already have conda installed. I originally found this in a GitHub Gist but I have not been able to find that gist again :/

+ +

Just copy and paste this in a Colab cell and it will install it 👍

+ +
import sys
+import os
+import requests
+import subprocess
+import shutil
+from logging import getLogger, StreamHandler, INFO
+
+
+logger = getLogger(__name__)
+logger.addHandler(StreamHandler())
+logger.setLevel(INFO)
+
+
+def install(
+        chunk_size=4096,
+        file_name="Miniconda3-latest-Linux-x86_64.sh",
+        url_base="https://repo.continuum.io/miniconda/",
+        conda_path=os.path.expanduser(os.path.join("~", "miniconda")),
+        rdkit_version=None,
+        add_python_path=True,
+        force=False):
+    """install rdkit from miniconda
+    ```
+    import rdkit_installer
+    rdkit_installer.install()
+    ```
+    """
+
+    python_path = os.path.join(
+        conda_path,
+        "lib",
+        "python{0}.{1}".format(*sys.version_info),
+        "site-packages",
+    )
+
+    if add_python_path and python_path not in sys.path:
+        logger.info("add {} to PYTHONPATH".format(python_path))
+        sys.path.append(python_path)
+
+    if os.path.isdir(os.path.join(python_path, "rdkit")):
+        logger.info("rdkit is already installed")
+        if not force:
+            return
+
+        logger.info("force re-install")
+
+    url = url_base + file_name
+    python_version = "{0}.{1}.{2}".format(*sys.version_info)
+
+    logger.info("python version: {}".format(python_version))
+
+    if os.path.isdir(conda_path):
+        logger.warning("remove current miniconda")
+        shutil.rmtree(conda_path)
+    elif os.path.isfile(conda_path):
+        logger.warning("remove {}".format(conda_path))
+        os.remove(conda_path)
+
+    logger.info('fetching installer from {}'.format(url))
+    res = requests.get(url, stream=True)
+    res.raise_for_status()
+    with open(file_name, 'wb') as f:
+        for chunk in res.iter_content(chunk_size):
+            f.write(chunk)
+    logger.info('done')
+
+    logger.info('installing miniconda to {}'.format(conda_path))
+    subprocess.check_call(["bash", file_name, "-b", "-p", conda_path])
+    logger.info('done')
+
+    logger.info("installing rdkit")
+    subprocess.check_call([
+        os.path.join(conda_path, "bin", "conda"),
+        "install",
+        "--yes",
+        "-c", "rdkit",
+        "python=={}".format(python_version),
+        "rdkit" if rdkit_version is None else "rdkit=={}".format(rdkit_version)])
+    logger.info("done")
+
+    import rdkit
+    logger.info("rdkit-{} installation finished!".format(rdkit.__version__))
+
+
+if __name__ == "__main__":
+    install()
+
+ +
+ + + + + + \ No newline at end of file -- cgit v1.2.3