{ "info": { "author": "Ashok Palaniappan, Keshav Aditya R.P, Ramit Bharanikumar", "author_email": "apalania@scbt.sastra.edu, keshavaditya26896@gmail.com, ramitb@rocketmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# RIBOFLOW - classifying riboswitches with >99% accuracy\n\n[riboflow](https://test.pypi.org/project/riboflow/) is a python package for classifying putative riboswitch sequences into one of 32 classes with > 99% accuracy. It is based on a [tensorflow](https://www.tensorflow.org) deep learning model. ``riboflow`` has been tested using ``Python 3.5.2``. \n\nInstallation\n------------\n\nThe easiest way to install the package is via ``pip``\n\n $ pip install riboflow\n\nDependencies:\n\n numpy==1.14.5\n tensorflow==1.8.0 \n keras==2.2.0 \n\nA trained ``Bi-directional Recurent Neural Network (RNN) Model`` is integrated into the ``riboflow`` package (and installed automatically with the ``pip``). Note that the source code to generate the ``Bi-directional Recurent Neural Network Model`` is available. The git repository [Riboswitch Classification](https://github.com/RiboswitchClassifier/RiboswitchClassification) could be forked to generate a new model.\n\nProblem Statement\n-------------------\nRiboswitches are metabolite-sensing mRNAs, for e.g, amino acid or metal ion sensors, that switch conformation upon binding the cognate ligand, thereby exerting control on translation. It would be of interest to classfify the ligand-specificity of riboswitches given their sequence. \n\n**The prediction problem**:\n\nGiven the riboswitch sequence, predict the riboswitch class (as given by the ligand-specificity of the riboswitch).\n\n**Machine learning formulation**:\n - Input: Riboswitch sequence\n - Source dataset: Rfam database (rfam.org)\n - Output: Riboswitch class \n - Best-performing Classifier: Bi-directional RNN (>99% accuracy)\n - Features used in the best-performing classifier: the full riboswitch sequence\n\nUsage\n-------------------\n\nOnce `riboflow` is installed, please follow the steps to predict the class of a new riboswitch sequence:\n\n**1. Import the package**:\n\n - Inside the python shell or in the python file::\n\n > import riboflow\n\n**2. Construct a list of riboswitch sequences**:\n\n > # A sequence is a string in alphabet 'ATGC'\n > sequences = [\n \"TTTTTTTTGCAGGGGTGGCTTTAGGGCCTGAGAAGATACCCATTGAACCTGACCTGGCTAAAACCAGGGTAGGGAATTGCAGAAATGTCCTCATT\",\n \"CTCTTATCCAGAGCGGTAGAGGGACTGGCCCTTTGAAGCCCAGCAACCTACACTTTTTGTTGTAAGGTGCTAACCTGAGCAGGAGAAATCCTGACCGATGAGAG\",\n \"CCACGATAAAGGTAAACCCTGAGTGATCAGGGGGCGCAAAGTGTAGGATCTCAGCTCAAGTCATCTCCAGATAAGAAATATCAGAAAGATAGCCTTACTGCCGAA\"\n ]\n\n**3a. Predict the class for each riboswitch sequence**:\n\n > # Predict the most probable riboswitch class of each sequence\n > riboflow.predict(sequences, \"predict_class\")\n\n**3b. Predict a vector of class probabilities for each riboswitch sequence**:\n\n > # Predict probabilty of each riboswitch class associated with each sequence \n > riboflow.predict(sequences, \"predict_prob\")\n\nRiboswitches Accounted For \n------------\n\n 1. 'RF00504 - Glycine Riboswitch'\n 2. 'RF01786 - Cyclic di-GMP-II riboswitch'\n 3. 'RF01750 - ZMP/ZTP riboswitch'\n 4. 'RF00059 - TPP riboswitch (THI element)'\n 5. 'RF01057 - S-adenosyl-L-homocysteine riboswitch'\n 6. 'RF01725 - SAM-I/IV variant riboswitch'\n 7. 'RF00162 - SAM riboswitch (S box leader)'\n 8. 'RF00174 - Cobalamin riboswitch'\n 9. 'RF01055 - Molybdenum Cofactor riboswitch'\n 10. 'RF01727 - SAM/SAH Riboswitch'\n 11. 'RF01482 - Abocbl Riboswitch'\n 12. 'RF03057 - nhaA-I RNA'\n 13. 'RF01734 - Fluroride riboswitch'\n 14. 'RF00167 - Purine Riboswitch'\n 15. 'RF00234 - glmS glucosamine-6-phosphate activated ribozyme'\n 16. 'RF01739 - Glutamine riboswitch'\n 17. 'RF03072 - raiA RNA'\n 18. 'RF03058 - sul RNA'\n 19. 'RF00380 - yKoK leader'\n 20. 'RF00168 - Lysine Riboswitch'\n 21. 'RF03071 - DUF1646 RNA'\n 22. 'RF01689 - Abocbl variant RNA'\n 23. 'RF00379 - ydaO/yuaA leader'\n 24. 'RF00634 - S-adenosyl methionine (SAM) riboswitch'\n 25. 'RF01767 - SMK box translational riboswitch (SAM-III)'\n 26. 'RF00080 - yybP-ykoY manganese riboswitch'\n 27. 'RF02683 - NiCo riboswitch'\n 28. 'RF00442 - Guanidine-I Riboswitch'\n 29. 'RF00522 - PreQ1 Riboswitch'\n 30. 'RF00050 - FMN Riboswitch'\n 31. 'RF01831 - THF riboswitch'\n 32. 'RF00521 - SAM riboswitch (alpha-proteobacteria)'\n\nAdditional information\n-----\nFor more information, please refer to our manuscript below. \n\n*Premkumar KAR, Bharanikumar R, Palaniappan A.* (2019) Classifying riboswitches with >99% accuracy. **Microorganisms** (to be submitted)\n\nPlease cite us if you use our services.\n\nPackage Structure\n-----\n\n .\n \u251c\u2500\u2500 build # Buildout project configuration\n \u251c\u2500\u2500 dist # Consists of .whl and .tar package files\n \u251c\u2500\u2500 riboflow # Package Directory\n \u2502 \u251c\u2500\u2500 __init__.py # main file\n \u2502 \u251c\u2500\u2500 rnn_32_model.h5 # Bi-directional Recurent Neural Network Model\n \u251c\u2500\u2500 riboflow.egg-info # Egg information of the project\n \u251c\u2500\u2500 LICENSE # License\n \u251c\u2500\u2500 MANIFEST.in # To include the Bi-directional Recurent Neural Network Model within the package\n \u251c\u2500\u2500 README.md # Package description\n \u2514\u2500\u2500 setup.py # Package metadata\n\nReferences and acknowledgements for pypi package development\n----------\n\n * http://fouryears.eu/2014/03/19/structure-of-a-python-project/\n * http://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/\n * [Bharat Goel](https://github.com/BharatGoel36) provided help in packaging the application. \n\nAuthors\n----------\n\n * [Keshav Aditya R.P](https://keshavadityarp.github.io)\n - [Github](https://github.com/KeshavAdityaRP)\n - [LinkedIn](https://www.linkedin.com/in/keshavadityarp/)\n * Ramit Bharanikumar\n - [Github](https://github.com/ramit29)\n - [LinkedIn](https://www.linkedin.com/in/ramit-bharanikumar-12a014114/)\n * Ashok Palaniappan\n - [Senior Assistant Professor](http://www.sastra.edu/staffprofiles/schools/scbt.php?staff_id=C2164)\n - [Github](https://github.com/apalania)\n - [LinkedIn](https://www.linkedin.com/in/ashokpalaniappan/)\n\n\nCopyright & License\n-------------------\n\nCopyright (c) 2019, the Authors. MIT License.\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/RiboswitchClassifier/riboflow", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "riboflow", "package_url": "https://pypi.org/project/riboflow/", "platform": "", "project_url": "https://pypi.org/project/riboflow/", "project_urls": { "Homepage": "https://github.com/RiboswitchClassifier/riboflow" }, "release_url": "https://pypi.org/project/riboflow/1.1.2/", "requires_dist": null, "requires_python": "", "summary": "Classifying Putative Riboswitch Sequences", "version": "1.1.2" }, "last_serial": 5561239, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "cfd641bc0c18d8d39a770e2375d3ba73", "sha256": "920add96793b2f0ee690c642815cd819ddc09bfd2c3ff6b7696abe4860824bb7" }, "downloads": -1, "filename": "riboflow-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cfd641bc0c18d8d39a770e2375d3ba73", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1716540, "upload_time": "2019-04-26T13:00:28", "url": "https://files.pythonhosted.org/packages/cc/a4/80282e9d36c11ff61a491dd7efed4fa9d1039b87aca9c7b86cf7f27329fe/riboflow-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1bc558dd78c44be9c9d5e1c16d0085d", "sha256": "4ad763fb4c85813c03cb4cda7ec9a62ef3b60eca251ff8e1bf373f9c0f38f746" }, "downloads": -1, "filename": "riboflow-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b1bc558dd78c44be9c9d5e1c16d0085d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1719748, "upload_time": "2019-04-26T13:00:42", "url": "https://files.pythonhosted.org/packages/a6/47/1225c59c3b480e95a9973c2f7e055c072a150d537ce23d9e0ae12712afd4/riboflow-1.0.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8b000d422ef0374caea21d27cbcdc8e8", "sha256": "1d7c408bf5cfffcb42958f2e102b23a7c98371bbcb375ef2c50b6b9146c2f18f" }, "downloads": -1, "filename": "riboflow-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8b000d422ef0374caea21d27cbcdc8e8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3437347, "upload_time": "2019-07-09T12:59:37", "url": "https://files.pythonhosted.org/packages/bf/ab/a7ae64ffa23c024eae890f3462435ad182c966ca20e2bad3b11509327070/riboflow-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2cb31b6e0c21ab76dae95e403b891d9f", "sha256": "289dceb6d48cc79fff6b9206f58dbb8d56da33156f58b313ff15d23324f9cb90" }, "downloads": -1, "filename": "riboflow-1.1.1.tar.gz", "has_sig": false, "md5_digest": "2cb31b6e0c21ab76dae95e403b891d9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1729456, "upload_time": "2019-07-09T12:59:42", "url": "https://files.pythonhosted.org/packages/44/86/59fd82b6cde38b2fb8c3c4f791236b1910c4fbaf6a7e1af35aeb90811d3e/riboflow-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "a5bad470a099e828e19b11700cb4d8d9", "sha256": "c9538aacdb821a35b010f9d5f2775a7959894e0327747f10c9f462654f99e011" }, "downloads": -1, "filename": "riboflow-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a5bad470a099e828e19b11700cb4d8d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3437384, "upload_time": "2019-07-20T17:57:04", "url": "https://files.pythonhosted.org/packages/e4/d1/92cfc2f5ad142d59ebab4d0711db75a89889d28ca61de34f68b59caf2e36/riboflow-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "641528e0753d1aadedc98d435b9e9ac6", "sha256": "6c0b36e0bf1525d1aeccd8de38134c446a5669b2f778e6c42eb1ad6c8babd40f" }, "downloads": -1, "filename": "riboflow-1.1.2.tar.gz", "has_sig": false, "md5_digest": "641528e0753d1aadedc98d435b9e9ac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1729509, "upload_time": "2019-07-20T17:57:09", "url": "https://files.pythonhosted.org/packages/78/ae/09b5586dc843ab3229443364563b25042afe1b3e880fc154781493f2822a/riboflow-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a5bad470a099e828e19b11700cb4d8d9", "sha256": "c9538aacdb821a35b010f9d5f2775a7959894e0327747f10c9f462654f99e011" }, "downloads": -1, "filename": "riboflow-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a5bad470a099e828e19b11700cb4d8d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3437384, "upload_time": "2019-07-20T17:57:04", "url": "https://files.pythonhosted.org/packages/e4/d1/92cfc2f5ad142d59ebab4d0711db75a89889d28ca61de34f68b59caf2e36/riboflow-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "641528e0753d1aadedc98d435b9e9ac6", "sha256": "6c0b36e0bf1525d1aeccd8de38134c446a5669b2f778e6c42eb1ad6c8babd40f" }, "downloads": -1, "filename": "riboflow-1.1.2.tar.gz", "has_sig": false, "md5_digest": "641528e0753d1aadedc98d435b9e9ac6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1729509, "upload_time": "2019-07-20T17:57:09", "url": "https://files.pythonhosted.org/packages/78/ae/09b5586dc843ab3229443364563b25042afe1b3e880fc154781493f2822a/riboflow-1.1.2.tar.gz" } ] }