{"id":16698381,"url":"https://github.com/lgatto/pwizsandbox","last_synced_at":"2025-10-03T13:02:56.438Z","repository":{"id":12668201,"uuid":"15340146","full_name":"lgatto/pwizsandbox","owner":"lgatto","description":"proteowizard sandbox","archived":false,"fork":false,"pushed_at":"2014-04-09T13:53:10.000Z","size":601,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-14T03:46:03.879Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lgatto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-20T14:24:07.000Z","updated_at":"2014-04-09T13:53:11.000Z","dependencies_parsed_at":"2022-08-29T20:41:15.612Z","dependency_job_id":null,"html_url":"https://github.com/lgatto/pwizsandbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lgatto/pwizsandbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgatto%2Fpwizsandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgatto%2Fpwizsandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgatto%2Fpwizsandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgatto%2Fpwizsandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lgatto","download_url":"https://codeload.github.com/lgatto/pwizsandbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lgatto%2Fpwizsandbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278165688,"owners_count":25940958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-03T02:00:06.070Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T17:51:53.491Z","updated_at":"2025-10-03T13:02:56.378Z","avatar_url":"https://github.com/lgatto.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"proteowizard sandbox\n====================\n\nRead support and data/metadata extraction is the main goal. The first\ntype of data that should be tackled is raw mass spectrometry data, in\nparticular data in the `mzML` format. After that, it would be good to\nimplement and interface to `mzIdentML` and `mzQuantML`, respectively\nused to store identification and quantitation data (more details about\nthese later).\n\nWrite support to any other raw data format would also be of interest. \n\nSee also the [mzR wiki](https://github.com/sneumann/mzR/wiki).\n\n## data\n\nExample data files. The most important file format is\n[`mzML`](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3013463/) and\nthat's the one efforts should be invested on. This format is the most\ncomplete. The others should also be supported by `MSDataFile::Reader`,\nthough.\n\nThe difference between\n`TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01_zlib.mzXML` and\n`TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.mzXML` is that\n`zlib` compression has not been applied for the latter. `zlib`\ncompression has been used for the `mzML` example file. This is not\nrelevant for `mgf` (only\ntext). [`mz5`](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3270111/)\nuses the HDF5 format; not sure if the data inside is `zlib`\ncompressed.\n\nI had issues to push the relatively big data files to github. Instead, \nI have provided links.\n\n## Example codes\n\nIf any of the below is not clear and it seems to be essential to\nunderstand the mass spectrometry details to make progress from a\nprogramming point of view, please do not hesitate to ask\nquestions. You might also want to have a quick read\n[here](http://proteome.sysbiol.cam.ac.uk/lgatto/r_projects.html). If\nyou would like access to any scientific references (not sure if these\nwould be of any help), please just ask. I will also see if I can find\nsome helpful introductory material for you.\n\n- Read the `mzML` file and return metadata, including general\n  instrument information (manufacturer, model, ionistation, analyser,\n  detector) and general run information (number of scans: 7534, MZ\n  range: 99.99945 - 2069.279, retention time range: 0.4584 - 3601.983,\n  MS levels available in the file: 1 and 2, number of MS1 and MS2\n  levels: 1431 MS1 and 6103 MS2). \n\n- Read the `mzML` data and save it to `mgf`. The opposite would not\n  make much sense, as `mzML` contains much more information that the\n  latter. Writing to `mz5` and `mzXML` could also be of interest. Not\n  possible in current `mzR`.\n\n- Read the `mzML` file and write a new `mzML` that contains only the\n  MS1 or MS2 spectra (`ms level`). Not possible in current `mzR`.\n\n- Extract information of the 3000th MS2 spectrum. Below is the\n  information extracted with the current version of `mzR`. Also\n  extract the actual spectrum data, i.e. MZ and intensities (see\n  `./data/p3000.csv` ). \n\n```\nacquisitionNum              4092.0000\nmsLevel                        2.0000\npeaksCount                  2465.0000\ntotIonCurrent            5368603.0000\nretentionTime               2269.6948\nbasePeakMZ                   129.1391\nbasePeakIntensity         210466.4531\ncollisionEnergy               45.0000\nionisationEnergy               0.0000\nlowMZ                        100.0012\nhighMZ                      2069.2793\nprecursorScanNum            4083.0000\nprecursorMZ                 1111.0800\nprecursorCharge                2.0000\nprecursorIntensity       8771486.0000\n```\n\n- Extract a chromatogram. A chromatogram is composed of two vectors of\n  the same length, encoding retention time and intensity for a given\n  precursor ion defined by a MZ values. This is not directly possible\n  currently and chromatograms need to be calculated (which takes some\n  time in `R`). I believe it is possible to directly extract such\n  chromatograms from `mzML`.\n\n## Ontology terms\n\nYou will see many `MS:0000000` terms in the data files. These\nrepresent ontology terms (linked curated vocabulary). At this point,\nit might not be critical to take it into account, but it might be good\nto keep in mind that this is how the different pieces of information\nare officially defined to avoid ambiguities. `pwiz` provides its own\ncopy of the ontology (see `pwiz/data/common/psi-ms.obo` and similar)\nand converters (probably `CVTranslator.*` in the same directory).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgatto%2Fpwizsandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flgatto%2Fpwizsandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgatto%2Fpwizsandbox/lists"}