{ "info": { "author": "Saket Choudhary, Wenzheng Li", "author_email": "skchoudh@usc.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Utilities" ], "description": "![alt text](./ribotricer_logo.png)\n\n# ribotricer: Accurate detection of short and long active ORFs using Ribo-seq data\n\n[![Build Status](https://img.shields.io/travis/smithlabcode/ribotricer.svg?style=flat)](https://travis-ci.org/smithlabcode/ribotricer)\n[![install with pip](https://img.shields.io/pypi/v/ribotricer.svg?style=flat)](https://pypi.org/project/ribotricer/)\n[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat)](http://bioconda.github.io/recipes/ribotricer/README.html)\n![python versions](https://img.shields.io/pypi/pyversions/ribotricer)\n[![pypi downloads](https://img.shields.io/pypi/dm/ribotricer)](https://pypi.org/project/ribotricer/)\n[![license](https://img.shields.io/pypi/l/ribotricer)](LICENSE)\n\n[Advanced Access Paper](https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btz878/5637228)\n\n[Supplementary File](https://saket-choudhary.me/pdfs/ribotricer_2019.pdf)\n\n\n## Installation\nWe highly recommend that you install ribotricer via conda: \n\n```bash\nconda install -c bioconda ribotricer\n```\n\nTo install locally, you can either download the source code from release or clone the latest version using ```git clone```.\nAfter you get a copy of the source code, please change into the directory where the source code locates, and type\n\n```bash\npython setup.py install\n```\n\n**NOTE**: The above will install the following depencies: \n\n```\npyfaidx>=0.5.0\npysam>=0.11.2.2\nnumpy>=1.11.0\npandas>=0.20.3\nscipy>=0.19.1\nmatplotlib>=2.1.0\nclick>=6.0\nclick-help-colors>=0.3\nquicksect>=0.2.0\ntqdm>=4.23.4\n```\n\nIf some of these are already present, \nthey might be replaced by the designated version. So we strongly recommend\ncreating a separate enrivoment (using `venv` or `conda`) before installing\n`ribotricer`:\n\n```\nconda create -n ribotricer -c bioconda ribotricer\n```\n\n------------------\n\n## Workflow of ribotricer\n\nIn order to run ribotricer, you need to have the following three files\nprepared including:\n* **genome annotation file** in GTF format, supporting both GENCODE and\nEnsembl annotation\n* **reference genome file** in FASTA format\n* **alignment file** in BAM format\n\n### Preparing candidate ORFs\n\nThe first step of ribotricer is to take the GTF file and the FASTA file to find all\ncandidate ORFs. In order to generate all candidate ORFs, please run\n```bash\nribotricer prepare-orfs --gtf {GTF} --fasta {FASTA} --prefix {RIBOTRICER_INDEX_PREFIX}\n```\n\nThe command above by default only includes ORFs with length longer than 60 nts,\nand only uses 'ATG' as start codon. You can change the setting by including\noptions ```--min_orf_length``` and ```--start_codons```. \n\nOutput: {PREFIX}\\_candidate\\_orfs.tsv.\n\n### Detecting translating ORFs\n\nThe second step of ribotricer is to take the index file generated by ```prepare-orfs```\nand the BAM file to detect the actively translating ORFs by assessing the periodicity\nof all candidate ORFs:\n\n```bash\nribotricer detect-orfs \\\n --bam {BAM} \\\n --ribotricer_index {RIBOTRICER_INDEX_PREFIX}_candidate_ORFs.tsv \\\n --prefix {OUTPUT_PREFIX}\n```\n\n**NOTE**: This above command, by default, uses a phase-score cutoff of 0.428. Our species specific recommended cutoffs\nare as follows:\n\n\n|Species | Cutoff| \n|-------------|-------|\n|Arabidopsis | 0.330 |\n|C. elegans | 0.239 |\n|Baker's Yeast| 0.318 |\n|Drosophila | 0.181 |\n|Human | 0.440 |\n|Mouse | 0.418 |\n|Rat | 0.453 |\n|Zebrafish | 0.249 |\n\nIn order to assign `non-translating` or `translating` status, ribotricer by default\nuses a cutoff threshold of `0.428`. ORFs with phase score above `0.428` are marked as \ntranslating as long as they have at least five codons with non-zero read count.\nBy default, ribotricer does not take coverage into account for predicting an ORF to be\ntranslating or not-translating. However, this behavior can be changed by following \nfilters:\n\n- `--min_valid_codons` (default=5): Minimum number of codons with non-zero reads for determining active translation\n- `--min_valid_codons_ratio` (default=0): Minimum ratio of codons with non-zero reads to total codons for determining active translation\n- `--min_reads_per_codon` (default=0): Minimum number of reads per codon for determining active translation\n- `--min_read_density` (default=0.0): Minimum read density (total_reads/length) over an ORF total codons for determining active translation\n\nFor each of the above filters, an ORF failing **any** of the filters is \nmarked as `non-translating`.\n\nFor example, to ensure that each ORF has at least 3/4 of its codons non-empty,\nwe can specify `--min_valid_codons_ratio` to be 0.75:\n\n```\n\nribotricer detect-orfs \\\n --bam {BAM} \\\n --ribotricer_index {RIBOTRICER_INDEX_PREFIX}_candidate_ORFs.tsv \\\n --prefix {OUTPUT_PREFIX}\n --min_valid_codons_ratio 0.75\n```\n\nThe ORF detection step consists of several small steps including:\n1. Infer the experimental protocol (strandedness of the reads) \nYou can directly assign the strandedness using option ```--stranded```, it can be 'yes',\n'no', or 'reverse'. If this option is not provided, ribotricer will automatically infer the\nexperimental protocol by comparing the strand of reads to the reference. \n\nOutput: {OUTPUT_PREFIX}\\_protocol.txt\n\n2. Split the bam file by strand and read length \nIn this step, all mapped reads will be filtered to include only uniquely mapped reads. Reads\nwill be split by strand and read length with respect to the strandedness provided or inferred\nfrom the previous step. If you only want to include certain read lengths, they can be assigned with\noption ```--read_lengths```. \nOutput: {OUTPUT_PREFIX}\\_bam\\_summary.txt\n\n3. Plot read length distribution \nIn this step, read length distribution will be plotted and serves as quality control \nOutput: {OUTPUT_PREFIX}\\_read\\_length\\_dist.pdf\n\n4. Calculate metagene profiles \nIn this step, the metagene profile of all CDS transcripts for each read length is\ncalculated by aligning with start codon or stop codon. \nOutput: {OUTPUT_PREFIX}\\_metagene\\_profiles\\_5p.tsv is the metagene profile aligning with the\nstart codon and {OUTPUT_PREFIX}\\_metagene\\_profiles\\_3p.tsv is the metagene profile aligning with\nthe stop codon\n\n5. Plot metagene profiles \nIn this step, metagene plots will be made to serve as quality control. \nOutput: {OUTPUT_PREFIX}\\_metagene\\_plots.pdf\n\n6. Align metagene profiles \nIf the P-site offsets are not provided, this step will use cross-correlation to find out the relative\noffsets between different read lengths \nOutput: {OUTPUT_PREFIX}\\_psite\\_offsets.txt\n\n7. merge reads from different read lengths based on P-site offsets \nThis step will integrate reads of different read lengths by shifting with the P-site offsets\n\n8. Export wig file \nA WIG file is exported in this step to be used for visualization in Genome Browser \nOutput: {OUTPUT_PREFIX}\\_pos.wig for the positive strand and {OUTPUT_PREFIX}\\_neg.wig for the negative strand.\n\n9. Export actively translating ORFs \nThe periodicity of all ORF profiles are assessed and the translating ones are outputed. You can output all ORFs regardless\nof the translation status with option ```--report_all``` \nOutput: {OUTPUT_PREFIX}\\_translating\\_ORFs.tsv\n\n------------------\n\n## Definition of ORF types\nRibotricer reports eight different ORF types as defined below:\n* **annotated**: CDS annotated in the provided GTF file\n* **super_uORF**: upstream ORF of the annotated CDS, not overlapping with any CDS of the same gene\n* **super_dORF**: downstream ORF of the annotated CDS, not overlapping with any CDS of the same gene\n* **uORF**: upstream ORF of the annotated CDS, not overlapping with the main CDS\n* **dORF**: downstream ORF of the annotated CDS, not overlapping with the main CDS\n* **overlap_uORF**: upstream ORF of the annotated CDS, overlapping with the main CDS\n* **overlap_dORF**: downstream ORF of the annotated CDS, overlapping with the main CDS\n* **novel**: ORF in non-coding genes or in non-coding transcripts of coding genes\n\n------------------\n\n## Learning cutoff empirically from data\n\nRibotricer can also learn cutoff empirically from the data. Given at least one Ribo-seq and one RNA-seq BAM file,\n`ribotricer` learns the cutoff by running one iteration of the algorithm on the provided files with a prespecified\ncutoff (`--phase_score_cutoff`, default: 0.428) and then uses the generated output to find the median difference between Ribo-seq and RNA-seq phase scores of only candidate ORFs with `transcript_type` set to `protein_coding` (`--filter_by_tx_annotation`).\n\n```\nribotricer learn-cutoff --ribo_bams ribo_bam1.bam,ribo_bam2.bam \\\n--rna_bams rna_1.bam \\\n--prefix ribo_rna_prefix \\\n--ribotricer_index {RIBOTRICER_ANNOTATION}\n```\n\n\n------------------\n\n## Contacts and bug reports\nAndrew D. Smith\nandrewds@usc.edu\n\nSaket Choudhary\nskchoudh@usc.edu\n\nWenzheng Li\nwenzhenl@usc.edu\n\n\nWe are dedicated to make the best ORF detector for Ribo-seq data analysis.\nIf you found a bug or mistake in this project, we would like to know about it.\nBefore you send us the bug report though, please check the following:\n\n1. Are you using the latest version? The bug you found may already have been\n fixed.\n2. Check that your input is in the correct format and you have selected the\n correct options.\n3. Please reduce your input to the smallest possible size that still produces\n the bug; we will need your input data to reproduce the problem, and the\n smaller you can make it, the easier it will be.\n\n------------------\n\n## LICENSE\nRibotricer for detecting actively translating ORFs from Ribo-seq data\nCopyright (C) 2018 Andrew D Smith, Wenzheng Li, Saket Choudhary and\nthe University of Southern California\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or (at\nyour option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see .\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/smithlabcode/ribotricer", "keywords": "", "license": "GPLv3", "maintainer": "Saket Choudhary", "maintainer_email": "saketkc@gmail.com", "name": "ribotricer", "package_url": "https://pypi.org/project/ribotricer/", "platform": "", "project_url": "https://pypi.org/project/ribotricer/", "project_urls": { "Homepage": "https://github.com/smithlabcode/ribotricer" }, "release_url": "https://pypi.org/project/ribotricer/1.3.2/", "requires_dist": [ "pyfaidx (>=0.5.0)", "pysam (>=0.11.2.2)", "numpy (>=1.11.0)", "pandas (>=0.20.3)", "scipy (>=0.19.1)", "matplotlib (>=2.1.0)", "click (>=6.0)", "click-help-colors (>=0.3)", "quicksect (>=0.2.0)", "tqdm (>=4.23.4)" ], "requires_python": ">=3.5", "summary": "Python package to detect translating ORFs from Ribo-seq data", "version": "1.3.2", "yanked": false, "yanked_reason": null }, "last_serial": 7161608, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "ad9c9fe47182728116c7d586f5c23e9d", "sha256": "a7bc46aae94f2230ba65622bcbc744234e6d19b3aeb9fb137dbe225c29a2e215" }, "downloads": -1, "filename": "ribotricer-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ad9c9fe47182728116c7d586f5c23e9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 50855, "upload_time": "2019-05-06T02:18:02", "upload_time_iso_8601": "2019-05-06T02:18:02.699869Z", "url": "https://files.pythonhosted.org/packages/ad/a3/8c874674612a06a809e9e22826986642d02212d4434b1786ad4a20fd67e3/ribotricer-1.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1d13a76b8cec52ba12c2c7b89d0cae84", "sha256": "41cfe3284d66d151fa8bbef20757fbdd3054ef491da0ac0f077566170bcee432" }, "downloads": -1, "filename": "ribotricer-1.0.2.tar.gz", "has_sig": false, "md5_digest": "1d13a76b8cec52ba12c2c7b89d0cae84", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 38519, "upload_time": "2019-05-06T02:18:04", "upload_time_iso_8601": "2019-05-06T02:18:04.460531Z", "url": "https://files.pythonhosted.org/packages/2a/82/e3bac1907309dafd5941b638d53962e24ed71a69dd77a1f5cc7bdc82e407/ribotricer-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "9bf7094f74bddd6e8f6543216ea32e6e", "sha256": "0fb581769993eee74a3240619273a695e457237be00ffbefb238a43ef4039431" }, "downloads": -1, "filename": "ribotricer-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9bf7094f74bddd6e8f6543216ea32e6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 47522, "upload_time": "2019-06-13T20:44:43", "upload_time_iso_8601": "2019-06-13T20:44:43.730523Z", "url": "https://files.pythonhosted.org/packages/04/bf/2691f187e4c4c0fee4aaa7ec4a7885192943fc7a6198b4cff10c904086dc/ribotricer-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4fd19643d16c48f77a1ac27c8a84efbc", "sha256": "17c63ad75fe34ffd57f8a51b982a1143e590e3804fd620e494d2e39adc338163" }, "downloads": -1, "filename": "ribotricer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4fd19643d16c48f77a1ac27c8a84efbc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 38470, "upload_time": "2019-06-13T20:44:45", "upload_time_iso_8601": "2019-06-13T20:44:45.090791Z", "url": "https://files.pythonhosted.org/packages/b8/8e/cfc5bd74b44a285bb11747a0538ffeab698af0bc029831a46c2b295c5707/ribotricer-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7314e1d4fdccc87891dcf99eb25c9775", "sha256": "95b9e8ae535867e9eb0e6483daba8f2746f8f58d9e2d4256ca6e9c1953ec784f" }, "downloads": -1, "filename": "ribotricer-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7314e1d4fdccc87891dcf99eb25c9775", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 51672, "upload_time": "2019-09-27T18:48:16", "upload_time_iso_8601": "2019-09-27T18:48:16.185621Z", "url": "https://files.pythonhosted.org/packages/6c/9d/c945c15867e6fc10cf78154d78e2064e1f5b12320a0341a62d3a91f4256a/ribotricer-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0f593101177fa84be9aec51326dd7c40", "sha256": "f71aa2f965d21fb3b2a5dba183be2e8a81f8d803f218574d20ef924d8b0d6f20" }, "downloads": -1, "filename": "ribotricer-1.1.0.tar.gz", "has_sig": false, "md5_digest": "0f593101177fa84be9aec51326dd7c40", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 42597, "upload_time": "2019-09-27T18:46:55", "upload_time_iso_8601": "2019-09-27T18:46:55.007071Z", "url": "https://files.pythonhosted.org/packages/34/33/e3225bec85bc1fa3e87a66d3bdaa9d03c0d79126378f4f8f4042a00f1b35/ribotricer-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "41c760bc0aa87593ba91847520023f8a", "sha256": "94b5469e92d0bc7004bf06eee0479d568f7df32768809758552113446d59dff7" }, "downloads": -1, "filename": "ribotricer-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "41c760bc0aa87593ba91847520023f8a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 51767, "upload_time": "2019-10-25T01:08:14", "upload_time_iso_8601": "2019-10-25T01:08:14.506219Z", "url": "https://files.pythonhosted.org/packages/c2/57/e128f823b52843fd04353adf7e903d76ddd35e171a33a86eb30f8739f883/ribotricer-1.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9a5587a1d0c7666bfce66e47cc4a5c79", "sha256": "64ce458a81375b0d51efeaa35e5574e0e258ea9a96a15093041bbaa9c96e32e6" }, "downloads": -1, "filename": "ribotricer-1.1.1.tar.gz", "has_sig": false, "md5_digest": "9a5587a1d0c7666bfce66e47cc4a5c79", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 42703, "upload_time": "2019-10-25T01:08:16", "upload_time_iso_8601": "2019-10-25T01:08:16.259306Z", "url": "https://files.pythonhosted.org/packages/85/2b/6f050a0c85ac2c36a2bfb72b994a750c1d1cf4e671887adbe45309d813f2/ribotricer-1.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "624bb6f5a0fa891dc86f6ad819c9bac9", "sha256": "b0619c8affdfac89b021e552e4f43191e364c5a10c0efaf89b1dc77d9f517f0f" }, "downloads": -1, "filename": "ribotricer-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "624bb6f5a0fa891dc86f6ad819c9bac9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 55726, "upload_time": "2019-10-30T06:18:21", "upload_time_iso_8601": "2019-10-30T06:18:21.359662Z", "url": "https://files.pythonhosted.org/packages/da/08/0cea453ddd6309bf48ec4f0e08838266d8e7291f8a7d2d3ae0ed701e7ebd/ribotricer-1.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "18ac0b53f6048ca1b8eff641061499b8", "sha256": "59279c4ef073161943d9c2d4cf6c9f40b04f8d09a2143d14bcb4e236e41b6ca4" }, "downloads": -1, "filename": "ribotricer-1.2.0.tar.gz", "has_sig": false, "md5_digest": "18ac0b53f6048ca1b8eff641061499b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 46796, "upload_time": "2019-10-30T06:18:22", "upload_time_iso_8601": "2019-10-30T06:18:22.821075Z", "url": "https://files.pythonhosted.org/packages/31/58/9981009a89b5345c638fb52c41d68c4e14d9e6f15f7823525395021051d1/ribotricer-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "3115861a465594ca9a443b813b8129c5", "sha256": "e777457ae6e63fde55dc2a233f5a65b8655de354e30b51a63bbc8076297b37bd" }, "downloads": -1, "filename": "ribotricer-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3115861a465594ca9a443b813b8129c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 56684, "upload_time": "2019-11-01T19:55:17", "upload_time_iso_8601": "2019-11-01T19:55:17.350385Z", "url": "https://files.pythonhosted.org/packages/1a/16/76d7d50b84eb63c2d93fd07776bb2b30d653956b3033a61c9becedad9e82/ribotricer-1.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "216cbf8097902c1bca5a3a4da69af3df", "sha256": "b79af3cf21d0a4223d9d5c31aa9e1a7ae0d5bcea58cf11454a4af3ad27fee753" }, "downloads": -1, "filename": "ribotricer-1.3.0.tar.gz", "has_sig": false, "md5_digest": "216cbf8097902c1bca5a3a4da69af3df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 47433, "upload_time": "2019-11-01T19:55:18", "upload_time_iso_8601": "2019-11-01T19:55:18.888644Z", "url": "https://files.pythonhosted.org/packages/9b/5d/0835be776e2fc4c8450ef8836fb1aa1cb0c6f2ba9bba2f76c204b7f91e63/ribotricer-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "c1a0ddbf09d2887ff5753e3ae6826bce", "sha256": "d3fb368cb4a9ba475f1054c79dfa177b70e3425647a099992da9345822185d0f" }, "downloads": -1, "filename": "ribotricer-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c1a0ddbf09d2887ff5753e3ae6826bce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 57082, "upload_time": "2019-12-13T05:09:53", "upload_time_iso_8601": "2019-12-13T05:09:53.708940Z", "url": "https://files.pythonhosted.org/packages/53/10/3069c8dd918cede759276b08c5e137920f003334ec1668966397f449e14c/ribotricer-1.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2bfa6df11407931ec50ee604ba8f1ee0", "sha256": "98ad456ef71653f9c148dee53b95115fb5b1a4b2ca99c340fab3bed01da609ea" }, "downloads": -1, "filename": "ribotricer-1.3.1.tar.gz", "has_sig": false, "md5_digest": "2bfa6df11407931ec50ee604ba8f1ee0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 48269, "upload_time": "2019-12-13T05:09:55", "upload_time_iso_8601": "2019-12-13T05:09:55.577605Z", "url": "https://files.pythonhosted.org/packages/6b/78/9d68aaf23bb5ba4a186c8778fbdcc861d0f9489c5dc0d2d615b565cf3b53/ribotricer-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "c0ee9a411701aebc1303904cb5ca6795", "sha256": "c0aa11b05c3946a479e45c41133e84582b2a231fade160e0f46473d50faf92aa" }, "downloads": -1, "filename": "ribotricer-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c0ee9a411701aebc1303904cb5ca6795", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 57813, "upload_time": "2020-05-04T06:06:41", "upload_time_iso_8601": "2020-05-04T06:06:41.593416Z", "url": "https://files.pythonhosted.org/packages/bc/f9/d20c11fe59eee753b0cc87adbd9e1537a44253354580ff2ca8d3faf4144e/ribotricer-1.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c124fe6315ddc9a0d21280b7eb7a10cb", "sha256": "41cbe299f4f0b60a3804175265ab5f7096b8f220c2d1d8ee698bc22572e19521" }, "downloads": -1, "filename": "ribotricer-1.3.2.tar.gz", "has_sig": false, "md5_digest": "c124fe6315ddc9a0d21280b7eb7a10cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 48761, "upload_time": "2020-05-04T06:06:42", "upload_time_iso_8601": "2020-05-04T06:06:42.997439Z", "url": "https://files.pythonhosted.org/packages/cb/da/3a8806891f2523869dbb984786c60151dd67d83165ecdea2d536c066ed32/ribotricer-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c0ee9a411701aebc1303904cb5ca6795", "sha256": "c0aa11b05c3946a479e45c41133e84582b2a231fade160e0f46473d50faf92aa" }, "downloads": -1, "filename": "ribotricer-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c0ee9a411701aebc1303904cb5ca6795", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 57813, "upload_time": "2020-05-04T06:06:41", "upload_time_iso_8601": "2020-05-04T06:06:41.593416Z", "url": "https://files.pythonhosted.org/packages/bc/f9/d20c11fe59eee753b0cc87adbd9e1537a44253354580ff2ca8d3faf4144e/ribotricer-1.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c124fe6315ddc9a0d21280b7eb7a10cb", "sha256": "41cbe299f4f0b60a3804175265ab5f7096b8f220c2d1d8ee698bc22572e19521" }, "downloads": -1, "filename": "ribotricer-1.3.2.tar.gz", "has_sig": false, "md5_digest": "c124fe6315ddc9a0d21280b7eb7a10cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 48761, "upload_time": "2020-05-04T06:06:42", "upload_time_iso_8601": "2020-05-04T06:06:42.997439Z", "url": "https://files.pythonhosted.org/packages/cb/da/3a8806891f2523869dbb984786c60151dd67d83165ecdea2d536c066ed32/ribotricer-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }