{ "info": { "author": "Gregory Giecold", "author_email": "ggiecold@jimmy.harvard.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Healthcare Industry", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Software Development :: User Interfaces" ], "description": "PySCUBA\n=======\n\nPySCUBA stands for \"Python for Single-cell Clustering Using Bifurcation\nAnalysis\".\n\nPySCUBA is a novel computational method for extracting lineage\nrelationships from single-cell genomics data, and modeling the dynamic\nchanges associated with cell differentiation. PySCUBA draws from\ntechniques in nonlinear dynamics and knowledge of stochastic\ndifferential equations to provide a systematic framework for modeling\ncomplex processes involving multi-lineage specifications.\n\nThere is a MATLAB implementation of this method. However, PySCUBA is a\ncomplete overhaul and redesign, where some bugs, mathematical\ninconsistencies and improper handling of outlier cases have been taken\ncare of. PySCUBA also comes with a GUI, written using the Python wrapper\nfor the Qt framework.\n\nPySCUBA is open source and can be used without the high licensing fees\nthat were hampering some of our colleagues. Furthermore, PySCUBA is a\nmuch faster and more efficient way of handling the computations and data\nprocessing underlying the corresponding computational biology method. On\na benchmark comparison, it was found that where the MATLAB code took\nabout 20 minutes to complete, PySCUBA handles the same task in about 30\nseconds.\n\nInstallation\n------------\n\nPySCUBA is written in Python 2.7. It relies on the following libraries\nand APIs: \\* ``matplolib`` (1.4.3 or ulterior version) \\* ``numpy``\n(1.9.0 or later) \\* ``Pillow`` (3.2.0 or later) \\* ``PyQt4`` (at least\nversion 4.11.4) \\* ``python-igraph`` (version>=0.7.1) \\* ``rpy2`` (2.8.1\nor later) \\* ``scipy`` (0.17.0 or later) \\* ``setuptools``\n(version>=21.0.0) \\* ``sklearn`` (version>=0.17.1) \\* ``Wand`` (version\n0.4.3 or subsequent)\n\nMost of those dependencies should be automatically resolved during an\ninstallation with ``pip``, by \\* starting a terminal; \\* running\n``$ pip install PySCUBA``.\n\nNonetheless, please ensure all those prerequisites have been met before\nproceeding any further. In particular, ``PyQt`` might have to be\ninstalled manually. In addition, note that you might need to run this\nusing ``sudo`` depending on your Python installation.\n\nAlternatively, you can also get PySCUBA from source by downloading a\ntarball or zip archive from the corresponding GitHub page. Once you have\ndownloaded and unpacked the source, navigate into the root source\ndirectory and run:\n\n``$ python setup.py install``\n\nUsage\n-----\n\nIn your terminal, run\n\n``$ PySCUBA``\n\nupon which a graphical user interface should pop up.\n\nSelect the file to process and choose the relevant data type and other\nsuch parameters. Detailed explanations for each of those options can be\nobtained by maintaining your cursor on a particular button; this\nincludes format specifications for your dataset.\n\nAfter your data has been subjected to various iterations of\ngap-statistics and penalized maximum likelihood estimations of the\nparameters of a Fokker-Planck potential, you will be prompted to choose\nvarious output files to display within the PySCUBA GUI. You can scroll\nup and down the display window, as well as zoom in and out.\n\nExample\n-------\n\nA fully-functional, annotated example demonstrating a standard usage\nPySCUBA is provided herewith.\n\nFirst of all, in a Python session, let us import a few modules.\n``Pandas`` will prove quite convenient to fetch our example dataset:\n\n::\n\n from os import getcwd, path\n import pandas as pd\n\nThe dataset in question is some qPCR data from Deng et al., \"Single-cell\nRNA-seq reveals dynamic, random monoallelic gene expression in mammalian\ncells.\" Science. 2014 Jan 10;343(6167):193-6. It is accessible from a\nparticular GitHub repository, whose url appears below. We want the\ncontent of that file, not its full GitHub view, which is why we use the\n``Raw`` link to that repository and explains the lack of any ``blob/``\nin its url path:\n\n::\n\n url = 'https://raw.githubusercontent.com/gcyuan/SCUBA/master/sample_data/guo2010/guo2010Data.txt'\n df = pd.read_csv(url, delimiter='\\t')\n\nCheck that nothing untoward occurred by typing in\n\n::\n\n df.head()\n\nWe are now going to write this dataframe to a tab-separated \\*.txt file\nin your current working directory:\n\n::\n\n df.to_csv(path.join(getcwd(), 'super_duper_data.txt'), sep='\\t', index=False)\n\nIn your terminal, we are now ready to launch the PySCUBA graphical user\ninterface, which can be launched from any directory (not necessarily the\none holding ``super_duper_data.txt``):\n\n::\n\n $ PySCUBA\n\nPlease refer to PySCUBA's GitHub page for screenshots illustrating how the PySCUBA GUI looks at start time, how to select ``super_duper_data.txt`` for processing and,\nonce the dust settles down, how to select files for display and further\ninvestigations.\n\nAttribution\n-----------\n\nIf you find PySCUBA useful in your research, please cite its GitHub\nrepository:\n\nGiecold G, PySCUBA, (2016), GitHub repository,\nhttps://github.com/GGiecold/PySCUBA\n\nThe respective BibTex entry is\n\n::\n\n @misc{Giecold2016,\n author = {Giecold, G.},\n title = {PySCUBA},\n year = {2016},\n publisher = {GitHub},\n journal = {GitHub repository},\n howpublished = {\\url{https://github.com/GGiecold/PySCUBA}},\n commit = {8ee6a08de15decdcdaf7d877888ae783832d80f2}\n }\n\nBesides, please cite the following reference as well:\n\nMarco E, Karp RL, Guo G, Robson P, Hart AH, Trippa L, Yuan GC. (2014)\n\"Bifurcation analysis of single-cell gene expression data reveals\nepigenetic landscape\". Proceedings of the National Acacdemy of Sciences,\n111, E5643-E5650.\n\nLicense\n-------\n\nCopyright 2016-2021 Gregory Giecold.\n\nPySCUBA is free software made available under the MIT License. For\ndetails see the LICENSE file.", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/GGiecold/PySCUBA", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/GGiecold/PySCUBA", "keywords": "bioinformatics biology clustering cytometry gap-statistics genomics machine-learning pattern-recognition PCR principal-curve qPCR RNASeq single-cell time-series unsupervised-learning", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "PySCUBA", "package_url": "https://pypi.org/project/PySCUBA/", "platform": "Any", "project_url": "https://pypi.org/project/PySCUBA/", "project_urls": { "Download": "https://github.com/GGiecold/PySCUBA", "Homepage": "https://github.com/GGiecold/PySCUBA" }, "release_url": "https://pypi.org/project/PySCUBA/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Python for Single-cell Clustering Using Bifurcation Analysis", "version": "0.1.1" }, "last_serial": 2196654, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b806361707fd5474e999021696a0fa7f", "sha256": "86d6e0de5e8c04080003b000f70c05ae40b0be3a997e2aa079cd25a8962a0d7f" }, "downloads": -1, "filename": "PySCUBA-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b806361707fd5474e999021696a0fa7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30728, "upload_time": "2016-06-30T19:31:22", "url": "https://files.pythonhosted.org/packages/b7/71/782a1b7c4e5c519c63e1a49b1d273cf9be0dbffe2a17895e476226654f15/PySCUBA-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b806361707fd5474e999021696a0fa7f", "sha256": "86d6e0de5e8c04080003b000f70c05ae40b0be3a997e2aa079cd25a8962a0d7f" }, "downloads": -1, "filename": "PySCUBA-0.1.1.tar.gz", "has_sig": false, "md5_digest": "b806361707fd5474e999021696a0fa7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30728, "upload_time": "2016-06-30T19:31:22", "url": "https://files.pythonhosted.org/packages/b7/71/782a1b7c4e5c519c63e1a49b1d273cf9be0dbffe2a17895e476226654f15/PySCUBA-0.1.1.tar.gz" } ] }