sirius-ms / sirius

SIRIUS is a software for discovering a landscape of de-novo identification of metabolites using tandem mass spectrometry. This repository contains the code of the SIRIUS Software (GUI and CLI)
GNU Affero General Public License v3.0
91 stars 23 forks source link

Implement fragmentation tree method? #47

Closed xxing9703 closed 3 years ago

xxing9703 commented 3 years ago

Hi, I'm very interested in implementing the fragmentation tree(FT) method from SIRIUS, ideally a function that takes one molecular formula candidate and MS2 spectra as the input, and returns a FT along with the score. Is this available through openAPI?

Thanks!

Xi

marcus-ludwig commented 3 years ago

Hi Xi,

No, currently not. SIRIUS is available as a CLI (and GUI) software that reads your data and writes all results into a directory structure with machine-readable files (.json, .tsv). You can specify the molecular formula in the input file (see https://boecker-lab.github.io/docs.sirius.github.io/io/#sirius-ms-format and the downloadable example files for details). Furthermore, you could directly use the library (https://github.com/boecker-lab/sirius-libs). In the future, we are planning integration with scripting languages that may be based on OpenAPI, but that is currently not available.

If you are planning on wrapping SIRIUS, you may contact us to give us some more information and maybe we can help with some more useful answers. Also, in such a case, please always highlight the use of SIRIUS and cite the corresponding publication. This is quite important to us. Thanks.

Best, Marcus

xxing9703 commented 3 years ago

Hi Marcus,

Thank you very much for the reply. What we really want to try is to incorporate “SIRIUS: fragment tree analysis” in our untargeted analysis -- formula ID, specifically, to add fragment tree scores with some weight in our scorings when evaluating a list of formula candidates for a given m/z peak and its MS2 spectrum. The formula candidates are neither all possible formulas, nor from a known database matching, but a customized/filtered list dynamically generated in our workflow. I‘m not sure what is the easiest way for this implementation and hopefully can be fully automated. Using the library seems ideal, but need some instructions on how to build and use it in a different language (R or Matlab). If running SIRIUS at the back end is required, that’s also fine. Much appreciated!

Xi

From: marcus-ludwig @.> Sent: Wednesday, November 10, 2021 4:30 AM To: boecker-lab/sirius @.> Cc: Xi Xing @.>; Author @.> Subject: Re: [boecker-lab/sirius] Implement fragmentation tree method? (Issue #47)

Hi Xi,

No, currently not. SIRIUS is available as a CLI (and GUI) software that reads your data and writes all results into a directory structure with machine-readable files (.json, .tsv). You can specify the molecular formula in the input file (see https://boecker-lab.github.io/docs.sirius.github.io/io/#sirius-ms-format and the downloadable example files for details). Furthermore, you could directly use the library (https://github.com/boecker-lab/sirius-libs). In the future, we are planning integration with scripting languages that may be based on OpenAPI, but that is currently not available.

If you are planning on wrapping SIRIUS, you may contact us to give us some more information and maybe we can help with some more useful answers. Also, in such a case, please always highlight the use of SIRIUS and cite the corresponding publication. This is quite important to us. Thanks.

Best, Marcus

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/boecker-lab/sirius/issues/47#issuecomment-964941756, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD43KP26TS5XK6HZ7W5NLGDULI3TFANCNFSM5HKKVJTQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

mfleisch commented 3 years ago

Hey Xi, thanks for the details.

You can achieve what you want to do using our internal .ms file format to input your data (including your candidate formulas) and the SIRIUS 4.9.9 command line tool with the following command:

sirius -i ./Kaempferol_4_candidates.ms -o ./out-dir sirius 

I appended a example input file (Kaempferol_4_candidates.ms) which contains the parameter >CandatiateFormulas with 4 formula candidates. The above command will compute fragmentation trees only for these 4 candidate formulas.

Kaempferol_4_candidates.zip

So you just need to write your data to this format and you are good to go.

The output will be the standard SIRIUS project-space.

On the "compound level" of the output directory you will find the fomula_candidates.tsv which contains the TreeScore as well as the IsotopeScore (If MS1 spectrum was available) for each (valid) formula candidate in the input file(s).

Note:

xxing9703 commented 3 years ago

Thanks very much for updating and providing the detailed notes for usage! The command line solution works with the attached example ms2 file. I think I will just need to deal with the I/O for our own data. will give it a try. Thanks!

Xi


From: Markus Fleischauer @.> Sent: Thursday, November 11, 2021 8:17 PM To: boecker-lab/sirius @.> Cc: Xi Xing @.>; Author @.> Subject: Re: [boecker-lab/sirius] Implement fragmentation tree method? (Issue #47)

Hey Xi, thanks for the details.

You can achieve what you want to do using our internal .ms file formathttps://boecker-lab.github.io/docs.sirius.github.io/io/#sirius-ms-format to input your data (including your candidate formulas) and the SIRIUS 4.9.9 command line tool with the following command:

sirius -i ./Kaempferol_4_candidates.ms -o ./out-dir sirius

I appended a example input file (Kaempferol_4_candidates.ms ) which contains the parameter >CandatiateFormulas with 4 formula candidates. The above command will compute fragmentation trees only for these 4 candidate formulas.

Kaempferol_4_candidates.ziphttps://github.com/boecker-lab/sirius/files/7523640/Kaempferol_4_candidates.zip

So you just need to write your data to this format and you are good to go.

The output will be the standard SIRIUS project-spacehttps://boecker-lab.github.io/docs.sirius.github.io/io/#sirius-project-space.

On the "compound level" of the output directory you will find the fomula_candidates.tsv which contains the TreeScore as well as the IsotopeScore (If MS1 spectrum was available) for each (valid) formula candidate in the input file(s).

Note:

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/boecker-lab/sirius/issues/47#issuecomment-966740708, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD43KP7JAY7HGVUQAHSVIYLULRTKBANCNFSM5HKKVJTQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

mfleisch commented 3 years ago

You are welcome!