Coder Social home page Coder Social logo

p2m2 / p2m2tools Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.56 MB

Development of bioinformatics tools/software related to P2M2 metabolomics platform activities

License: MIT License

Scala 99.35% Dockerfile 0.52% Shell 0.13%
functional-programming metabolomics metabolomics-studies scala inrae

p2m2tools's Introduction

P2M2Tools

CircleCI codecov Codacy Badge

Development of bioinformatics tools/software related to P2M2 platform (IGEPP's Metabolic Profiling and Metabolomic Platform) activities. All the tools developed are accessible via the Galaxy instance of the Genouest platform (https://galaxy.genouest.org/)

GCMS2Isocor

Corrective method dedicated to Isocor for calculating carbon isotopologue distribution from GCMS runs. A P2M2 workflow was built to obtain carbon isotopologue distribution of specific metabolites (complete list of metabolites available in the file "Metabolite.dat") from GC-MS raw data files. The input files for this workflow can be any GC-MS raw dataset that contains a column "Name" filled with each carbon isotopologue of each fragment considered and a column "Area" filled with the area of the integrated peak. The name of each fragment must be written exactly as specified in the "Metabolite.dat" file to ensure accurate correction with IsoCor. Example: the name "ProlineC2C5_TMS_m0" is for the GC-MS fragment m/z 142 (integrated peak) containing the C2-C3-C4-C5 carbon skeleton of proline and 1 TMS derivative. m0 refers to the carbon isotopologue monitored (m0 for m/z = 142, m1 for m/z = 143, m2 for m/z = 144, m3 for m/z = 145, m4 for m/z = 146). (2021-10-17) (2021-10-17) https://doi.org/10.15454/1I9PET

Galaxy worklow

Targeted P2M2 device

Manufacturer Model
GCMS Shimadzu GCTQD (TQ8040)

OpenLabCds2Csv

Get multiple "Internal Standard Report" from the OpenLabCDS software where are describe a list of compound in format row (columns : RetTime Type ISTD Area Amt/Area Amount Grp Name) The converter creates a summary that contains a header (a list of compounds) and a list of "Sample name" with associated values ​​for a target column (RetTime,Type,ISTD,Area,Amt/Area,Amount,Grp,Name)

Targeted P2M2 device

Manufacturer Model
Agilent GC-FID Agilent 6890N

MassLynx2Isocor

Build Isocor input file from MassLynx report ("Quantify Compound Summary Report")

Targeted P2M2 device

Manufacturer Model
Waters Acquity HPLC TQD

p2m2tools's People

Contributors

ofilangi avatar

Stargazers

 avatar

Watchers

 avatar

p2m2tools's Issues

Filter the lines of the isocor input file according to isotopic mass

New Output "Isocor Input file"

  • 13C
  • 15N

definition

Use Formula of "His" metabolite to filter in an appropriate way

Formula : C6H5N3

GlyN15_A_4 | His | ACCQTAG | 0 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 1 | 18 | 2000
GlyN15_A_4 | His | ACCQTAG | 2 | 18 | 2000
GlyN15_A_4 | His | ACCQTAG | 3 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 4 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 5 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 6 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 7 | 4 | 2000

Input_Iscor_13C.tsv

GlyN15_A_4 | His | ACCQTAG | 0 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 1 | 18 | 2000
GlyN15_A_4 | His | ACCQTAG | 2 | 18 | 2000
GlyN15_A_4 | His | ACCQTAG | 3 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 4 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 5 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 6 | 4 | 2000

Input_Iscor_15N.tsv

GlyN15_A_4 | His | ACCQTAG | 0 | 4 | 2000
GlyN15_A_4 | His | ACCQTAG | 1 | 18 | 2000
GlyN15_A_4 | His | ACCQTAG | 2 | 18 | 2000
GlyN15_A_4 | His | ACCQTAG | 3 | 4 | 2000

UPLC TQD Output to Isocor Format

UPLC TQD Output format MassLynx : Quantify Compound Summary Report

Get in
=> Name / Area

Coumpound number : "Compound name (NC)", M+X

Metabolite Isotopologue Sample Area
NC M+H Name Area

Isocor correspondance:

Sample => Name
metabolite =>
isotopologue => 0,...N (voir tableau corr)
derivative => ACCQTAG (for now => see #25 to add correspondance file)
resolution => 2000

NH4+ ===> not use
M+H => 0
M+1 => 1
M+2 => 2
M+3 => 3
...

[Exception]

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at fr.inrae.metabolomics.p2m2.command.MassLynx2IsocorCommand$.$anonfun$MassLynx2Isocor$2(MassLynx2IsocorCommand.scala:114)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
at scala.collection.mutable.Growable.addAll(Growable.scala:62)
at scala.collection.mutable.Growable.addAll$(Growable.scala:57)
at scala.collection.immutable.MapBuilderImpl.addAll(Map.scala:692)
at scala.collection.immutable.Map$.from(Map.scala:643)
at scala.collection.IterableOnceOps.toMap(IterableOnce.scala:1256)
at scala.collection.IterableOnceOps.toMap$(IterableOnce.scala:1255)
at scala.collection.AbstractIterator.toMap(Iterator.scala:1288)
at fr.inrae.metabolomics.p2m2.command.MassLynx2IsocorCommand$.MassLynx2Isocor(MassLynx2IsocorCommand.scala:114)
at fr.inrae.metabolomics.p2m2.command.MassLynx2IsocorCommand$.delayedEndpoint$fr$inrae$metabolomics$p2m2$command$MassLynx2IsocorCommand$1(MassLynx2IsocorCommand.scala:93)
at fr.inrae.metabolomics.p2m2.command.MassLynx2IsocorCommand$delayedInit$body.apply(MassLynx2IsocorCommand.scala:8)
at scala.Function0.apply$mcV$sp(Function0.scala:39)
at scala.Function0.apply$mcV$sp$(Function0.scala:39)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
at scala.App.$anonfun$main$1(App.scala:76)
at scala.App.$anonfun$main$1$adapted(App.scala:76)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at scala.App.main(App.scala:76)
at scala.App.main$(App.scala:74)
at fr.inrae.metabolomics.p2m2.command.MassLynx2IsocorCommand$.main(MassLynx2IsocorCommand.scala:8)
at fr.inrae.metabolomics.p2m2.command.MassLynx2IsocorCommand.main(MassLynx2IsocorCommand.scala)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.