{ "info": { "author": "Chris Radoux, Peter Curran, Mihaela Smilova", "author_email": "pcurran@ccdc.cam.ac.uk", "bugtrack_url": null, "classifiers": [], "description": "************\n# Hotspots API\n************\n\n[![Documentation Status](https://readthedocs.org/projects/hotspots/badge/?version=latest)](https://hotspots.readthedocs.io/en/latest/?badge=latest)\t\n[![License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/prcurran/fragment_hotspot_maps/blob/master/LICENSE)\t\n[![Total alerts](https://img.shields.io/lgtm/alerts/g/prcurran/fragment_hotspot_maps.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/prcurran/fragment_hotspot_maps/alerts/)\t\n[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/prcurran/fragment_hotspot_maps.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/prcurran/fragment_hotspot_maps/context:python)\t\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/fragmenthotspots/community)\n\n\n ![fragment hotspots](http://fragment-hotspot-maps.ccdc.cam.ac.uk/static/cover_small.jpg)\n\n\nThe Hotspots API is the Python package for the Fragment Hotspot Maps project,\na knowledge-based method for determining small molecule binding \"hotspots\".\n\nFor more information on this method:\n\n[Radoux, C.J. et. al., Identifying the Interactions that Determine Fragment Binding at Protein Hotspots J. Med. Chem. 2016, 59 (9), 4314-4325](dx.doi.org/10.1021/acs.jmedchem.5b01980)\n\nGetting Started\n===============\n\nAlthough the Hotspots API is publicly available, it is dependant on the CSD\nPython API - a commercial package.\n\nIf you are an academic user, it's likely your institution will have a license.\nIf you are unsure if you have a license or would like to enquire about\npurchasing one, please contact support@ccdc.cam.ac.uk.\n\nPlease note, this is an academic project and we would therefore welcome\nfeedback, contributions and collaborations. If you have any queries regarding\nthis package please contact us (pcurran@ccdc.cam.ac.uk)!\n\n\nInstallation\n============\n\n\n1 Install CSDS 2019\n----------------------\n\nThe CSDS is available from [here](https://www.ccdc.cam.ac.uk/support-and-resources/csdsdownloads/).\n\nYou will need a valid site number and confirmation code, this will have been\nemailed to you when you bought your CSDS 2019 license.\n\n\n2 Install GHECOM\n-------------------\n\nGhecom is available from [here](http://strcomp.protein.osaka-u.ac.jp/ghecom/download_src.html).\n\n\"The source code of the GHECOM is written in C, and developed and executed on\nthe linux environment (actually on the Fedora Core). For the installation,\nyou need the gcc compiler. If you do not want to use it, please change the\n\"Makefile\" in the \"src\" directory.\"\n\nDownload the file ``ghecom-src-[date].tar.gz`` file.\n\n tar zxvf ghecom-src-[date].tar.gz\n cd src\n make\n\nNB: The executable will be located at the parent directory.\n\n\n3 Create conda environment (recommended)\n------------------------------------------------\n\n conda create -n hotspots python=2.7\n\n4 Create Install RDKit and CSD Python API\n------------------------------------------------\t\t\n\nInstall RDKit:\t\n\n \tconda install -n hotspots -c rdkit rdkit\n\nThe latest standalone CSD-Python-API installer from is available [here](https://www.ccdc.cam.ac.uk/forum/csd_python_api/General/06004d0d-0bec-e811-a889-005056977c87).\n\nInstall the Python CSD API:\n\n unzip csd-python-api-2.1.0-linux-64-py2.7-conda\n conda install -n hotspots -c csd-python-api\n\n 5 Install Hotspots\t\t\n------------------------------------------------\t\t\n\nInstall Hotspots v1.x.x:\n\na) Latest stable release (recommended for most users):\n\n conda activate hotspots\n\n pip install hotspots\n or \n pip install https://github.com/prcurran/hotspots/archive/v1.x.x.zip\n\nb) Very latest code\n\n mkdir ./hotspots_code\n git clone git@github.com:prcurran/hotspots.git\n conda activate hotspots\n cd hotspots_code\n pip install hotspots_code\n\n NB: dependencies should install automatically. If they do not, please see setup.py for the package requirements!\n\n\n## Hotspots API Usage\n---------------------\n\nStart activating your Anaconda environment and setting some variables.\n\n conda activate hotspots\n export GHECOM_EXE=\n export CSDHOME=/CSD_2019\n\n\n## Running a Calculation\n---------------------\n\n### Protein Preparation\n\nThe first step is to make sure your protein is correctly prepared for the\ncalculation. The structures should be protonated with small molecules and\nwaters removed. Any waters or small molecules left in the structure will\nbe included in the calculation.\n\nOne way to do this is to use the CSD Python API:\n\n\n from ccdc.protein import Protein\n\n prot = Protein.from_file('protein.pdb')\n prot.remove_all_waters()\n prot.add_hydrogens()\n for l in prot.ligands:\n prot.remove_ligand(l.identifier)\n\n\nFor best results, manually check proteins before submitting them for calculation.\n\n\n### Calculating Fragment Hotspot Maps\n---------------------\n\n\nOnce the protein is prepared, the `hotspots.calculation.Runner` object can be\nused to perform the calculation:\n\n\n from hotspots.calculation import Runner\n\n runner = Runner()\n # Only SuperStar jobs are parallelised (one job per processor). By default there are 3 jobs, when calculating charged interactions there are 5.\n results = runner.from_protein(prot, nprocesses=3)\n\n\nAlternatively, for a quick calculation, you can supply a PDB code and we will\nprepare the protein as described above:\n\n runner = Runner()\n results = runner.from_pdb(\"1hcl\", nprocesses=3)\n\n\n## Reading and Writing Hotspots\n----------------------------\n\n### Writing\n\nThe `hotspots.hs_io` module handles the reading and writing of both `hotspots.calculation.results`\nand `hotspots.best_volume.Extractor` objects. The output `.grd` files can become quite large,\nbut are highly compressible, therefore the results are written to a `.zip` archive by default,\nalong with a PyMOL run script to visualise the output.\n\n\n from hotspots.hs_io import HotspotWriter\n\n out_dir = \"results/pdb1\"\n\n # Creates \"results/pdb1/out.zip\"\n with HotspotWriter(out_dir) as writer:\n writer.write(results)\n\n### Reading\n\n\nIf you want to revisit the results of a previous calculation, you can load the\n`out.zip` archive directly into a `hotspots.calculation.results` instance:\n\n\n from hotspots.hs_io import HotspotReader\n\n results = HotspotReader('results/pdb1/out.zip').read()\n\n\n\n## Using the Output\n---------------------\n\nWhile Fragment Hotspot Maps provide a useful visual guide, the grid-based data\ncan be used in other SBDD analysis.\n\n### Scoring\n---------------------\n\nOne example is scoring atoms of either proteins or small molecules.\n\nThis can be done as follows: \n\n from ccdc.protein import Protein\n from ccdc.io import MoleculeReader, MoleculeWriter\n from hotspots.calculation import Runner\n\n\tr = Runner()\n\tprot = Protein.from_file(\"1hcl.pdb\") # prepared protein\n\ths = r.from_protein(prot)\n\n\t# score molecule\n\tmol = MoleculeReader(\"mol.mol2\")\n\tscored_mol = hs.score(mol)\n\twith MoleculeWriter(\"score_mol.mol2\") as w:\n\t w.write(scored_mol)\n\n\t# score protein\n\tscored_prot = hs.score(hs.prot)\n\twith MoleculeWriter(\"scored_prot.mol2\") as w:\n\t w.write(scored_prot)\n\n\nTo learn about other ways you can use the Hotspots API please see the examples\ndirectory and read our API documentation.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/prcurran/hotspots", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hotspots", "package_url": "https://pypi.org/project/hotspots/", "platform": "", "project_url": "https://pypi.org/project/hotspots/", "project_urls": { "Homepage": "https://github.com/prcurran/hotspots" }, "release_url": "https://pypi.org/project/hotspots/1.0.3/", "requires_dist": [ "numpy", "csd-python-api (>=2.0.0)", "matplotlib (==2.2.3)", "scipy", "sklearn", "scikit-image", "hdbscan", "pandas", "futures", "tqdm (==4.31.1)", "xmltodict (==0.12.0)" ], "requires_python": "", "summary": "", "version": "1.0.3" }, "last_serial": 5665779, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "82d15366485a7fba7a65fd5b3aa037e5", "sha256": "dcb17abe32734d0a5a97950b8d466a611d7a7372f92c68ab8c7fdfc2ea251c84" }, "downloads": -1, "filename": "hotspots-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "82d15366485a7fba7a65fd5b3aa037e5", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 109184, "upload_time": "2019-03-07T11:13:04", "url": "https://files.pythonhosted.org/packages/b5/5d/34b6794a9a51b3dbf561a63ac01fe759660095b6b4db85ad87a792107b71/hotspots-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da34b54fa2e8bad7ae7bf1a1fbc842f9", "sha256": "9d4cdaf1b5d6edbe7b871f780cddde6adb608041512df4d5001e79ac7cfdd80a" }, "downloads": -1, "filename": "hotspots-1.0.0.tar.gz", "has_sig": false, "md5_digest": "da34b54fa2e8bad7ae7bf1a1fbc842f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85908, "upload_time": "2019-03-07T11:13:07", "url": "https://files.pythonhosted.org/packages/c6/93/1594205ee6e8a87b518d7f667aab653a56c360ba267a74482234a83deeb4/hotspots-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "28bb8c191ec8104570fa346d68ff380b", "sha256": "7e613d8e94d5c2c36e3386c0f55b1e4d6764ff9cfde9b7b3ce64ef7f653ace96" }, "downloads": -1, "filename": "hotspots-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "28bb8c191ec8104570fa346d68ff380b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 112023, "upload_time": "2019-03-07T11:38:59", "url": "https://files.pythonhosted.org/packages/0b/d2/508f0c2698bac67b43589bd3c438425fd1069b47cb1bdee1f8f50792ff0d/hotspots-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8757ca55a124c2fa6eddd9867e3c77f6", "sha256": "e416c5cd5105d6a59ee11a82a5ef910b5217e5b311c20f369353d7901c7fbed3" }, "downloads": -1, "filename": "hotspots-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8757ca55a124c2fa6eddd9867e3c77f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86667, "upload_time": "2019-03-07T11:39:01", "url": "https://files.pythonhosted.org/packages/b7/8f/8f4ab21c080dabcb396c3e46980924577cc3924fb9c9f5c664d295675bae/hotspots-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "abf3431182a87b1283cb6e8629434df6", "sha256": "ca4c64bc9681c7a083bbdd72ed2cc093b3bcf7d339ac10556afdce7a6f0d6345" }, "downloads": -1, "filename": "hotspots-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "abf3431182a87b1283cb6e8629434df6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 113645, "upload_time": "2019-03-21T11:29:38", "url": "https://files.pythonhosted.org/packages/dc/e9/d8061dc3488cc59b26caa2e455840a709dfd162cd3d9b0d9f752916a0892/hotspots-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9759d816886d303e3822c1963da4e8fd", "sha256": "0e641bbda777811d8972c1e2899ea396ddd89a03312f9e50c892a350042c7a7a" }, "downloads": -1, "filename": "hotspots-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9759d816886d303e3822c1963da4e8fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88267, "upload_time": "2019-03-21T11:29:42", "url": "https://files.pythonhosted.org/packages/ee/db/d5eb6ea794c56388f33b5cd1f8801b24de0ed8d832f09174a5ea66e10516/hotspots-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c7403657ecff193dfcf1fe6c7a0c19ab", "sha256": "298762c71c1012a67115873a17812256fd524dc54c050176c7e176729576d339" }, "downloads": -1, "filename": "hotspots-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c7403657ecff193dfcf1fe6c7a0c19ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 117913, "upload_time": "2019-08-12T11:41:58", "url": "https://files.pythonhosted.org/packages/23/94/0ede66c7d8b63d4fd30a4fae8f28411d2222881bef90efe59de7a938bff9/hotspots-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0f613934d8ea0e2ac1a14832f897a5c", "sha256": "58b130962a8d1bf01d6ff8c360910c1ba059d3e7da1a761b5487cdb58c0fed19" }, "downloads": -1, "filename": "hotspots-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c0f613934d8ea0e2ac1a14832f897a5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94957, "upload_time": "2019-08-12T11:42:00", "url": "https://files.pythonhosted.org/packages/8f/cf/d28cc9f3dd85b1f6a1d7ca82f6f77e9fc5c4a0e6b4a45b4da93acb5ddb24/hotspots-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c7403657ecff193dfcf1fe6c7a0c19ab", "sha256": "298762c71c1012a67115873a17812256fd524dc54c050176c7e176729576d339" }, "downloads": -1, "filename": "hotspots-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c7403657ecff193dfcf1fe6c7a0c19ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 117913, "upload_time": "2019-08-12T11:41:58", "url": "https://files.pythonhosted.org/packages/23/94/0ede66c7d8b63d4fd30a4fae8f28411d2222881bef90efe59de7a938bff9/hotspots-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0f613934d8ea0e2ac1a14832f897a5c", "sha256": "58b130962a8d1bf01d6ff8c360910c1ba059d3e7da1a761b5487cdb58c0fed19" }, "downloads": -1, "filename": "hotspots-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c0f613934d8ea0e2ac1a14832f897a5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94957, "upload_time": "2019-08-12T11:42:00", "url": "https://files.pythonhosted.org/packages/8f/cf/d28cc9f3dd85b1f6a1d7ca82f6f77e9fc5c4a0e6b4a45b4da93acb5ddb24/hotspots-1.0.3.tar.gz" } ] }