{ "info": { "author": "Lilian Yang-crosson, Pierre Poulain", "author_email": "pierre.poulain@cupnet.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Chemistry" ], "description": "[![PyPI version](https://badge.fury.io/py/seq-to-first-iso.svg)](https://badge.fury.io/py/seq-to-first-iso)\n[![Conda](https://img.shields.io/conda/v/bioconda/seq-to-first-iso.svg?color=bright-green)](https://anaconda.org/bioconda/seq-to-first-iso)\n[![Build Status](https://travis-ci.org/pierrepo/seq-to-first-iso.svg?branch=master)](https://travis-ci.org/pierrepo/seq-to-first-iso)\n[![Documentation Status](https://readthedocs.org/projects/seq-to-first-iso/badge/?version=latest)](https://seq-to-first-iso.readthedocs.io/en/latest/?badge=latest)\n\n# Seq-to-first-iso\n\n> Compute first two isotopologues intensity from peptide sequence\n\nSeq-to-first-iso computes isotopologues M0 and M1 of peptides with a 99.99 % 12C enrichment for quantification by [SLIM-labeling](https://www.mcponline.org/content/16/11/2017). \nIt simulates auxotrophies by differentiating labelled and unlabelled amino acids.\n\nThe documentation can be found [here](https://seq-to-first-iso.readthedocs.io/en/latest/). \nTry the demo with Binder: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pierrepo/seq-to-first-iso/master)\n\n## Installation\n\n### With pip\n\n```\n$ pip install seq-to-first-iso\n```\n\n### With conda\n\n```\n$ conda install seq-to-first-iso -c bioconda\n```\n\n### Developer mode\n\n\nInstall [conda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html)\n\nClone repo:\n```\n$ git clone https://github.com/pierrepo/seq-to-first-iso\n$ cd seq-to-first-iso\n```\n\nCreate conda environment:\n```\n$ conda env create -f environment.yml\n```\n\nRemark: for a fully reproducible environment, you could also use:\n```\n$ conda env create -f environment.lock.yml\n```\n\n\nActivate conda environment:\n```\n$ conda activate seq-to-first-iso\n```\n\nInstall local package:\n```\n$ pip install -e .\n```\n\n## Usage\n\nThe script takes a file with one sequence of amino acids per line and returns a tsv of the file with columns:\n\n|sequence|mass|formula|formula_X| M0_NC\u00a0| M1_NC\u00a0| M0_12C\u00a0| M1_12C\u00a0|\n|--------|----|-------|---------|-------|-------|--------|--------|\n\nOnce installed, the script can be called with:\n\n```shell\n$ seq-to-first-iso filename [-o output_name] [-n amino_acids...]\n```\nOptional arguments are in square brackets \nThis will create _filename_stfi.tsv_ if filename is a correct file\n\n**0.3.0 :** The input file can have annotations separated by a tabulation before the sequences \n**0.4.0 :** Support for [X!Tandem](https://www.thegpm.org/tandem/) Post-Translational Modifications added\n\n### Options\n\n- `-h, --help`: \nProvide a help page\n\n- `-v, --version`: \nProvide the version\n\n- `-o, --output`: \nChange the name of the output file\n\n- `-n, --non-labelled-aa`: \nTake 1 or more amino acid separated by a comma\n\n\n### Examples\n\n- You can provide a list of amino acids which will keep default isotopic abundance:\n\nSupposing [peptides.txt](https://github.com/pierrepo/seq-to-first-iso/blob/master/notebooks/peptides.txt) :\n\n```\nYAQEISR\nVGFPVLSVKEHK\nLAMVIIKEFVDDLK\n```\n\nThe command\n```shell\n$ seq-to-first-iso peptides.txt -n V,W\n```\nwill create [peptides_stfi.tsv](https://github.com/pierrepo/seq-to-first-iso/blob/master/notebooks/peptides_stfi.tsv) :\n\n|sequence| mass| formula|formula_X| M0_NC| M1_NC| M0_12C| M1_12C|\n|--------|-----|--------|---------|------|------|-------|-------|\nYAQEISR| 865.42938099921| C37H59O13N11| C37H59O13N11| 0.6206414140575179|\t0.280870823368276| 0.9206561231798033| 0.05161907174495234|\nVGFPVLSVKEHK| 1338.7659712609| C63H102O16N16| C48H102O16N16X15| 0.4550358985377136| 0.34506032928190855| 0.7589558393662944| 0.18515489894512063|\nLAMVIIKEFVDDLK| 1632.91606619252| C76H128O21N16S1| C66H128O21N16S1X10| 0.36994021481230627| 0.3373188347614264| 0.7475090558698947| 0.15292723586285323|\n\nWhere, in 12C enrichment conditions, the isotopologue intensity M0_12C and M1_12C are computed with unlabelled Valine and Tryptophan (V and W have default isotopic abundance)\n\n\n- You can change the name of the output file:\n\n```shell\n$ seq-to-first-iso peptides.txt -o sequence\n```\nwill create a file named *sequence.tsv*\n\n\n## Credits\n\n- **Binder**\n - Jupyter et al., \"Binder 2.0 - Reproducible, Interactive, Sharable Environments for Science at Scale.\" Proceedings of the 17th Python in Science Conference. 2018. 10.25080/Majora-4af1f417-011\n\n- **Bioconda**:\n - Gr\u00fcning, Bj\u00f6rn, Ryan Dale, Andreas Sj\u00f6din, Brad A. Chapman, Jillian Rowe, Christopher H. Tomkins-Tinch, Renan Valieris, the Bioconda Team, and Johannes K\u00f6ster. 2018. \u201cBioconda: Sustainable and Comprehensive Software Distribution for the Life Sciences\u201d. *Nature Methods*, 2018 doi:10.1038/s41592-018-0046-7.\n\n- **MIDAs**:\n - Alves G, Ogurtsov AY, Yu YK (2014) Molecular Isotopic Distribution Analysis (MIDAs) with adjustable mass accuracy. *J Am Soc Mass Spectrom*, 25: 57-70. DOI: 10.1007/s13361-013-0733-7\n\n- **Pyteomics**:\n - Goloborodko, A.A.; Levitsky, L.I.; Ivanov, M.V.; and Gorshkov, M.V. (2013) \u201cPyteomics - a Python Framework for Exploratory Data Analysis and Rapid Software Prototyping in Proteomics\u201d, *Journal of The American Society for Mass Spectrometry*, 24(2), 301\u2013304. DOI: 10.1007/s13361-012-0516-6\n\n - Levitsky, L.I.; Klein, J.; Ivanov, M.V.; and Gorshkov, M.V. (2018) \u201cPyteomics 4.0: five years of development of a Python proteomics framework\u201d, *Journal of Proteome Research*. DOI: 10.1021/acs.jproteome.8b00717\n\n- **SLIM-labeling**:\n - L\u00e9ger T, Garcia C, Collomb L, Camadro JM. A Simple Light Isotope Metabolic Labeling (SLIM-labeling) Strategy: A Powerful Tool to Address the Dynamics of Proteome Variations In Vivo. *Mol Cell Proteomics*. 2017;16(11):2017\u20132031. doi:10.1074/mcp.M117.066936\n\n# Changelog\n\n**Dev**\n\n**0.5.1** (2019-07-10)\n\n*Fixed*\n- seq_to_xcomp() can now correctly take a pyteomics.mass.Composition object as the second parameter\n\n**0.5.0** (2019-07-03)\n\n*Added*\n- Flag for version number in CLI\n- Jupyter notebook with Binder environment for demonstrations\n- Documentation on Read the Docs\n- Disponibility on conda\n\n*Changed*\n- **Breaking change** : changed seq_to_midas() to seq_to_xcomp()\n- **Breaking change** : changed seq_to_tsv() to seq_to_df()\n\n**0.4.3** (2019-06-26)\n\n*Fixed*\n- Fix requirements not being installed with `pip install`\n\n**0.4.2** (2019-06-25)\n\n*Fixed*\n- Fix *setup.cfg*'s installation requirements\n\n**0.4.1** (2019-06-24)\n\n- Extend numpydoc style to all functions in *seq_to_first_iso.py*\n\n**0.4.0** (2019-06-21)\n\n*Changed*\n- Add support for Xtandem Parsing\n - **Breaking change:** sequence_parser() now returns a dict with \"annotations\", \"raw_sequences\", \"sequences\", \"modifications\" and \"ignored_lines\"\n - Add get_mods_composition() that returns a composition from a list of Unimod PTMs\n - Remove the appended \"\\_stfi\" if -o flag is provided\n\n**0.3.0** (2019-04-18)\n\n*Changed*\n- Add support for files with annotations before the sequences\n - **Breaking change:** sequence_parser() now returns (annotations, sequences, ignored_lines)\n - seq_to_tsv() now accepts (sequences, unlabelled_aa, annotations=None)\n\n*Fixed*\n- Output files now have \"\\_stfi\" appended to differentiate from .tsv input files with the same name\n\n**0.2.1** (2019-04-17)\n- Format CHANGELOG\n\n**0.2.0** (2019-04-17)\n- Add bumpversion\n\n*Changed*\n- seq_to_tsv() no longer writes a file, instead it returns a dataframe\n\n**0.1.0** (2019-04-08)\n- First release\n\nBSD 3-Clause License\n\nCopyright (c) 2019, Lilian Yang-crosson All rights reserved.\nCopyright (c) 2019, Pierre Poulain All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\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/pierrepo/seq-to-first-iso", "keywords": "proteomics,spectrometry,isotopologues", "license": "BSD 3-Clause License", "maintainer": "", "maintainer_email": "", "name": "seq-to-first-iso", "package_url": "https://pypi.org/project/seq-to-first-iso/", "platform": "", "project_url": "https://pypi.org/project/seq-to-first-iso/", "project_urls": { "Homepage": "https://github.com/pierrepo/seq-to-first-iso" }, "release_url": "https://pypi.org/project/seq-to-first-iso/0.5.1/", "requires_dist": [ "pandas", "pyteomics[unimod]" ], "requires_python": ">=3.6", "summary": "Compute first two isotopologues intensity from peptide sequence.", "version": "0.5.1" }, "last_serial": 5510832, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f06b56ec6d54206a927b9af4e7f6f94a", "sha256": "2ba82d7f82c63af193c8c6600515923a0c5e720b2a18b1ef12798307e7fe86a7" }, "downloads": -1, "filename": "seq_to_first_iso-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f06b56ec6d54206a927b9af4e7f6f94a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9526, "upload_time": "2019-04-08T14:56:43", "url": "https://files.pythonhosted.org/packages/9d/9d/db685017805fcb8b376ca29308287e278964a58a797b13586826e02cedf5/seq_to_first_iso-0.1.0-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "50429db7b74a549dacae7be0836dda26", "sha256": "88c1c131c646f6088b3121b794917477fc2a94e748cb0fbe34984354ec3f8250" }, "downloads": -1, "filename": "seq_to_first_iso-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "50429db7b74a549dacae7be0836dda26", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12657, "upload_time": "2019-04-17T10:33:06", "url": "https://files.pythonhosted.org/packages/ea/89/6fa7fc77e6d3bef8b18d1e36bff7523eb6c86b878a15689015249d559fe0/seq_to_first_iso-0.2.0-py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e3e6fb49ea3fbe55012505c733417a66", "sha256": "75b5c557987ede7ac70000d9d3b73daaecbbe44eee4cdc00a1bf99cd03b5e2bc" }, "downloads": -1, "filename": "seq_to_first_iso-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e3e6fb49ea3fbe55012505c733417a66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12665, "upload_time": "2019-04-17T10:47:42", "url": "https://files.pythonhosted.org/packages/d8/34/fe3c4975c5134446f51cad77a50f5a20498363344a65d1dae0b88c9b1287/seq_to_first_iso-0.2.1-py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "358ae14093c40123811365493e0d6938", "sha256": "e745131c9eb7ba52e969372b236eec5810547ab081cc506594871de986b5685a" }, "downloads": -1, "filename": "seq_to_first_iso-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "358ae14093c40123811365493e0d6938", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 10204, "upload_time": "2019-04-24T12:04:40", "url": "https://files.pythonhosted.org/packages/54/37/8c625e5ad9b3f5f4d10af0d0f7e12b8fc7d466e1f5b21c872f3d8f29c567/seq_to_first_iso-0.3.0-py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0eb68e3a0a371849aadfa4edf8237020", "sha256": "812a83bf9d4c1c85577707d2595f525b35e520631da322cfed274010c7cdfdc7" }, "downloads": -1, "filename": "seq_to_first_iso-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0eb68e3a0a371849aadfa4edf8237020", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12410, "upload_time": "2019-06-21T12:59:06", "url": "https://files.pythonhosted.org/packages/dc/88/8b9a88e183dc5e7da76dbbbc99b91de5003d5c6da80fdbd48298884fd22a/seq_to_first_iso-0.4.0-py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "f8695fc9d688c78a058633d2aa07f1af", "sha256": "bb0313bb950d9e0c93528c559bd04a3187b7384cae63c9bf886da47636a62303" }, "downloads": -1, "filename": "seq_to_first_iso-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f8695fc9d688c78a058633d2aa07f1af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12811, "upload_time": "2019-06-24T08:46:12", "url": "https://files.pythonhosted.org/packages/e1/20/04a3204efb4c67d5f1aaf42f7ae48a6c33c18af5b2f78c3b3651797a2536/seq_to_first_iso-0.4.1-py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "ecc55a023e31cbfb99510e690ba8edd1", "sha256": "8eafdacef6895143dcaed9c007c7144a1275174de2833cd78d47ce3e4df12196" }, "downloads": -1, "filename": "seq_to_first_iso-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ecc55a023e31cbfb99510e690ba8edd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12855, "upload_time": "2019-06-25T08:15:28", "url": "https://files.pythonhosted.org/packages/df/28/fa5f636173eed17c83938713cae93bf1a4b6dcb2e0cb507af09cf3fee2b7/seq_to_first_iso-0.4.2-py3-none-any.whl" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "08fe67a2c3279afc0eccdfcf5bc9b30c", "sha256": "6762505e67ca750a62eca67c52e8ecdcb7b0d9e2a32ea0859f3ff9636d31556c" }, "downloads": -1, "filename": "seq_to_first_iso-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "08fe67a2c3279afc0eccdfcf5bc9b30c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 12880, "upload_time": "2019-06-26T08:09:40", "url": "https://files.pythonhosted.org/packages/8e/60/6c296d4494741a10eb0e82e22abbf103263239c71a8ecab7e89224a99ecd/seq_to_first_iso-0.4.3-py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "34ab0247b80eac15e2b3bc8061ec4e85", "sha256": "963f25a269a09b4d4e0c71714b017dd560a602aaa04540eec9ec0030e4a26882" }, "downloads": -1, "filename": "seq_to_first_iso-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "34ab0247b80eac15e2b3bc8061ec4e85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13313, "upload_time": "2019-07-03T12:53:30", "url": "https://files.pythonhosted.org/packages/b3/02/705c3df6b5ed7ded5c3335071a8ee31e5db503b69d7a16fa4d0af66e0955/seq_to_first_iso-0.5.0-py3-none-any.whl" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "229b0f1f9337117c3008a1c115c75438", "sha256": "c1d27134b5f651060e43056348fdf00b260b08041b19ad1e7fdec738a8cd7d3e" }, "downloads": -1, "filename": "seq_to_first_iso-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "229b0f1f9337117c3008a1c115c75438", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13819, "upload_time": "2019-07-10T08:45:51", "url": "https://files.pythonhosted.org/packages/e3/f4/00ac833f817cb4ee0fbcb3e9f20567a9302c49597c3f6ac398803745e57b/seq_to_first_iso-0.5.1-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "229b0f1f9337117c3008a1c115c75438", "sha256": "c1d27134b5f651060e43056348fdf00b260b08041b19ad1e7fdec738a8cd7d3e" }, "downloads": -1, "filename": "seq_to_first_iso-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "229b0f1f9337117c3008a1c115c75438", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13819, "upload_time": "2019-07-10T08:45:51", "url": "https://files.pythonhosted.org/packages/e3/f4/00ac833f817cb4ee0fbcb3e9f20567a9302c49597c3f6ac398803745e57b/seq_to_first_iso-0.5.1-py3-none-any.whl" } ] }