{"id":24435426,"url":"https://github.com/bamescience/fiora","last_synced_at":"2025-07-05T04:35:53.900Z","repository":{"id":199881504,"uuid":"703666689","full_name":"BAMeScience/fiora","owner":"BAMeScience","description":"Fiora is an in silico fragmentation algorithm for small compounds that produces simulated tandem mass spectra (MS/MS). The framework employs a graph neural network to predict bond cleavages and fragment ion intensities via edge prediction. Additionally, Fiora can estimate retention times (RT) and collision cross sections (CCS) of the compounds.","archived":false,"fork":false,"pushed_at":"2024-10-24T11:19:22.000Z","size":111901,"stargazers_count":24,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-30T12:49:04.986Z","etag":null,"topics":["bioinformatics","gnn-model","metabolomics","tandem-ms"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/BAMeScience.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-10-11T17:06:13.000Z","updated_at":"2024-10-24T11:16:31.000Z","dependencies_parsed_at":"2023-10-13T05:26:34.263Z","dependency_job_id":"b84b37ac-c21d-4f27-b171-f065f58d0300","html_url":"https://github.com/BAMeScience/fiora","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"3df0af64b6b325f7e81591fb0f0cc80c40347c77"},"previous_names":["bamescience/fiora"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAMeScience%2Ffiora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAMeScience%2Ffiora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAMeScience%2Ffiora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BAMeScience%2Ffiora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BAMeScience","download_url":"https://codeload.github.com/BAMeScience/fiora/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248589754,"owners_count":21129679,"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":["bioinformatics","gnn-model","metabolomics","tandem-ms"],"created_at":"2025-01-20T17:20:13.920Z","updated_at":"2025-07-05T04:35:53.891Z","avatar_url":"https://github.com/BAMeScience.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **FIORA**\n\nMeet FIORA! An in silico fragmentation algorithm designed to predict tandem mass spectra (MS/MS) with high accuracy. Using a graph neural network, FIORA models bond cleavages, fragment intensities, and estimates retention times (RT) and collision cross sections (CCS).\n\n\u003e Nowatzky, Y., Russo, F.F., Lisec, J. et al. FIORA: Local neighborhood-based prediction of compound mass spectra from single fragmentation events. Nat Commun 16, 2298 (2025). https://doi.org/10.1038/s41467-025-57422-4\n\n\u003cbr\u003e\n\n\u003cfigure\u003e\n  \u003cimg src=\"images/graphical_abstract.png\" alt=\"Graphical Abstract\" style=\"width:100%;\"\u003e\n  \u003cfigcaption\u003eFig. 1 | Illustration of the in silico fragmentation workflow (bottom panel) designed to simulate experimental MS/MS fragmentation (top panel).\n   The figure is sourced from our publication (referenced above) and is licensed under \u003ca href=\"http://creativecommons.org/licenses/by/4.0/\" target=\"_blank\"\u003eCC BY 4.0\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n\n\u003c!---\n\u003e **Disclaimer: Early Development / Prototype Notice**\u003cbr\u003e\n\u003e **FIORA** is an algorithm in its early stages of development and is provided as a prototype.\nPerformance is not guaranteed, functionality may be incomplete, and usability was not a central concern during this phase of development. \nUsers should exercise caution.\n--\u003e\n\n\n## Requirements\n\nDeveloped and tested with the following systems and versions:\n* Debian GNU/Linux 11 (bullseye)\n* Python 3.10.8\n* GCC 11.2.0\n\n\n## Installation\n\nInstallation guide for the FIORA Python package (under 10 minutes):\n\nClone the project folder \n\n    git clone https://github.com/BAMeScience/fiora.git\n\n(Optional) Create a new conda environment\n\n    conda create -n fiora python=3.10.8\n    conda activate fiora\n\nChange into the project directory (`cd fiora`). Then, install the package by using the setup.py via\n\n    pip install .\n\n(Optional) You may want to test that the package works as intended. This can be done by running the sripts in the *tests* directory or by using pytest (requires: `pip install pytest`)\n\n    pytest -v tests\n\n## Usage\n\n### MS/MS prediction\n\nUse spectral prediction function as follows:\n\n    fiora-predict [-h] -i INPUT -o OUTPUT [--model MODEL] [--rt | --no-rt] [--ccs | --no-ccs] [--annotation | --no-annotation]\n\nAn input csv file must be provided and an output file specified (`mgf` or `msp` format).\n\n### Input format\n\nInput files are expected to be in csv format. With a header defining the columns: \"Name\", \"SMILES\", \"Precursor_type\", \"CE\", \"Instrument_type\" and rows listing individual queries.\nSee example [input file](examples/example_input.csv).\n\n### Output format\n\nPredicted spectra are provided in standard `msp` and `mgf` format.\n\n### Example usage\n\nRun the fiora-predict from within this directory\n\n    fiora-predict -i examples/example_input.csv  -o examples/example_spec.mgf\n\nBy default, an open-source model is selected automatically, and predictions typically complete within a few seconds. For faster performance, specify a GPU device using the `--dev` option (e.g., `--dev cuda:0`). The output file (e.g., examples/example_spec.mgf) can be compared with the [expected results](examples/expected_output.mgf) to verify model accuracy. This verification is automatically performed by running pytest (as described above).\n\n## The Algorithm\n\nFIORA has been developed as a computational tool to predict bond cleavages that occur in the MS/MS fragmentation process and estimate the probabilities of resulting fragment ions. To that end, FIORA utilizes graph neural networks to learn local molecular neighborhoods around bonds, combined with edge prediction to simulate bond dissociation. The prediction determines which fragment (left or right of the bond cleavage, with up to four possible hydrogen losses) retains the charge and which becomes the neutral loss. The figure below illustrates an example fragmentation prediction for a single bond.\n\n\u003cfigure\u003e\n  \u003cimg src=\"images/fragmentation_algorithm.png\" alt=\"Fragmentation Algorithm\" style=\"width:100%;\"\u003e\n  \u003cfigcaption\u003eFig. 2 | Illustration of FIORA's fragmentation algorithm.  Initially, the local neighborhood (highlighted in blue) of the designated bond is learned through multiple graph convolutions (two shown here). Based on this molecular substructure and bond features, fragment abundances are predicted. In this example, FIORA predicts the loss of two hydrogen atoms, indicating the formation of a new double bond in the right fragment. \n  The figure is sourced from our publication (referenced on top) and is licensed under \u003ca href=\"http://creativecommons.org/licenses/by/4.0/\" target=\"_blank\"\u003eCC BY 4.0\u003c/a\u003e.\u003c/figcaption\u003e\n\u003c/figure\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbamescience%2Ffiora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbamescience%2Ffiora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbamescience%2Ffiora/lists"}