{ "info": { "author": "Michal Mrozek", "author_email": "michau.mrozek@student.uj.edu.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only", "Topic :: Database", "Topic :: Internet", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Adapter for `Nucleic Acid Database `_\r\n====================================================================\r\n\r\n.. image:: https://img.shields.io/pypi/status/ndb_adapter.svg\r\n :target: https://pypi.python.org/pypi/ndb_adapter\r\n\r\n.. image:: https://img.shields.io/pypi/v/ndb_adapter.svg\r\n :target: https://pypi.python.org/pypi/ndb_adapter\r\n\r\n.. image:: https://img.shields.io/pypi/dm/ndb_adapter.svg\r\n :target: https://pypi.python.org/pypi/ndb_adapter\r\n\r\n.. image:: https://img.shields.io/pypi/l/ndb_adapter.svg\r\n :target: https://pypi.python.org/pypi/ndb_adapter\r\n\r\n.. image:: https://img.shields.io/pypi/pyversions/ndb_adapter.svg\r\n :target: https://pypi.python.org/pypi/ndb_adapter\r\n\r\nAdapter for easy access to NDB resources directly from python (3.*).\r\n\r\nUsage\r\n-----\r\n\r\nAdapter offers 4 types of search: summary, advanced, dna and rna.\r\n\r\nSummary\r\n~~~~~~~\r\n\r\nTo get summary of structure, type:\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import NDB\r\n >>> res = NDB.summary('4Z4B')\r\n >>> res.ndb_id\r\n '4Z4B'\r\n >>> res.title\r\n '2-PYRIDYL HOECHST - A NEW GENERATION DNA-BINDING RADIOPROTECTOR'\r\n >>> res.description\r\n \"DNA (5'-D(*CP*GP*CP*AP*AP*AP*TP*TP*TP*GP*CP*G)-3')\"\r\n >>> res.get_dict()\r\n {'Molecular Description': \"DNA (5'-D(*CP*GP*CP*AP*AP*AP*TP*TP*TP*GP*CP*G)-3')\", ...}\r\n\r\nAs you see some properties are available for summary result. Full list of them is\r\n`here `_.\r\n\r\nAdvanced search\r\n~~~~~~~~~~~~~~~\r\n\r\nTo perform advanced search you should use `AdvancedOptions\r\n`_\r\nobject and pass it as argument to `advanced_search\r\n`_ function from NDB,\r\nhowever it's not required. That object has a lot of `setters\r\n`_\r\nfor modify search query. Look at them to search what you want. It's also possible to\r\nchange result `report type `_,\r\njust pass wanted type into constructor.\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import *\r\n # options preparation\r\n >>> opt = AdvancedSearchOptions() # default report type NDBStatus\r\n >>> opt.set_crystal_structure(yes_no_ignore=YesNoIgnore.Yes) # default and_or=AndOr.And\r\n >>> opt.set_dna(and_or=AndOr.Or, yes_no_ignore=YesNoIgnore.Yes)\r\n\r\n # search\r\n >>> res = NDB.advanced_search(opt)\r\n >>> print(res.count)\r\n 4695\r\n >>> print(res.report)\r\n [, ...]\r\n\r\n # working on result\r\n >>> first = res.report[0] # first structure from search\r\n # if you want have annotations in IDE (i.e. Pycharm) do something like this:\r\n >>> first = res.report[0] # type: ReportType.NDBStatus\r\n >>> print(first.title)\r\n \"2-Pyridyl Hoechst - a New Generation DNA-Binding Radioprotector\"\r\n\r\nEvery report type result is different - you can examine theirs `properties\r\n`_ or use typing.\r\n\r\nSome of them has `statistics `_\r\nalso, for example:\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import *\r\n\r\n >>> opt = AdvancedSearchOptions(ReportType.RNABasePairRelFreq)\r\n >>> opt.set_hybrid(yes_no_ignore=YesNoIgnore.Yes)\r\n\r\n >>> res = NDB.advanced_search(opt)\r\n >>> print(res.statistics)\r\n Min: {'Relative cWW': 0.5, 'Relative tWW': 0.0, 'Relative cHS': 0.0, 'Relative tWS': 0.0, ...}\r\n Max: {'Relative cWW': 1.0, 'Relative tWW': 0.05, 'Relative cHS': 0.06, 'Relative tWS': 0.06, ...}\r\n Mean: {'Relative cWW': 0.8, 'Relative tWW': 0.01, 'Relative cHS': 0.01, 'Relative tWS': 0.01, ...}\r\n Standard Deviation: {'Relative cWW': 0.12, 'Relative tWW': 0.01, 'Relative cHS': 0.02, 'Relative tWS': 0.02, ...}\r\n >> print(res.statistics.min)\r\n {'Relative tWS': 0.0, 'Relative tWW': 0.0, 'Relative cHH': 0.0, 'Relative cWW': 0.5, ...}\r\n\r\nDna search\r\n~~~~~~~~~~\r\n\r\n`Dna search `_\r\nis very similar to advanced search, but with `DnaSearchOptions\r\n`_ and smaller\r\namount of setters.\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import *\r\n # options preparation\r\n >>> opt = DnaSearchOptions()\r\n >>> opt.set_structural_features(StructuralFeatures.A_DNA)\r\n\r\n # search\r\n >>> result = NDB.dna_search(opt)\r\n >>> print(result.count)\r\n 393\r\n >>> str(result.report)\r\n [, ...]\r\n\r\n # working on result\r\n >>> first = result.report[0] # type: SimpleReport\r\n >>> print(first.title)\r\n \"Crystal structure of 60-mer BFDV Capsid Protein ...\"\r\n\r\nRna search\r\n~~~~~~~~~~\r\n\r\n`Rna search `_\r\nis just like dna search. Options: `RnaSearchOptions\r\n`_.\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import *\r\n # search\r\n >>> result = NDB.rna_search() # default is empty RnaSearchOptions object\r\n >>> print(result.count)\r\n 3014\r\n >>> str(result.report)\r\n [, ...]\r\n\r\n # working on result\r\n >>> first = result.report[0] # type: SimpleReport\r\n >>> print(first.title)\r\n \"Crystal structure of the bacterial A1408C-mutant ...\"\r\n\r\nStructure Download\r\n~~~~~~~~~~~~~~~~~~\r\n\r\nAlmost on every result of search you can download related files `(.pdb, .cif, .xml etc.)\r\n`_\r\nto buffer or save.\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import NDB\r\n >>> res = NDB.summary('4Z4B')\r\n >>> res.download() # .pdb is default\r\n \"HEADER DNA 01-APR-15 4Z4B ...\"\r\n\r\n >>> from ndb_adapter import DownloadType\r\n >>> res.download(download_type=DownloadType.Cif)\r\n 'data_4Z4B\\n# \\n_entry.id 4Z4B ...'\r\n\r\n >>> res = NDB.advanced_search()\r\n >>> res.download(save=True) # saves n files in current directory\r\n >>> res.download(save=True, target_dir='/home/user/Downloads/') # saves n files in ~/Downloads/\r\n\r\n >>> res.report[0].download(save=True) # saves first structure file in current directory\r\n\r\nYou can also search and download in one line:\r\n\r\n.. code-block:: python\r\n\r\n >>> from ndb_adapter import NDB\r\n >>> res = NDB.download('4Z4B') # like above .pdb is default\r\n \"HEADER DNA 01-APR-15 4Z4B ...\"\r\n # save and target dir is also available\r\n\r\nRequirements\r\n------------\r\n\r\n- python 3.*\r\n- `requests `_\r\n- `xlrd `_\r\n\r\nInstallation\r\n------------\r\n\r\nTo install, simply:\r\n\r\n.. code-block:: bash\r\n\r\n $ pip install ndb_adapter\r\n\r\nDocumentation\r\n-------------\r\n\r\nDocumentation is available at https://michsior14.github.io/ndb_adapter/.\r\n\r\nLicence\r\n-------\r\n\r\nSoftware is distributed under the MIT Licence.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Michsior14/ndb_adapter", "keywords": "ndbserver,ndb,nucleic acid database,adapter", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "ndb_adapter", "package_url": "https://pypi.org/project/ndb_adapter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ndb_adapter/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Michsior14/ndb_adapter" }, "release_url": "https://pypi.org/project/ndb_adapter/1.3/", "requires_dist": null, "requires_python": null, "summary": "Adapter for http://ndbserver.rutgers.edu/ created for biologists, bioinformatics etc.", "version": "1.3" }, "last_serial": 2166518, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3df178d407cf1e72855768c2606a6742", "sha256": "761102386c01c67b8cbff3a6977719b31f8220fa859366357a88f5282e6c62bb" }, "downloads": -1, "filename": "ndb_adapter-0.1.zip", "has_sig": false, "md5_digest": "3df178d407cf1e72855768c2606a6742", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51525, "upload_time": "2016-05-09T16:09:27", "url": "https://files.pythonhosted.org/packages/73/7c/62165d60a956cacb9906f92d9da8610a43622e2c404e32835242ec3b3d61/ndb_adapter-0.1.zip" } ], "0.1b1": [ { "comment_text": "", "digests": { "md5": "fbed16f938dc397de389dc41761e9d8e", "sha256": "cfdeed5e677d91fcf52ef8eedc5ecde22c6472f00783d7a80b8d107571fb5464" }, "downloads": -1, "filename": "ndb_adapter-0.1b1.zip", "has_sig": false, "md5_digest": "fbed16f938dc397de389dc41761e9d8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36084, "upload_time": "2016-05-08T10:49:12", "url": "https://files.pythonhosted.org/packages/96/9a/b48718dbcceded66ef76e2ae7420a58210a96c9679dfe2743d85474bb86b/ndb_adapter-0.1b1.zip" } ], "0.1b2": [ { "comment_text": "", "digests": { "md5": "d4d33f13bba5b75e58494f24f6494cd7", "sha256": "dad9727797bf7b7d9da967a2839214c5d00ec13c8a9b241664983e01815fb5da" }, "downloads": -1, "filename": "ndb_adapter-0.1b2.zip", "has_sig": false, "md5_digest": "d4d33f13bba5b75e58494f24f6494cd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36119, "upload_time": "2016-05-08T11:20:26", "url": "https://files.pythonhosted.org/packages/07/f8/28a36005082757c594e4c493a511e7587cb2e8411fe1808f0e1d7bba326a/ndb_adapter-0.1b2.zip" } ], "0.1b3": [ { "comment_text": "", "digests": { "md5": "6abd52cbe22d38eab3f38690905cb453", "sha256": "7049666bdd932d2c5f58bd12fa925413d33d3146cbed8cd8e4173b25b8cb7269" }, "downloads": -1, "filename": "ndb_adapter-0.1b3.zip", "has_sig": false, "md5_digest": "6abd52cbe22d38eab3f38690905cb453", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47562, "upload_time": "2016-05-09T01:06:47", "url": "https://files.pythonhosted.org/packages/06/9e/7e9bfa59962ee17c276c8405357cc51e2574ca71e67da05325103524d2eb/ndb_adapter-0.1b3.zip" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "364bbeaa694a31e2591bd9cf3ce7e592", "sha256": "01b73ae116c556f14533c81a9f19bea85657fd77c8217d4c410a750239f5641c" }, "downloads": -1, "filename": "ndb_adapter-0.2.zip", "has_sig": false, "md5_digest": "364bbeaa694a31e2591bd9cf3ce7e592", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51615, "upload_time": "2016-05-10T09:32:06", "url": "https://files.pythonhosted.org/packages/61/cd/72d83ad16e3c4f0e6cba85f91c1bdbbc2d2c8d9d00e6f9467283e794b7e0/ndb_adapter-0.2.zip" } ], "1.0": [], "1.1": [ { "comment_text": "", "digests": { "md5": "b1ae1343716c72383a518a40767ee1bf", "sha256": "6a4ce644af837dd7b9dd95c56c09368aec5e0e62fa06d02871293b039a1506cf" }, "downloads": -1, "filename": "ndb_adapter-1.1.zip", "has_sig": false, "md5_digest": "b1ae1343716c72383a518a40767ee1bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60488, "upload_time": "2016-06-12T01:03:07", "url": "https://files.pythonhosted.org/packages/e0/f4/ec4c05f37ba3f1930c5524a11454234ca9fec141edf61e1512485ad140bb/ndb_adapter-1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "6b792263860ec4fbd39b938de2178519", "sha256": "5ea09a687f1b20afdea6faaa68bc7916acc1511b39595c0aed213c1031ce0d12" }, "downloads": -1, "filename": "ndb_adapter-1.2.zip", "has_sig": false, "md5_digest": "6b792263860ec4fbd39b938de2178519", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60836, "upload_time": "2016-06-13T00:55:58", "url": "https://files.pythonhosted.org/packages/e0/fb/43058d443cc6ee51937e5388d5ba5de5c116ea6d7f73ecb25858e86e0a81/ndb_adapter-1.2.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "3466c067fffae566882a574ebd20f2ee", "sha256": "4320ae5689a0787ce339174eb6e78481dad01e4c533e12fdd852ceac62df8b3a" }, "downloads": -1, "filename": "ndb_adapter-1.3.zip", "has_sig": false, "md5_digest": "3466c067fffae566882a574ebd20f2ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60987, "upload_time": "2016-06-14T12:53:41", "url": "https://files.pythonhosted.org/packages/9d/e0/1b2bd7d9e7d0f2259796bcd33fb0bfc853ed87b004de656ff3c855bab538/ndb_adapter-1.3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3466c067fffae566882a574ebd20f2ee", "sha256": "4320ae5689a0787ce339174eb6e78481dad01e4c533e12fdd852ceac62df8b3a" }, "downloads": -1, "filename": "ndb_adapter-1.3.zip", "has_sig": false, "md5_digest": "3466c067fffae566882a574ebd20f2ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60987, "upload_time": "2016-06-14T12:53:41", "url": "https://files.pythonhosted.org/packages/9d/e0/1b2bd7d9e7d0f2259796bcd33fb0bfc853ed87b004de656ff3c855bab538/ndb_adapter-1.3.zip" } ] }