NAME
Metabolomics::Fragment::Annotation - Perl extension for fragment annotation in metabolomics
VERSION
Version 0.6.0
SYNOPSIS
Note that this documentation is intended as a reference to the module.
Metabolomics::Banks::MaConDa is allowing to build a contaminant database usefull to clean your LC-MS filtered peak list:
my $oBank = Metabolomics::Banks::MaConDa->new() ; # init the bank object
$oBank->getContaminantsExtensiveFromSource() ; # get theorical contaminants from the extensive version of MaConDa database
$oNewBank->buildTheoPeakBankFromContaminants($queryMode) ; # build theorical bank (ION | NEUTRAL)
Metabolomics::Banks::BloodExposome is giving access to a local Blood Exposome database (Cf publication here L<https://doi.org/10.1289/EHP4713>):
my $oBank = Metabolomics::Banks::BloodExposome->new() ; # init the bank object
$oBank->getMetabolitesFromSource($source) ; # get theorical metabolites from local database version
$oBank->buildTheoPeakBankFromEntries($IonMode) ; # produce the new theorical bank depending of chosen acquisition mode
Metabolomics::Banks::BloodExposome is giving access to a local Knapsack database (Cf publication here L<>):
my $oBank = Metabolomics::Banks::Knapsack->new() ; # init the bank object
$oBank->getKSMetabolitesFromSource($source) ; # get theorical metabolites from local database version
$oBank->buildTheoPeakBankFromKnapsack($IonMode) ; # produce the new theorical bank depending of chosen acquisition mode
Metabolomics::Banks::AbInitioFragments is used abinitio fragment, adduct and isotope annotation:
my $oBank = Metabolomics::Banks::AbInitioFragments->new() ; # init the bank object
$oBank->getFragmentsFromSource() ; # get theorical fragment/adduct/isotopes loses or adds
$oBank->buildTheoPeakBankFromFragments($mzMolecule, $mode, $stateMolecule) ; # produce the new theorical bank from neutral (or not) molecule mass
When resources are built, Metabolomics::Fragment::Annotation drive the annotation process:
$oBank->parsingMsFragments($inputFile, $asHeader, $mzCol) ; # get exprimental mz listing to annotate
my $oAnalysis = Metabolomics::Fragment::Annotation->new($oBank) ; # init analysis object
$oAnalysis->compareExpMzToTheoMzList('PPM', $ppmError) ; # compare theorical bank vs experimental bank
DESCRIPTION
Metabolomics::Fragment::Annotation is a full package for Perl dev allowing MS fragments annotation with ab initio database, contaminant and public metabolites ressources.
EXPORT
SUBROUTINES/METHODS
METHOD new
## Description : new
## Input : $self
## Ouput : bless $self ;
## Usage : new() ;
METHOD compareExpMzToTheoMzList
## Description : comparing two lists of mzs (theo and experimental) with a mz delta
## Input : $deltaValue, $deltaType
## Output : $oAnalysis with annotation results
## Usage : $oAnalysis->compareExpMzToTheoMzList ( $deltaValue, $deltaType ) ;
METHOD writeTabularWithPeakBankObject
## Description : write a full tabular file from a template and mapping peak bank objects features
## Input : $oBank, $templateTabular, $tabular
## Output : $tabular
## Usage : my ( $tabular ) = $oBank->writeTabularWithPeakBankObject ( $templateTabular, $tabular ) ;
METHOD writeFullTabularWithPeakBankObject
## Description : write a output containing the input data and new column concerning annotation work
## Input : $oBank, $inputData, $templateTabular, $tabular
## Output : $tabular
## Usage : my ( $tabular ) = $oBank->writeFullTabularWithPeakBankObject ( $inputData, $templateTabular, $tabular ) ;
METHOD _getPeaksToAnnotated
## Description : get a specific list of peaks from the Annotation analysis object
## Input : $self, $type
## Output : $peakList
## Usage : my ( $peakList ) = $oAnalysis->_getPeakList ($type) ;
METHOD _getTEMPLATE_TABULAR_FIELDS
## Description : get all fields of the tabular template file
## Input : $template
## Output : $fields
## Usage : my ( $fields ) = _getTEMPLATE_TABULAR_FIELDS ( $template ) ;
METHOD _mapPeakListWithTemplateFields
## Description : map any PeakList with any template fields from tabular
## Input : $fields, $peakList
## Output : $rows
## Usage : my ( $rows ) = _mapPeakListWithTemplateFields ( $fields, $peakList ) ;
METHOD _mz_delta_conversion
## Description : returns the minimum and maximum mass according to the delta
## Input : \$mass, \$delta_type, \$mz_delta
## Output : \$min, \$max
## Usage : ($min, $max)= mz_delta_conversion($mass, $delta_type, $mz_delta) ;
METHOD _computeMzDeltaInMmu
## Description : compute a delta (Da) between exp. mz and calc. mz
## based on http://www.waters.com/waters/en_GB/Mass-Accuracy-and-Resolution/nav.htm?cid=10091028&locale=en_GB
## Other ref : https://www.sciencedirect.com/science/article/pii/S1044030510004022
## Input : $expMz, $calcMz
## Output : $mzDeltaDa
## Usage : my ( $mzDeltaDa ) = _computeMzDeltaInMmu ( $expMz, $calcMz ) ;
METHOD computeMzDeltaInPpm
## Description : compute a delta (PPM) between exp. mz and calc. mz - Δm/Monoisotopic calculated exact mass ×106
## Input : $expMz, $calcMz
## Output : $mzDeltaPpm
## Usage : my ( $mzDeltaPpm ) = computeMzDeltaInPpm ( $expMz, $calcMz ) ;
AUTHOR
Franck Giacomoni, <franck.giacomoni at inra.fr>
SEE ALSO
All information about FragNot should be find here: https://services.pfem.clermont.inra.fr/gitlab/fgiacomoni/fragnot
BUGS
Please report any bugs or feature requests to bug-metabolomics-fragnot at rt.cpan.org
, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Metabolomics-FragNot. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Metabolomics::Fragment::Annotation
RT: CPAN's request tracker (report bugs here)
https://rt.cpan.org/NoAuth/Bugs.html?Dist=Metabolomics-FragNot
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
CeCILL Copyright (C) 2019 by Franck Giacomoni
Initiated by Franck Giacomoni
followed by INRA PFEM team
Web Site = INRA PFEM