{"id":25073507,"url":"https://github.com/snijderlab/annotator","last_synced_at":"2025-06-13T17:39:16.121Z","repository":{"id":190620844,"uuid":"683026969","full_name":"snijderlab/annotator","owner":"snijderlab","description":"A simple tool to help you manually discover the depths of your (complex) spectra, one spectrum at a time.","archived":false,"fork":false,"pushed_at":"2025-04-14T20:12:28.000Z","size":4700,"stargazers_count":23,"open_issues_count":16,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-14T23:13:58.884Z","etag":null,"topics":["cross-linking","glycans","mass-spectrometry","proteomics"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snijderlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-25T12:26:23.000Z","updated_at":"2025-04-14T20:12:31.000Z","dependencies_parsed_at":"2023-09-27T13:03:25.694Z","dependency_job_id":"f9270502-598b-469d-85d8-d40b4f37262b","html_url":"https://github.com/snijderlab/annotator","commit_stats":null,"previous_names":["snijderlab/annotator"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snijderlab%2Fannotator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snijderlab%2Fannotator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snijderlab%2Fannotator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snijderlab%2Fannotator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snijderlab","download_url":"https://codeload.github.com/snijderlab/annotator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248975329,"owners_count":21192210,"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","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":["cross-linking","glycans","mass-spectrometry","proteomics"],"created_at":"2025-02-06T23:28:45.533Z","updated_at":"2025-06-13T17:39:16.105Z","avatar_url":"https://github.com/snijderlab.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Annotator\n\nA simple tool to help you manually discover the depths of your (complex) spectra, one spectrum at a time. Load your rawfiles, select a spectrum and add your annotation with full control over theoretical fragments. Use the interactive spectrum to discover what your spectrum means and to export gorgeous images.\n\n\u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"images/1_dark.svg\"\u003e\n    \u003cimg src=\"images/1_light.svg\" alt=\"Bottom-up peptide\"\u003e\n\u003c/picture\u003e\n\nIt can even make nice pictures from glycans as seen below. \n\n\u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"images/2_dark.svg\"\u003e\n    \u003cimg src=\"images/2_light.svg\" alt=\"Glycan peptide\"\u003e\n\u003c/picture\u003e\n\n## Features\n\n\u003e [!TIP]\n\u003e Do you have some very complex feature in your spectra? It is extremely likely the Annotator can annotate it.\n\n* Open raw files (mgf, mzML, Thermo RAW, Bruker .tdf)\n* Full ProForma 2.0 support:\n    - Complex modifications, from Unimod, PSI-MOD, Resid, and XLMOD, but also masses and formula\n    - Ambiguous modifications\n    - Cross-linked peptidoforms\n    - Chimeric spectra, which includes DIA\n    - Glycans, both structures and compositions\n* Supports complex and highly customizable fragmentation models\n    - Has built in models for: HCD, CID, ETD, top-down ETD, EtHCD, EtCAD, EAD, EAciD, UVPD\n* Supports custom modifications\n* Supports loading and searching in 20+ identified peptides file formats\n    - Amongst others: msFragger, PEAKS, mzTAB, SSL\n* Extensive control over the visualisation\n* Export to PDF (do not forget to turn on background graphics in the advanced settings while printing)\n\n\u003e [!TIP]\n\u003e [There is also a more comprehensive guide](frontend/assets/Annotator-manual.pdf)\n\n## Peptidoform sequence\n\nIt uses the [ProForma 2.0](https://github.com/HUPO-PSI/ProForma) specification to specify the sequence. Here are some examples of valid sequences:\n\n* `VAEINPSNGGTTFNEKFKGGKATJ` Normal aminoacids\n* `EM[L-methionine sulfoxide]EVEES[UNIMOD:21]PEK` Modifications using [Unimod](http://www.unimod.org) and [PSI-MOD](https://www.ebi.ac.uk/ols/ontologies/mod)\n* `TFNEKF[+15.9949]KGGKATJ` Modifications using raw masses\n* `TFNEKF[Formula:O]KGGKATJ` Modifications using elemental formula\n* `TFNEKF[Glycan:HexNAc1Hex2]KGGKATJ` Modifications glycan compositions\n* `[+16]-TFNEKFKGGKATJ-[Methyl]` Terminal modifications\n* `\u003c15N\u003eTFNEKFKGGKATJ` Global isotope modifications (all Nitrogen is 15N)\n* `\u003c[S-carboxamidomethyl-L-cysteine]@C\u003eAVYYCSRWGGDGFYAMDYWGQG` Global modifications (all C are carboxamidomethylated)\n* `[UNIMOD:374]?TFNEKFCKGGCKATJ` Modifications where the location is unknown\n* `TFNEKFC[UNIMOD:374#g1]KGGC[#g1]KATJ` (identical to the one above)\n* `TFNEKF(CKGGCK)[UNIMOD:374#g1]ATJ` (identical to the one above)\n* `VAEINPSNGGTT+FNEKFKGGKATJ` Multimeric spectra, meaning two separate peptides are in your spectrum at the same time\n* `VAEINK[X:DSSO#XL1]SNGGTT//WAK[#XL1]INK` A DSSO cross-link between two lysines on two peptides (note the use of `//` versus `+` to indicate cross-linked peptides)\n* `VAEINK[X:DSSO#XL1]SNGGTT` A hydrolysed DSSO cross-linker\n\n## Installing\n\n### Using winget\n\nOn windows use:\n\n\u003e [!NOTE]  \n\u003e `winget install --id Snijderlab.Annotator`.\n\n### From binary \n\nSee [releases](https://github.com/snijderlab/annotator/releases) for the latest release, here you will also find the prebuilt binaries for your architecture.\n\n### From source\n\nTo build from source. Clone the repository. And build with `cargo tauri dev`. Make sure you have installed [Rust](https://www.rust-lang.org/tools/install) and [Tauri](https://tauri.app/) beforehand.\n\n## Thermo RAW files\n\nThe .NET 8.0 runtime is needed to open Thermo RAW files. [Which can be downloaded here.](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) Additionally on windows you can use `winget install Microsoft.DotNet.Runtime.8` for a quick install.\n\n## Note on custom modifications and models\n\nCustom modifications can be defined, these allow diagnostic ions and neutral losses to be defined. Additionally custom cross-linkers can be defined to have certain cleavage patterns that can then be searched for in the annotator. The custom modifications are stored in a separate json file on your computer. Updating the Annotator will not remove any previously defined modifications. Additionally copying this file to another computer will copy the whole database to that computer. This can be used to move all your definitions to a new computer when upgrading or to aid a colleague with your definitions.\n\nFor custom models much of the same is true. These allow highly advanced fragmentation rules to be set. These models will also not be removed when updating and can be shared and backed up in the same way.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnijderlab%2Fannotator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnijderlab%2Fannotator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnijderlab%2Fannotator/lists"}