{ "info": { "author": "Michael Hall", "author_email": "mbhall88@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "======\ntaeper\n======\nSimulate repeating a nanopore experiment.\n\n.. image:: https://img.shields.io/pypi/v/taeper.svg\n :target: https://pypi.python.org/pypi/taeper\n\n.. image:: https://img.shields.io/travis/mbhall88/taeper.svg\n :target: https://travis-ci.org/mbhall88/taeper\n\n.. image:: https://readthedocs.org/projects/taeper/badge/?version=latest\n :target: https://taeper.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\nThis tool is designed for anyone developing tools and applications for\nreal-time analysis of Oxford Nanopore sequencing data. The use is quite\nsimple. Given a directory of ``fast5`` files, ``A``, and a destination\ndirectory, ``B``, this tool will copy the files from ``A`` to ``B`` in\nthe same order and timing as they were deposited into the reads folder\nduring the actual experiment. It will also maintain the current directory structure.\n\nI know what you\u2019re thinking: \u201cBut who wants to hang around for 30 hours\nwaiting for a simulation to finish?\u201d Luckily there is an optional\nscaling factor that will speed up the process (``--scale``).\n\nInstallation\n=============\nThis is a **python3 only** package.\n\nTo install, simply run\n\n.. code-block:: bash\n\n pip3 install taeper\n taeper --help\n\nUsage\n======\n\n``taeper`` is designed to simulate the order and timing of fast5 files that\nwere produced in a minION run. You give it an input directory and it will gather\nthe names of all the fast5 files under that directory (including sub-directories).\nIt gathers information about the time when each read finished sequencing and\ncreates a sorted index of all the files. In this index the first file was the first\none sequenced and so on. Attached to each file path is a delay time, ``t`` in seconds.\nThis specifies that that read completed sequencing ``t`` seconds after the one\nbefore it. In this way ``taeper`` can rerun what the experiment looked like in\nterms of the depositing of fast5 files. It then moves those files into a specified\noutput directory and will recreate any subdirectory structures (e.g pass or fail\nfolders).\n\n.. code-block:: bash\n\n taeper --input_dir path/to/reads --output some/place\n\nThis will copy all fast5 files in ``path/to/reads`` to ``some/place`` in the\nexact same timing as they were produced.\n\nIn reality though you probably dont want to wait the full length of time that\nwould take. In that case you can use the scale option.\n\n.. code-block:: bash\n\n taeper --input_dir path/to/reads --output some/place --scale 100\n\nThis will rerun the experiment 100 times faster.\n\nIndexing is the longest step of the process and therefore, by default, an index\nfile of the file order with the time delays is stored in a file called ``taeper_index.npy``.\nKeep in mind that the file paths in the index are relative to the working directory\nit was generated in.\n\nIf you would just like to index but not copy you can do\n\n.. code-block:: bash\n\n taeper --input_dir path/to/reads --dump_index experiment_index.npy\n\nYou just omit the output directory. ``--dump_index`` also allows you to specify a\nname other than the default for the index.\n\nIf you already have an index file and you would like to rerun the experiment then\nyou can provide that index and skip to the copying\n\n.. code-block:: bash\n\n taeper --input_dir path/to/reads --output some/place --index experiment_index.npy --scale 100\n\n**Full usage**\n\n.. code-block:: bash\n\n taeper --help\n usage: taeper [-h] -i INPUT_DIR [--index INDEX] [-o OUTPUT] [--scale SCALE]\n [-d DUMP_INDEX] [--no_index] [--log_level {0,1,2,3,4,5}]\n [--no_progress_bar]\n\n Simulate the real-time depositing of Nanopore reads into a given folder,\n conserving the order they were processed during sequencing. If pass and fail\n folders do not exist in output_dir they will be created if detected in the\n file path for the fast5 file.\n\n optional arguments:\n -h, --help show this help message and exit\n -i INPUT_DIR, --input_dir INPUT_DIR\n Directory where files are located.\n --index INDEX Provide a prebuilt index file to skip indexing. Be\n aware that paths within an index file are relative to\n the current working directory when they were built.\n -o OUTPUT, --output OUTPUT\n Directory to copy the files to. If not specified, will\n generate the index file only.\n --scale SCALE Amount to scale the timing by. i.e scale of 10 will\n deposit the reads 10x fatser than they were generated.\n (Default = 1.0)\n -d DUMP_INDEX, --dump_index DUMP_INDEX\n Path to save index as. Default is 'taeper_index.npy'\n in current working directory. Note: Paths in the index\n are relative to the current working directory.\n --no_index Dont write the index list to file. This will mean it\n needs regenerating for this dataset on each run.\n --log_level {0,1,2,3,4,5}\n Level of logging. 0 is none, 5 is for debugging.\n Default is 4 which will report info, warnings, errors,\n and critical information.\n --no_progress_bar Do not display progress bar.\n\n\nDisclaimer\n~~~~~~~~~~~~~~\n\nThe ``fast5`` file structure has changed a bit over time and as such not all\nfiles will work. Although, I have tested this program with most recent forms and\nit works fine. A logging warning will show up on the console if ``taeper`` is\nunable to read a file or determine it's finish time.\n\n-----------\n\n* Free software: MIT license\n* Documentation: https://taeper.readthedocs.io.\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.0 (2018-03-26)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mbhall88/taeper", "keywords": "taeper", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "taeper", "package_url": "https://pypi.org/project/taeper/", "platform": "", "project_url": "https://pypi.org/project/taeper/", "project_urls": { "Homepage": "https://github.com/mbhall88/taeper" }, "release_url": "https://pypi.org/project/taeper/0.1.0/", "requires_dist": [ "ont-fast5-api", "numpy" ], "requires_python": "", "summary": "Simulate repeating a nanopore experiment.", "version": "0.1.0" }, "last_serial": 3722677, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2cc6773cb2d8e11284d0370913277ab9", "sha256": "0ec603894ca6a1866dddfe9d6725d83aeac04922a5ec58210a61dd109af3217f" }, "downloads": -1, "filename": "taeper-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2cc6773cb2d8e11284d0370913277ab9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12376, "upload_time": "2018-03-31T20:21:34", "url": "https://files.pythonhosted.org/packages/88/8f/f20cddb772cb28dd7d89e56bbc95badbdd43ed0e23eacb1b25214fef870f/taeper-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7520b160061dd7aaae9fcc21746dc5f", "sha256": "c336aa0d40f658703cecad8dace4c3212fbefff0fdf159b239f5ccf676c6e929" }, "downloads": -1, "filename": "taeper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b7520b160061dd7aaae9fcc21746dc5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1351175, "upload_time": "2018-03-31T20:21:36", "url": "https://files.pythonhosted.org/packages/35/9c/3d0c593617d211ed812cf089cf59b34d18555d7b3810e07249a182768737/taeper-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2cc6773cb2d8e11284d0370913277ab9", "sha256": "0ec603894ca6a1866dddfe9d6725d83aeac04922a5ec58210a61dd109af3217f" }, "downloads": -1, "filename": "taeper-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2cc6773cb2d8e11284d0370913277ab9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12376, "upload_time": "2018-03-31T20:21:34", "url": "https://files.pythonhosted.org/packages/88/8f/f20cddb772cb28dd7d89e56bbc95badbdd43ed0e23eacb1b25214fef870f/taeper-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7520b160061dd7aaae9fcc21746dc5f", "sha256": "c336aa0d40f658703cecad8dace4c3212fbefff0fdf159b239f5ccf676c6e929" }, "downloads": -1, "filename": "taeper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b7520b160061dd7aaae9fcc21746dc5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1351175, "upload_time": "2018-03-31T20:21:36", "url": "https://files.pythonhosted.org/packages/35/9c/3d0c593617d211ed812cf089cf59b34d18555d7b3810e07249a182768737/taeper-0.1.0.tar.gz" } ] }