{ "info": { "author": "Jorrit Boekel", "author_email": "jorrit.boekel@scilifelab.se", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "# msstitch - MS proteomics post-processing utilities\n\nShotgun proteomics has a number of bioinformatic tools available for identification \nand quantification of peptides, and the subsequent protein inference. `msstitch` is a \ntool to integrate a number of these tools, generating ready to use result files.\n\nIf you need support for a specific program, there is limited time but infinite gratitude :)\n\n## Usage\n\n### Storing data\nAn example command flow would first store mzML spectra data in an SQLite file:\n\n```\nmsstitch storespectra --spectra file1.mzML file2.mzML \\\n --setnames sampleset1 sampleset2 -o db.sqlite\n```\n\nOr, to add spectra to an existing SQLite lookup:\n\n```\nmsstitch storespectra --dbfile lookup.sqlite --spectra file3.mzML file4.mzML \\\n --setnames sampleset2 sampleset3\n```\n\nThen store quantification data from dinosaur (MS1 precursor quant) and isobaric \nquantification (including precursor purities, but use centroided MS1 for this)\nfrom OpenMS together with the spectra:\n\n```\nmsstitch storequant --dbfile db.sqlite --spectra file1.mzML file2.mzML \\\n --dinosaur file1.dinosaur file2.dinosaur \\\n --isobaric file1.consensusXML file2.consensusXML\n```\n\nWhen using Hardklor/Kronik instead of Dinosaur, you can instead use:\n\n```\nmsstitch storequant --dbfile db.sqlite --spectra file1.mzML file2.mzML \\\n --kronik file1.kronik file2.kronik \\\n --isobaric file1.consensusXML file2.consensusXML\n```\n\nFor both Dinosaur and Kronik, the MS1 peak sum is used which theoretically would be more correct\nwhen having differently shaped envelopes. If you'd rather use the envelope apex, pass `--apex`\nin the above command.\n\n\n### Handling MS search engines\nCreate a decoy database where peptides are reversed between tryptic residues:\n\n```\nmsstitch makedecoy uniprot.fasta -o decoy.fasta --scramble tryp_rev --maxshuffle 10\n```\n\nOr without removing peptide sequences that match to the target DB:\n\n```\nmsstitch makedecoy uniprot.fasta -o decoy.fasta --scramble tryp_rev --ignore-target-hits\n```\n\nSpecify modifications and create a mod-file for MSGF+:\n\n```\nmsstitch mods --dbfile db.sqlite --modnames Phospho Oxidation Carbamidomethylation TMT6plex \\\n --msgffile mods.txt\n```\n\nAfter running two samples of MSGF and percolator, we can start making \na more proper set of PSM tables by adding percolator data and filtering\non FDR. The following adds percolator svm-score, q-value (FDR), and posterior\nerror as columns to the PSM table:\n\n```\n# Add percolator data, filter 0.01 FDR\nmsstitch perco2psm -i psms1.txt \\\n --perco percolator1.xml --mzid psms1.mzIdentML \\\n --filtpsm 0.01 --filtpep 0.01\nmsstitch perco2psm -i psms2.txt \\\n --perco percolator2.xml --mzid psms2.mzIdentML \\\n --filtpsm 0.01 --filtpep 0.01\n# Combine the two sets and split to a target and decoy file\nmsstitch concat -i psms1.txt psms2.txt -o allpsms.txt\nmsstitch split -i allpsms.txt --splitcol TD\n```\n\nNow refine the PSM tables, using the earlier created SQLite DB, \nadding more information (sample name, MS1 precursor quant,\nisobaric quant, proteingroups, genes). In this example we set isobaric\nquantitation intensities to NA if the precursor purity measured is <0.3.\n\n```\ncp db.sqlite decoy_db.sqlite\nmsstitch psmtable -i target.tsv -o target_psmtable.txt --fasta uniprot.fasta \\\n --dbfile db.sqlite --addmiscleav --addbioset --ms1quant --isobaric \\\n --min-precursor-purity 0.3 --proteingroup --genes\nmsstitch psmtable -i decoy.tsv -o decoy_psmtable.txt --fasta decoy.fasta \\\n --dbfile decoy_db.sqlite --proteingroup --genes --addbioset\n```\n\nIf necessary (e.g. multiple TMT sample sets), split the table before making\nprotein/peptide tables:\n\n```\nmsstitch split -i target_psmtable.txt --splitcol bioset\n```\n\n### Summarizing PSMs\nCreate a peptide table, with summarized median isobaric quant ratios,\nhighest MS1 intensity PSM as the peptide MS1 quant intensity, and an additional\nlinear-modeled q-value column:\n\n```\nmsstitch peptides -i set1_target_psms.txt -o set1_target_peptides.txt \\\n --scorecolpattern svm --modelqvals --ms1quant \\\n --isobquantcolpattern tmt10plex --denompatterns _126 _127C \n```\n\nThe same peptide table can also be made using median sweeping, which takes the median\nintensity channel for each PSM as a denominator. Here is also exemplified how\nto do channel-median centering of the ratios to normalize and use log2 intensity\nvalues before calculating ratios:\n\n```\nmsstitch peptides -i set1_target_psms.txt -o set1_target_peptides.txt \\\n --scorecolpattern svm --modelqvals --ms1quant \\\n --isobquantcolpattern tmt10plex --mediansweep --logisoquant --median-normalize\n```\n\nOr, if you only want the median PSM intensity per peptide summarized, use `--medianintensity`\nHere is also illustrated that you can use the --keep-psms-na-quant flag to NOT\nthrow out the PSMs which have isobaric intensity below the mininum intensity \n(default 0, here 100) IN ANY channel:\n\n```\nmsstitch peptides -i set1_target_psms.txt -o set1_target_peptides.txt \\\n --scorecolpattern svm --modelqvals --ms1quant \\\n --isobquantcolpattern tmt10plex --medianintensity \\\n --minint 100 --keep-psms-na-quant\n```\n\nIn case of analyzing peptides with PTMs, you may want to process a subset of\nPSMs (those with the PTMs) to create a separate peptide table from. In\nthat case, there is an option to divide (or subtract for log2 data) isobaric \nquant values to a protein (or gene) table from a non-PTM search, often done on\nanother non-enriched sample. This allows discerning PTM-peptide \ndifferential expression from its respective protein differential expression in the sample.\nThe protein/gene table should obviously contain the same samples/channel,\nand for example be from an `msstitch proteins` or `msstitch isosummarize` command,\nusing `--median-normalize` to get median centered ratios for the proteins or genes.\nAfter that, create a peptide table from PTM-PSMs as follows:\n\n```\nmsstitch peptides -i set1_ptm_psms.txt -o set1_ptm_peptides.txt \\\n --scorecolpattern svm --isobquantcolpattern tmt10plex --denompatterns _126 _127C \\\n --logisoquant --totalproteome set1_proteins.txt\n```\n\nFor proper median centering of this table (as it would otherwise be impacted by\nsample differences per channel), you may want to median-center. In the case of \nsmall and possibly noisy PTM tables, it can be advisable to use another table\nfrom a global search (or e.g. the full peptide or protein table from the PTM search)\nfor determining channel medians. This is possible by specifying the above command\nplus:\n\n```\n --median-normalize --normalization-factors-table /path/to/set1_global_proteins.txt\n```\n\nTo create a protein table, with isobaric quantification as for peptides, the\naverage of the top-3 highest intensity peptides for MS1 quantification:\nFor all of these, summarizing isobaric PSM data to peptide, protein, gene features \nis done using medians of log2 PSM quantification values per feature (e.g. a protein). If you'd\nrather use averages, use `--summarize-average` as below, where we also show log2\ntransformation of intensities before summarizing and subsequent median-centering:\n\n```\nmsstitch proteins -i set1_target_peptides.txt --decoyfn set1_decoy_peptides \\\n --psmtable set1_target_psms.txt \\\n -o set1_proteins.txt \\\n --scorecolpattern '^q-value' --logscore \\\n --ms1quant \\\n --isobquantcolpattern tmt10plex --denompatterns _126 _127C \\\n --summarize-average --logisoquant --median-normalize\n```\n\nOr the analogous process for genes, using median sweeping to get intensity ratios instead of denominators:\nAs for peptides above, one can use the --keep-psms-na-quant flag to NOT\nthrow out the PSMs which have isobaric intensity below the mininum intensity\n(default 0 used here) in any channel\n\n```\nmsstitch genes -i set1_target_peptides.txt --decoyfn set1_decoy_peptides \\\n --psmtable set1_target_psms.txt \\\n -o set1_genes.txt \\\n --scorecolpattern '^q-value' --logscore \\\n --ms1quant \\\n --isobquantcolpattern tmt10plex --mediansweep \\\n --keep-psms-na-quant\n```\n\nOr when there are ENSEMBL entries in the fasta search database, even for ENSG, here with summarized median PSM intensity per ENSG:\n\n```\nmsstitch ensg -i set1_target_peptides.txt --decoyfn set1_decoy_peptides \\\n --psmtable set1_target_psms.txt \\\n -o set1_ensg.txt \\\n --scorecolpattern '^q-value' --logscore \\\n --ms1quant \\\n --isobquantcolpattern tmt10plex --medianintensity \\\n --median-normalize\n```\n\nFinally, merge multiple sets of proteins (or genes/ENSG) into a single output.\nHere we set an cutoff so that features with FDR > 0.01 are set to NA for the \nrespective sample set.\n\n```\nmsstitch merge -i set1_proteins.txt set2_proteins.txt -o protein_table.txt \\\n --setnames sampleset1 sampleset2 \\\n --dbfile db.sqlite \\\n --fdrcolpattern 'q-value' --mergecutoff 0.01 \\\n --ms1quantcolpattern area --isobquantcolpattern plex\n```\n\n\n### Some other useful commands\nTrypsinize a fasta file (minimum retained peptide length, do cut K/RP, allow 1 missed cleavage)\n\n```\nmsstitch trypsinize -i uniprot.fasta -o tryp_up.fasta --minlen 7 \\\n --cutproline --miscleav 1\n```\n\nCreate an SQLite file with tryptic sequences for filtering out e.g. known-sequence data.\nOptions as for trypsinization, --insourcefrag builds lookup with support for \nin-source fragmented peptides that have lost some N-terminal residues:\n\n```\nmsstitch storeseq -i canonical.fa --cutproline --minlen 7 \\\n --miscleav 1 --insourcefrag\n```\n\nFilter a percolator output file using the created SQLite, removing sequences\nthat match those stored in the SQLite. The below also removes sequences in the \nsample which are deamidated (i.e. D -> N), and sequences that have lost at most\n2 N-terminal amino acids due to in-source fragmentation (DB must have been \nbuilt with support for that).\n\n```\nmsstitch filterperco -i perco.xml --dbfile tryptic.sqlite \\\n --insourcefrag 2 --deamidate -o filtered.xml\n```\n\nCreate an SQLite file with full-protein sequences for filtering any peptide of \na minimum length specified that matches to those. Slower than filtering tryptic \nsequences but more comprehensive:\n\n```\nmsstitch storeseq -i canonical.fa --fullprotein --minlen 7\n```\n\nFilter a percolator output file on protein sequences using the SQLite, removing \nsequences in sample which match to anywhere in the protein. Sequences may be \ndeamidated, and minimum length parameter must match the one the database is \nbuilt with.\n\n```\nmsstitch filterperco -i perco.xml --dbfile proteins.sqlite \\\n --fullprotein --deamidate --minlen 7 -o filtered.xml\n```\n\n\nCreate an isobaric ratio table median-summarizing the PSMs by any column number \nyou want in a PSM table. E.g. you have added a column with exons. The following \nuses average of two channels as denominator, outputs a new table with first column\nthe features found in column nr.20 of the PSM table:\n\n```\nmsstitch isosummarize -i psm_table.txt --featcol 20 \\\n --isobquantcolpattern tmt10plex --denompatterns 126 127C\n```\n\n\nRe-use an earlier PSM table and add PSMs from searched spectra files of a new or\nre-searched sample. Saves time so you won't have to re-search all the spectra \nin case of a big analysis. In the example below, new PSMs are the result of a \nsample set that has been re-searched, (e.g. when MS reruns are done in case of \nbad spectra), so we delete the existing sample set before continuing. \nProtein grouping is done after regenerating the PSM table, to illustrate you \ncan do protein grouping on the entire table\ninstead of only on the sample set. Since the new table is the one which supplies\nthe header, the columns not supplied in the command (here protein groups) will\nbe removed from the final result. This function assumes all PSMs presented are\nin the same order in the table, so they should not have been inserted in parallel,\nsafest is to not generate the lookup table by hand.\n\n```\nmsstitch deletesets -i old_psmtable.txt -o cleaned_psmtable.txt \\\n --dbfile db.sqlite --setnames bad_set\nmsstitch psmtable -i rerun_target.tsv --oldpsms cleaned_psmtable.txt \\\n -o new_almost_done_psmtable.txt --fasta uniprot.fasta \\\n --dbfile db.sqlite --addmiscleav --addbioset --ms1quant --isobaric\nmsstitch psmtable -i new_almost_done_psmtable.txt -o new_target_psms.txt \\\n --proteingroup\n```\n\nIt is also possible to only pass a PSM table to `deletesets`:\n\n```\nmsstitch deletesets -i old_psmtable.txt -o cleaned_psmtable.txt \\\n --setnames bad_set\n```\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/lehtiolab/msstitch", "keywords": "mass spectrometry,proteomics,processing", "license": "MIT", "maintainer": "Jorrit Boekel", "maintainer_email": "jorrit.boekel@scilifelab.se", "name": "msstitch", "package_url": "https://pypi.org/project/msstitch/", "platform": "", "project_url": "https://pypi.org/project/msstitch/", "project_urls": { "Homepage": "https://github.com/lehtiolab/msstitch" }, "release_url": "https://pypi.org/project/msstitch/3.9/", "requires_dist": [ "numpy", "lxml", "biopython", "jinja2" ], "requires_python": "", "summary": "MS proteomics post processing utilities", "version": "3.9", "yanked": false, "yanked_reason": null }, "last_serial": 12884750, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "67810ebfe02f24008d74658ad857369e", "sha256": "5a5b3a654841876fe83687986fcd11db929deb1e10d9f1463f3c14a0a6583e67" }, "downloads": -1, "filename": "msstitch-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "67810ebfe02f24008d74658ad857369e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 112049, "upload_time": "2016-03-24T09:44:26", "upload_time_iso_8601": "2016-03-24T09:44:26.412155Z", "url": "https://files.pythonhosted.org/packages/23/07/b3930ab2e682bcbab9e3f6fbe600ce04d44a2fd3919156280ef63493c8fc/msstitch-1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "54bd24bc3055309c07a5b9d73d978015", "sha256": "6ac0c1cc9b5de89c3fd5d465841335be8b6da86b528af68832a236414d521428" }, "downloads": -1, "filename": "msstitch-1.0.tar.gz", "has_sig": false, "md5_digest": "54bd24bc3055309c07a5b9d73d978015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5154164, "upload_time": "2016-03-24T09:44:52", "upload_time_iso_8601": "2016-03-24T09:44:52.982316Z", "url": "https://files.pythonhosted.org/packages/cd/90/88a5a94dd61f6e07c590fa315ad85f5760ee4014838442c28ff321c6d250/msstitch-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.10": [ { "comment_text": "", "digests": { "md5": "f92ae367cf1f0bf78731a21147f9e016", "sha256": "b85c2791484ecd61e8c5832c2c3359921680bbc414f3c6feccd3c82ec4b77cdb" }, "downloads": -1, "filename": "msstitch-2.10.tar.gz", "has_sig": false, "md5_digest": "f92ae367cf1f0bf78731a21147f9e016", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6141023, "upload_time": "2018-12-07T11:48:17", "upload_time_iso_8601": "2018-12-07T11:48:17.360753Z", "url": "https://files.pythonhosted.org/packages/af/4e/6a98b424697b6bdf43e089ea0446cddb2e8500cd13a70e439f840c4f500f/msstitch-2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "2.11": [ { "comment_text": "", "digests": { "md5": "db21de46250b523baba943ce802e1cc8", "sha256": "b61a3c8a206a312802c1215c11412ff652231d8010b914620c687f144a29914a" }, "downloads": -1, "filename": "msstitch-2.11.tar.gz", "has_sig": false, "md5_digest": "db21de46250b523baba943ce802e1cc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6130576, "upload_time": "2018-12-21T15:14:19", "upload_time_iso_8601": "2018-12-21T15:14:19.374018Z", "url": "https://files.pythonhosted.org/packages/ef/62/1e3a82aa5d21a204d2c5470db0d919e8642e3548d66101a1dbd475d9b7c1/msstitch-2.11.tar.gz", "yanked": false, "yanked_reason": null } ], "2.12": [ { "comment_text": "", "digests": { "md5": "b2eb5362dfb117f02a9a721b1e757ce0", "sha256": "4959366b35f1fcfddb38dd46e069a437d47612bea9b6f3df7d9ab504adb908fc" }, "downloads": -1, "filename": "msstitch-2.12.tar.gz", "has_sig": false, "md5_digest": "b2eb5362dfb117f02a9a721b1e757ce0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6850846, "upload_time": "2019-02-19T16:37:45", "upload_time_iso_8601": "2019-02-19T16:37:45.972470Z", "url": "https://files.pythonhosted.org/packages/94/57/cdaf40800b2ccbdba629c838414a52e2ed8470c50a9cf078d3e52e130831/msstitch-2.12.tar.gz", "yanked": false, "yanked_reason": null } ], "2.13": [ { "comment_text": "", "digests": { "md5": "8bbee312a110295422a124a95c282249", "sha256": "566153a088ca8fe4c74a118b6ce52e34a2456720a626d480764adbd14ad80aa3" }, "downloads": -1, "filename": "msstitch-2.13.tar.gz", "has_sig": false, "md5_digest": "8bbee312a110295422a124a95c282249", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7307271, "upload_time": "2019-06-04T07:45:18", "upload_time_iso_8601": "2019-06-04T07:45:18.843904Z", "url": "https://files.pythonhosted.org/packages/40/7a/b21bab9e2b0945eb3277484ec2d374fb7297f98c483e61e27dbe9a1af77b/msstitch-2.13.tar.gz", "yanked": false, "yanked_reason": null } ], "2.14": [ { "comment_text": "", "digests": { "md5": "d8f7d3f8111018c278f01ea33f2d5738", "sha256": "aa5500f296238285d1e7e51ea51e39369410b10f717d1ba0ce139a61390dccbe" }, "downloads": -1, "filename": "msstitch-2.14.tar.gz", "has_sig": false, "md5_digest": "d8f7d3f8111018c278f01ea33f2d5738", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7307452, "upload_time": "2019-08-19T09:58:05", "upload_time_iso_8601": "2019-08-19T09:58:05.138716Z", "url": "https://files.pythonhosted.org/packages/f0/3a/620b615b6f7683dacbaca20fa0e49e739e1603284ad23871d50b1846d047/msstitch-2.14.tar.gz", "yanked": false, "yanked_reason": null } ], "2.15": [ { "comment_text": "", "digests": { "md5": "7facfecacf017deabf3a7231691c87bf", "sha256": "6db2695e0f175d9d6b7badddda22a305d60c8d8600aa233442c05b292928dd22" }, "downloads": -1, "filename": "msstitch-2.15.tar.gz", "has_sig": false, "md5_digest": "7facfecacf017deabf3a7231691c87bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7155733, "upload_time": "2019-09-30T07:32:45", "upload_time_iso_8601": "2019-09-30T07:32:45.374977Z", "url": "https://files.pythonhosted.org/packages/b5/3d/7ae774e7a1dfba5c6f6af6eebfe541a8ac8990afdac526ea9f2315255f72/msstitch-2.15.tar.gz", "yanked": false, "yanked_reason": null } ], "2.16": [ { "comment_text": "", "digests": { "md5": "21c191248c1f176acf95185f7f5eca9a", "sha256": "145e948137a50418d05b39fe2f714b2376ad85964d5f2c6043828ad8eacffcc5" }, "downloads": -1, "filename": "msstitch-2.16.tar.gz", "has_sig": false, "md5_digest": "21c191248c1f176acf95185f7f5eca9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7150137, "upload_time": "2019-10-21T08:56:07", "upload_time_iso_8601": "2019-10-21T08:56:07.690341Z", "url": "https://files.pythonhosted.org/packages/ec/ca/b13905fe8e54ac286b01b91271f08a134afb1d72e406602d2b6e87207b2c/msstitch-2.16.tar.gz", "yanked": false, "yanked_reason": null } ], "2.17": [ { "comment_text": "", "digests": { "md5": "aaaee494183dbf2d00b0a96818d00d9e", "sha256": "3f69ba31a8822a0ac758fe3a0c6828c767edaacdb8527b2348d22e7bb7c374b5" }, "downloads": -1, "filename": "msstitch-2.17.tar.gz", "has_sig": false, "md5_digest": "aaaee494183dbf2d00b0a96818d00d9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7180971, "upload_time": "2019-11-28T11:05:06", "upload_time_iso_8601": "2019-11-28T11:05:06.059582Z", "url": "https://files.pythonhosted.org/packages/c9/1f/f5db32214740097dc2e64b2520771ba0a267a7b7baf3fa8a90ad5736ad90/msstitch-2.17.tar.gz", "yanked": false, "yanked_reason": null } ], "2.18": [ { "comment_text": "", "digests": { "md5": "dcfcb551bf74f38b308860c54f20ad96", "sha256": "134b14ca3117fa531577c430161f67b8987eacd2897673de8451e42e8031e56c" }, "downloads": -1, "filename": "msstitch-2.18.tar.gz", "has_sig": false, "md5_digest": "dcfcb551bf74f38b308860c54f20ad96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7181306, "upload_time": "2019-12-04T13:00:56", "upload_time_iso_8601": "2019-12-04T13:00:56.417117Z", "url": "https://files.pythonhosted.org/packages/75/ed/37e1c7a528698641c7b8d0e9a93a8a0901c7734388efcb99a67c2854d925/msstitch-2.18.tar.gz", "yanked": false, "yanked_reason": null } ], "2.19": [ { "comment_text": "", "digests": { "md5": "0f154f55471256201460a7c597da7b10", "sha256": "83f2039fab66c937d3ef8829b7144fee31969fa707cf01660b02c1dcd16da3f1" }, "downloads": -1, "filename": "msstitch-2.19.tar.gz", "has_sig": false, "md5_digest": "0f154f55471256201460a7c597da7b10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7176561, "upload_time": "2019-12-16T10:04:28", "upload_time_iso_8601": "2019-12-16T10:04:28.591589Z", "url": "https://files.pythonhosted.org/packages/8f/eb/7e9ae70bdbf90f9dc5db3884136c3e3c4bad9b94dd2bc801223f06ebd515/msstitch-2.19.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2": [ { "comment_text": "", "digests": { "md5": "bbe1a080011b7b41ebe789993ed917fe", "sha256": "2b0e5178a0c44afd861970b2ffbc9916ed3f1e752d2d06e75e28cbdcd9319402" }, "downloads": -1, "filename": "msstitch-2.2.tar.gz", "has_sig": false, "md5_digest": "bbe1a080011b7b41ebe789993ed917fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6957783, "upload_time": "2017-01-11T09:43:43", "upload_time_iso_8601": "2017-01-11T09:43:43.824222Z", "url": "https://files.pythonhosted.org/packages/f4/e7/804e3d09d3180c7c45d49d97df1774a8b79e3c38da65acd8731f5c04e11f/msstitch-2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3": [ { "comment_text": "", "digests": { "md5": "fb147628f2ebe487336b473afac9a013", "sha256": "47097f6405e183ea72729a3ff0a61188a57f9550c7756da6092c05cada7ae77e" }, "downloads": -1, "filename": "msstitch-2.3.tar.gz", "has_sig": false, "md5_digest": "fb147628f2ebe487336b473afac9a013", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7689797, "upload_time": "2017-02-10T16:12:45", "upload_time_iso_8601": "2017-02-10T16:12:45.723518Z", "url": "https://files.pythonhosted.org/packages/98/0c/3c66a87dc06c3585b6a2a05a8012a3ceff73f9bfd907f206c5b7d0776059/msstitch-2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.4": [ { "comment_text": "", "digests": { "md5": "b1c842a41000e900193a00c462b5a9c9", "sha256": "b40311b851e52e62dae8dd25da045a0543bfbc6297674f8e50328439fd602d00" }, "downloads": -1, "filename": "msstitch-2.4.tar.gz", "has_sig": false, "md5_digest": "b1c842a41000e900193a00c462b5a9c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6122447, "upload_time": "2017-05-16T09:30:23", "upload_time_iso_8601": "2017-05-16T09:30:23.434725Z", "url": "https://files.pythonhosted.org/packages/7a/4f/aa49b306e5b1f21600ef87be2994b4d85f8927d1055c8e4ce7bb9389090b/msstitch-2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.5": [ { "comment_text": "", "digests": { "md5": "e096baeaf679e14091f9f58beaf25388", "sha256": "505aedff96b0316e1a0d9796d13c89d5bb1a75734a7442b4bf072dc92bc01848" }, "downloads": -1, "filename": "msstitch-2.5.tar.gz", "has_sig": false, "md5_digest": "e096baeaf679e14091f9f58beaf25388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6121891, "upload_time": "2017-09-29T08:30:14", "upload_time_iso_8601": "2017-09-29T08:30:14.713406Z", "url": "https://files.pythonhosted.org/packages/2e/5e/9d9d0276d107d66147830475def0d49f223c38fc9d5e26e09888d241275f/msstitch-2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.6": [ { "comment_text": "", "digests": { "md5": "7e6b9221e76df4d5baf96de2032aa1c5", "sha256": "a40d4dbb9c799032f7fda54c522cbd93e9be70dfc27c66c36967b1aa94940734" }, "downloads": -1, "filename": "msstitch-2.6.tar.gz", "has_sig": false, "md5_digest": "7e6b9221e76df4d5baf96de2032aa1c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6133865, "upload_time": "2018-03-15T21:00:09", "upload_time_iso_8601": "2018-03-15T21:00:09.271023Z", "url": "https://files.pythonhosted.org/packages/0a/ec/0ed2e641db3fe31d7381a03948da69552e347bc1bbce79b21ac00367dde0/msstitch-2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2.7": [ { "comment_text": "", "digests": { "md5": "af4cc7c5bdca03e382906498791a6b8f", "sha256": "b24b9ee7f8a9fd2f38c16bc9b5348575e10f3489e0deef9fa710bbda447934be" }, "downloads": -1, "filename": "msstitch-2.7.tar.gz", "has_sig": false, "md5_digest": "af4cc7c5bdca03e382906498791a6b8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6134658, "upload_time": "2018-04-19T12:19:59", "upload_time_iso_8601": "2018-04-19T12:19:59.019899Z", "url": "https://files.pythonhosted.org/packages/61/24/c04ad5f45eee5cd939e33dfab5b128ff474c36a4123766b532704e537d2e/msstitch-2.7.tar.gz", "yanked": false, "yanked_reason": null } ], "2.8": [ { "comment_text": "", "digests": { "md5": "bb4908f0974d798819246709eed5da61", "sha256": "715444b247a44aca214fd3cebc02565f0b04077dc234754aed183fb1403d5326" }, "downloads": -1, "filename": "msstitch-2.8.tar.gz", "has_sig": false, "md5_digest": "bb4908f0974d798819246709eed5da61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6137624, "upload_time": "2018-06-18T13:30:21", "upload_time_iso_8601": "2018-06-18T13:30:21.461420Z", "url": "https://files.pythonhosted.org/packages/7f/b4/61f8c5ee5cfd71d985b3f69cd1be9239f2f7b5f73d34c5e8e07771816aa6/msstitch-2.8.tar.gz", "yanked": false, "yanked_reason": null } ], "2.9": [ { "comment_text": "", "digests": { "md5": "cabf105d86cca47e0c4f49f873bf4e2c", "sha256": "0096958917e597cbe998b8eefab6be7c3af5d490a2e4a0f722311cb6bdeb07b8" }, "downloads": -1, "filename": "msstitch-2.9.tar.gz", "has_sig": false, "md5_digest": "cabf105d86cca47e0c4f49f873bf4e2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6135006, "upload_time": "2018-11-22T13:01:10", "upload_time_iso_8601": "2018-11-22T13:01:10.403270Z", "url": "https://files.pythonhosted.org/packages/e9/c2/a6f965f8e4dbfd2e819126b96110940903215df1a4d5cad5d84c821eb484/msstitch-2.9.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0": [ { "comment_text": "", "digests": { "md5": "4656d5238df9d10ae6f1de894dc81e7f", "sha256": "8b6831e5e1dee81e29dac21a76c4bf3ae9cc92ab99ef026fab8cb22371575aab" }, "downloads": -1, "filename": "msstitch-3.0.tar.gz", "has_sig": false, "md5_digest": "4656d5238df9d10ae6f1de894dc81e7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3589963, "upload_time": "2020-06-04T08:40:06", "upload_time_iso_8601": "2020-06-04T08:40:06.885552Z", "url": "https://files.pythonhosted.org/packages/28/83/92249485597b5636c4bc1c46ace9a7794d513cb950a8cea9eb45d3cae1ca/msstitch-3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1": [ { "comment_text": "", "digests": { "md5": "7e0a985f78a358e3749a3603f3cdba73", "sha256": "99707fb9cccd6548a2d1e986b6c7b576bbd204371378243493562a7c05c05ccc" }, "downloads": -1, "filename": "msstitch-3.1.tar.gz", "has_sig": false, "md5_digest": "7e0a985f78a358e3749a3603f3cdba73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3590169, "upload_time": "2020-07-03T13:33:02", "upload_time_iso_8601": "2020-07-03T13:33:02.337161Z", "url": "https://files.pythonhosted.org/packages/5a/49/613d7612f9acd232c295125c69d8fc37cc65d54a34b3bb8f8cc9712c989e/msstitch-3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2": [ { "comment_text": "", "digests": { "md5": "0498ef45021f77140b98face715420f8", "sha256": "ac2887440716a774a1dd0ae3078bdd07abc26b03c89c99f926386706147b295e" }, "downloads": -1, "filename": "msstitch-3.2.tar.gz", "has_sig": false, "md5_digest": "0498ef45021f77140b98face715420f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3590391, "upload_time": "2020-07-09T09:46:40", "upload_time_iso_8601": "2020-07-09T09:46:40.227914Z", "url": "https://files.pythonhosted.org/packages/d1/76/b4e03bf21a6cefc0770e4291806db1197793ea0b7a87eded8479da179965/msstitch-3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.3": [ { "comment_text": "", "digests": { "md5": "8be3c28581b9df798839f86e154ce7c4", "sha256": "c65976cf07958abb55790deeb39180a225d390985b0005c38e6978c1bb02036a" }, "downloads": -1, "filename": "msstitch-3.3.tar.gz", "has_sig": false, "md5_digest": "8be3c28581b9df798839f86e154ce7c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3594847, "upload_time": "2020-07-24T11:36:17", "upload_time_iso_8601": "2020-07-24T11:36:17.834396Z", "url": "https://files.pythonhosted.org/packages/c9/5d/56e5285e7789561fdfe7b84fd4f3d27d7da8907e031d3b569c9241569f2e/msstitch-3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "3.4": [ { "comment_text": "", "digests": { "md5": "b47e6df468e815b3306e4bff7f5a88e3", "sha256": "42490e530bd58817b8c938f4d508c26693e406f568931d544de5100e25eda448" }, "downloads": -1, "filename": "msstitch-3.4.tar.gz", "has_sig": false, "md5_digest": "b47e6df468e815b3306e4bff7f5a88e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3659983, "upload_time": "2020-09-17T06:57:19", "upload_time_iso_8601": "2020-09-17T06:57:19.066438Z", "url": "https://files.pythonhosted.org/packages/8d/4a/1502e79bbc0570c7568ebc7f78a48883286a9312b5126638b2de9e028e6e/msstitch-3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "3.5": [ { "comment_text": "", "digests": { "md5": "e656a8754e6d7ce09c75baad5c9d9bee", "sha256": "0c920b5796d645d7ff23738a298fe52e76064df8b1069fface615cedbb33eda1" }, "downloads": -1, "filename": "msstitch-3.5.tar.gz", "has_sig": false, "md5_digest": "e656a8754e6d7ce09c75baad5c9d9bee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3659995, "upload_time": "2020-09-23T10:32:02", "upload_time_iso_8601": "2020-09-23T10:32:02.807953Z", "url": "https://files.pythonhosted.org/packages/50/6b/9dd4fff3950a3e2fc7333e6d0787d6dca6ff0a83ea5b5c196b4f3240c453/msstitch-3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "3.6": [ { "comment_text": "", "digests": { "md5": "db59b56962217abfda7ab50be52ae815", "sha256": "da1b967c93a7da513d63ea77d8ddbbc2573a5823cefdcd196e7acadb7b240939" }, "downloads": -1, "filename": "msstitch-3.6.tar.gz", "has_sig": false, "md5_digest": "db59b56962217abfda7ab50be52ae815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3668941, "upload_time": "2021-03-05T11:30:24", "upload_time_iso_8601": "2021-03-05T11:30:24.976451Z", "url": "https://files.pythonhosted.org/packages/a2/c4/a46b9e751b3735a80f9ebc235eb51e914df8568a3c08255fc74f52354479/msstitch-3.6.tar.gz", "yanked": false, "yanked_reason": null } ], "3.7": [ { "comment_text": "", "digests": { "md5": "689bf26f7417964b385eee31da04d428", "sha256": "df6098ee418d71490e95f05998bd8904b4219fb849041a17fde498eb369febed" }, "downloads": -1, "filename": "msstitch-3.7.tar.gz", "has_sig": false, "md5_digest": "689bf26f7417964b385eee31da04d428", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3669099, "upload_time": "2021-03-13T12:51:50", "upload_time_iso_8601": "2021-03-13T12:51:50.494405Z", "url": "https://files.pythonhosted.org/packages/6f/2c/f73b985d1f222afe31fdc11f90565e3503066023b46a31ef2ca12cbfd197/msstitch-3.7.tar.gz", "yanked": false, "yanked_reason": null } ], "3.8": [ { "comment_text": "", "digests": { "md5": "8055c2f573652e3c5f8cadcdf9ff0ad4", "sha256": "189297249f911d8dc481d2adeea849cfe5fce7b03fe2ca49bf60be8e542e044a" }, "downloads": -1, "filename": "msstitch-3.8.tar.gz", "has_sig": false, "md5_digest": "8055c2f573652e3c5f8cadcdf9ff0ad4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3668235, "upload_time": "2021-10-28T10:07:21", "upload_time_iso_8601": "2021-10-28T10:07:21.657401Z", "url": "https://files.pythonhosted.org/packages/d1/10/89f6f31cc10d49f8a78085fcbc86e3a97ea1359b17add209b32ff71f5cd8/msstitch-3.8.tar.gz", "yanked": false, "yanked_reason": null } ], "3.9": [ { "comment_text": "", "digests": { "md5": "6e00773ac62291f2ef84f45644456786", "sha256": "e408f872124b62965486b08c1ebe6d7cee24efffe8c42593cb3fae20434a95dd" }, "downloads": -1, "filename": "msstitch-3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "6e00773ac62291f2ef84f45644456786", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 97225, "upload_time": "2022-02-14T13:54:41", "upload_time_iso_8601": "2022-02-14T13:54:41.246185Z", "url": "https://files.pythonhosted.org/packages/ae/46/a5cbaf67bfbe6a8569940d319d8ecde682157708107b32ee130d734a1611/msstitch-3.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d28ef55268bfe068815476cd9a0bf142", "sha256": "63b7f4c714cd649f3cfb89d32ce0781a1374b2a775fe239ebbd9058faf0f587b" }, "downloads": -1, "filename": "msstitch-3.9.tar.gz", "has_sig": false, "md5_digest": "d28ef55268bfe068815476cd9a0bf142", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8321200, "upload_time": "2022-02-14T13:54:44", "upload_time_iso_8601": "2022-02-14T13:54:44.555377Z", "url": "https://files.pythonhosted.org/packages/c5/fb/15b10cfb49d61f03bf8bcab5bc3949059466cac0f0433202b9d59370eab2/msstitch-3.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e00773ac62291f2ef84f45644456786", "sha256": "e408f872124b62965486b08c1ebe6d7cee24efffe8c42593cb3fae20434a95dd" }, "downloads": -1, "filename": "msstitch-3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "6e00773ac62291f2ef84f45644456786", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 97225, "upload_time": "2022-02-14T13:54:41", "upload_time_iso_8601": "2022-02-14T13:54:41.246185Z", "url": "https://files.pythonhosted.org/packages/ae/46/a5cbaf67bfbe6a8569940d319d8ecde682157708107b32ee130d734a1611/msstitch-3.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d28ef55268bfe068815476cd9a0bf142", "sha256": "63b7f4c714cd649f3cfb89d32ce0781a1374b2a775fe239ebbd9058faf0f587b" }, "downloads": -1, "filename": "msstitch-3.9.tar.gz", "has_sig": false, "md5_digest": "d28ef55268bfe068815476cd9a0bf142", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8321200, "upload_time": "2022-02-14T13:54:44", "upload_time_iso_8601": "2022-02-14T13:54:44.555377Z", "url": "https://files.pythonhosted.org/packages/c5/fb/15b10cfb49d61f03bf8bcab5bc3949059466cac0f0433202b9d59370eab2/msstitch-3.9.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }