{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "![logo](docs/source/_static/img/selene_logo.png)\n\n---\n\nSelene is a Python library and command line interface for training deep neural networks from biological sequence data such as genomes.\n\n## Installation\n\nWe recommend using Selene with Python 3.6 or above. \nPackage installation should only take a few minutes (less than 10 minutes, typically ~2-3 minutes) with any of these methods (conda, pip, source). \n\n**Install [PyTorch](https://pytorch.org/get-started/locally/).** If you have an NVIDIA GPU, install a version of PyTorch that supports it--Selene will run much faster with a discrete GPU.\n\n### Installing selene with [Anaconda](https://www.anaconda.com/download/) (for Linux):\n\n```sh\nconda install -c bioconda selene-sdk\n```\n\n### Installing selene with pip:\n\n```sh\npip install selene-sdk\n```\n\nNote that we do not recommend pip-installing older versions of Selene (below 0.4.0), as these releases were less stable. \n\nWe currently only have a source distribution available for pip-installation. We are looking into releasing wheels in the future. \n\n### Installing selene from source:\n\nFirst, download the latest commits from the source repository (or download the latest tagged version of Selene for a stable release):\n```\ngit clone https://github.com/FunctionLab/selene.git\n```\n\nThe `setup.py` script requires NumPy, Cython, and setuptools. Please make sure you have these already installed.\n\nIf you plan on working in the `selene` repository directly, we recommend [setting up a conda environment](https://conda.io/docs/user-guide/tasks/manage-environments.html#creating-an-environment-from-an-environment-yml-file) using `selene-cpu.yml` or `selene-gpu.yml` (if CUDA is enabled on your machine) and activating it.\nThese environment YAML files list specific versions of package dependencies that we have used in the past to test Selene.\n\nSelene contains some Cython files. You can build these by running\n```sh\npython setup.py build_ext --inplace\n```\n\nIf you would like to locally install Selene, you can run\n```sh\npython setup.py install\n```\n\n### Additional dependency for the CLI\n\nPlease install `docopt` before running the command-line script `selene_cli.py` provided in the repository.\n\n## About Selene\n\nSelene is composed of a command-line interface and an API (the `selene-sdk` Python package). \nUsers supply their data, model architecture, and configuration parameters, and Selene runs the user-specified operations (training, evaluation, prediction) for that sequence-based model.\n\nFor a more detailed overview of the components in the Selene software development kit (SDK), please consult the page [here](http://selene.flatironinstitute.org/overview/overview.html).\n\n![summary figure](docs/source/_static/img/selene_overview.png)\n\n### Help\n\nPlease post bugs or feature requests to our Github [issues](https://github.com/FunctionLab/selene/issues).\n\nJoin our [Google group](https://groups.google.com/forum/#!forum/selene-sdk) if you have questions about the package, case studies, or model development.\n\n## Documentation\n\nThe documentation for Selene is available [here](https://selene.flatironinstitute.org/).\nIf you are interested in running Selene through the command-line interface (CLI), [this document](https://selene.flatironinstitute.org/overview/cli.html) describes how the configuration file format (used by the CLI) works and details all the possible configuration parameters you may need to build your own configuration file. \n\n## Examples\n\nWe provide 2 sets of examples: Jupyter notebook tutorials and case studies that we've described in our manuscript. \nThe Jupyter notebooks are more accessible in that they can be easily perused and run on a laptop. \nWe also take the opportunity to show how Selene can be used through the CLI (via configuration files) as well as through the API. \nFinally, the notebooks are particularly useful for demonstrating various visualization components that Selene contains. \nThe API, along with the visualization functions, are much less emphasized in the manuscript's case studies.\n\nIn the case studies, we demonstrate more complex use cases (e.g. training on much larger datasets) that we could not present in a Jupyter notebook.\nFurther, we show how you can use the outputs of variant effect prediction in a subsequent statistical analysis (case 3).\nThese examples reflect how we most often use Selene in our own projects, whereas the Jupyter notebooks survey the many different ways and contexts in which we can use Selene.\n\nWe recommend that the examples be run on a machine with a CUDA-enabled GPU. All examples take significantly longer when run on a CPU machine.\n(See the following sections for time estimates.)\n\n**Important**: The tutorials and manuscript examples were originally run on Selene version 0.1.3---and later with Selene 0.2.0 (PyTorch version 0.4.1). Selene has since been updated and files such as `selene-gpu.yml` specify PyTorch version 1.0.0. Please note that models created with an older version of PyTorch (such as those downloadable with the manuscript case studies) may not be compatible with the newer version of PyTorch. If you have trouble using one of our trained models on a CUDA-enabled GPU, it may be the result of differences in PyTorch or CUDA toolkit versions. \n\n### Tutorials\n\nTutorials for Selene are available [here](https://github.com/FunctionLab/selene/tree/master/tutorials).\n\nIt is possible to run the tutorials (Jupyter notebook examples) on a standard CPU machine--you should not expect to fully finish running the training examples unless you can run them for more than 2-3 days, but they can all be run to completion on CPU in a couple of days. You can also change the training parameters (e.g. total number of steps) so that they complete in a much faster amount of time. \n\nThe non-training examples (variant effect prediction, _in silico_ mutagenesis) can be run fairly quickly (variant effect prediction might take 20-30 minutes, _in silico_ mutagenesis in 10-15 minutes). \n\nPlease see the [README](https://github.com/FunctionLab/selene/blob/master/tutorials/README.md) in the `tutorials` directory for links and descriptions to the specific tutorials. \n\n### Manuscript case studies\n\nThe code to reproduce case studies in the manuscript is available [here](https://github.com/FunctionLab/selene/tree/master/manuscript).\n\nEach case has its own directory and README describing how to run these cases. \nWe recommend consulting the step-by-step breakdown of each case study that we provide in the methods section of [the manuscript](https://doi.org/10.1101/438291) as well. \n\nThe manuscript examples were only tested on GPU.\nOur GPU (NVIDIA Tesla V100) time estimates:\n\n- Case study 1 finishes in about 1.5 days on a GPU node.\n- Case study 2 takes 6-7 days to run training (distributed the work across 4 v100s) and evaluation.\n- Case study 3 (variant effect prediction) takes about 1 day to run. \n\nThe case studies in the manuscript focus on developing deep learning models for classification tasks. Selene does support training and evaluating sequence-based regression models, and we have provided a [tutorial to demonstrate this](https://github.com/FunctionLab/selene/blob/master/tutorials/regression_mpra_example/regression_mpra_example.ipynb).", "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/FunctionLab/selene", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "selene-sdk", "package_url": "https://pypi.org/project/selene-sdk/", "platform": "", "project_url": "https://pypi.org/project/selene-sdk/", "project_urls": { "Homepage": "https://github.com/FunctionLab/selene" }, "release_url": "https://pypi.org/project/selene-sdk/0.4.2/", "requires_dist": null, "requires_python": "", "summary": "framework for developing sequence-level deep learning networks", "version": "0.4.2" }, "last_serial": 5874118, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "9d0032ef9b8fd4fcd4bb989301012e15", "sha256": "68ae96f7d591b40e08bf9896f85e1091f768254d7393fdf02111a2f2dfa98b68" }, "downloads": -1, "filename": "selene-sdk-0.0.0.tar.gz", "has_sig": false, "md5_digest": "9d0032ef9b8fd4fcd4bb989301012e15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156104, "upload_time": "2018-07-24T04:15:12", "url": "https://files.pythonhosted.org/packages/8d/8b/17295344bfa095b4b2f06f90bc74b05143477e381a72fe1fb0c5b90939d2/selene-sdk-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "9158dc3966bec7a1d1f81298e26c5466", "sha256": "83a19a34afa469cc497539fdf81598a6a28df262acf26fda77de742d2d68e69b" }, "downloads": -1, "filename": "selene-sdk-0.0.1.tar.gz", "has_sig": false, "md5_digest": "9158dc3966bec7a1d1f81298e26c5466", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 156004, "upload_time": "2018-08-06T21:16:49", "url": "https://files.pythonhosted.org/packages/64/12/7b0b83b2f27567d4c3a2c54c8ee78b48049ff8b6e967db7c64860befde34/selene-sdk-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e288daac1642d8d5510555d28215fe9e", "sha256": "0ee71a8a404edd54ed756f883ed810c114e30be461ada50f6a2959d16e79f57a" }, "downloads": -1, "filename": "selene_sdk-0.1.0-cp36-cp36m-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "e288daac1642d8d5510555d28215fe9e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1494755, "upload_time": "2018-09-07T19:41:07", "url": "https://files.pythonhosted.org/packages/e5/98/d8462209cbaa4092289f8a838bce7674eefdf6a001b402e913d733a95b2a/selene_sdk-0.1.0-cp36-cp36m-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "300fd3c0f322922fe6b2715457cd9b37", "sha256": "aba2677cf2d671a5815f6e5d3d974917185a20bf2616589f77a97a993335c259" }, "downloads": -1, "filename": "selene-sdk-0.1.0.tar.gz", "has_sig": false, "md5_digest": "300fd3c0f322922fe6b2715457cd9b37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64908, "upload_time": "2018-09-07T19:41:08", "url": "https://files.pythonhosted.org/packages/a4/fd/842ad2863cc4f2bf03cdb8452e081051be9a6151f13d714941ac24b43da0/selene-sdk-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "77a6ef820d7a2db2f960cd249449b89e", "sha256": "9c79f6c55d0cefcdb01f17e5e5870c36bb14f6ffb8fdb46542c03f85f7368f43" }, "downloads": -1, "filename": "selene-sdk-0.1.1.tar.gz", "has_sig": false, "md5_digest": "77a6ef820d7a2db2f960cd249449b89e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 64915, "upload_time": "2018-09-24T20:33:11", "url": "https://files.pythonhosted.org/packages/d0/ac/91a78f799a12fe5cffe80d3722ef53648a9f9e82ab2632e6f56bf42f5be5/selene-sdk-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a88510264b039a3c458808911590e21d", "sha256": "d8a7f137400aff54676f99de5514c898ed487390e2434c274683d05d84a642d5" }, "downloads": -1, "filename": "selene-sdk-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a88510264b039a3c458808911590e21d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1413506, "upload_time": "2018-09-25T18:08:40", "url": "https://files.pythonhosted.org/packages/54/98/0da337170c64afd066f7bab175bdc37a9fb7443784d0f4cb0941533afb6c/selene-sdk-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d8e7eda0ece8706a09b3d357ad0ba9a5", "sha256": "d2f88a08ef2b5e040ebe4026cbbc5c63bffe7c2f0e91e7a5b4ce134929e8c843" }, "downloads": -1, "filename": "selene-sdk-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d8e7eda0ece8706a09b3d357ad0ba9a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1414149, "upload_time": "2018-10-04T17:57:28", "url": "https://files.pythonhosted.org/packages/93/d9/180adfb257ec31331201cb81d83bd78c23f47da74706966a605718b2ba88/selene-sdk-0.1.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7526422b0714fa88da3a9c6883a06d40", "sha256": "15723687d385110784e53b3df507936a66b7cfd960d957e756753d944d24d3c1" }, "downloads": -1, "filename": "selene-sdk-0.4.0.tar.gz", "has_sig": false, "md5_digest": "7526422b0714fa88da3a9c6883a06d40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1334406, "upload_time": "2019-07-15T17:59:30", "url": "https://files.pythonhosted.org/packages/0d/ba/2e601d98c1aeeb5f28ffcb3a24b223eadca792078dedf95378c128893f65/selene-sdk-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "a944f1b047ff68028b68674803c4f728", "sha256": "749cc4145b96ac5b8d3279d5685304120f1240d9e00a6b73047fbd0721997f24" }, "downloads": -1, "filename": "selene-sdk-0.4.1.tar.gz", "has_sig": false, "md5_digest": "a944f1b047ff68028b68674803c4f728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1334679, "upload_time": "2019-07-30T16:07:03", "url": "https://files.pythonhosted.org/packages/b4/d1/0d9accd81da79830c86c1a762e9aa7bc6d1352c402a300d6e01f94df37e9/selene-sdk-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "e09d8048ac8c4cfd50075e2d3237b872", "sha256": "87c115276e6fdf5ba405e44b8f92c0b1002e54fbf58e0e914abb5f3b94f79698" }, "downloads": -1, "filename": "selene-sdk-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e09d8048ac8c4cfd50075e2d3237b872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1335897, "upload_time": "2019-09-23T14:56:26", "url": "https://files.pythonhosted.org/packages/fc/08/04aa7da7f67f38068a79c7adda933d9551c688f10fc353c2a627fbe2a9eb/selene-sdk-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e09d8048ac8c4cfd50075e2d3237b872", "sha256": "87c115276e6fdf5ba405e44b8f92c0b1002e54fbf58e0e914abb5f3b94f79698" }, "downloads": -1, "filename": "selene-sdk-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e09d8048ac8c4cfd50075e2d3237b872", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1335897, "upload_time": "2019-09-23T14:56:26", "url": "https://files.pythonhosted.org/packages/fc/08/04aa7da7f67f38068a79c7adda933d9551c688f10fc353c2a627fbe2a9eb/selene-sdk-0.4.2.tar.gz" } ] }