The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

InSilicoSpectro::Spectra::Filter::MSFilterAlgorithm

SYNOPSIS

my $file= "a.mgf"; my $format="mgf"; my $sp=InSilicoSpectro::Spectra::MSSpectra->new(source=>$file, format=>$format); $sp->open();

my $sf = new InSilicoSpectro::Spectra::Filter::MSFilter(); $sf->readXml('a.xml'); $sf->filterSpectra($sp);

$sp->write('mgf', "another.mgf");

DESCRIPTION

This class allows for quality assasement and filtering of spectra or peaks using algorithms mainly presented in the following paper:

M. Bern et al. Vol. 20 Suppl. 1 2004, pages i49-i54 Bioinformatics

FUNCTIONS

compare_float($float_A, $comparator, $float_B, $precision)

This function is used to corretctly compare two floating-point values using a certain precision and the comparator (<, >, <=, ..). Makes it slower but it's still faster than using Math::FixedPrecision.

METHODS

my $sf=InSilicoSpectro::Spectra::Filter::MSFilterAlogrithm->new()

create a new object.

$sf->readXml($filename)

opens the provided XML-file containing the information which filter to use and its parameters.

$sf->readTwigEl($el)

reads the TwigEl passed by $el and executes twig_addSpectrumFilter() with this values.

$sf->filterSpectra($Spectra)

apply the XML-file previously loaded on the Spectra (can be MSRun, MS, MSMS, or MSCmpd-Spectra).

$sf->applyAction();

applies the action on the currentSpectra under the threshold conditions.

$sf->computeFilterValue($sp);

only prepared for further classes inheriting from this one.

$sf->checkValidity();

checks if the different values provided by the xml are valid.

$sf->smartPeaks();

puts a score for each peak into filterValue. The score is higher for peaks with high intensities but gets lower if they're in a region with high-intensity peaks and or a lot of peaks. A high weightIntensity-value puts more weight into regions of high peaks. A high weightDensity-value puts more weight into regions of high peak density.

$sf->selectPeakWindow();

divides the whole a moz-adefined number of bands and makes a normalization of the intensities in each of those bands.

$sf->fragment([$val]);

gets the values (moz, intensity) from the fragments of the currentSpectra (has to be an MSCmpd). The results are stored into filterValue. Which values should be extracted can be selected by $val, otherwise the next name in the filterName is used.

$sf->precursor([$val]);

gets the values (moz, intensity) from the precursors of the currentSpectra (has to be an MSMSSpectra). The The results are stored into filterValue. Which values should be extracted can be selected by $val, otherwise the next name in the filterName is used.

$sf->intensity();

calls fragment("intensity"). Allows you just to write intensity as a filter-name instead.

$sf->moz();

calls fragment("moz"). Allows you just to write moz as a filter-name instead.

$sf->normRank();

calculates the rank from the intensity of the fragments from the smallest first and biggest last (1, 3, 3, 4, 5, ..) and divides it by the total number of peaks.

$sf->normRankBern();

makes the normalisation of the int-peaks as described in the paper from M. Bern et al. Because we can make a selection of peaks to be tested before, it doesnt make a lot of sense in this context.

$sf->banishNeighbors();

takes off the neighbouring peaks close to the selected ones (change number to select by selectStrongest). The region where the peaks should be taken off can be adjusted by banishRange

$sf->currentSpectra([$sp]);

set or get a current spectra.

$sf->thresholdValue([$val]);

set or get the threshold value.

$sf->filterValue([$val]);

set or get the filter value.

EXAMPLES

see the MSFilterAlgorithm.t for an example.

SEE ALSO

search.cpan.org

COPYRIGHT

Copyright (C) 2004-2005 Geneva Bioinformatics www.genebio.com

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

AUTHORS

Roman Mylonas, www.genebio.com

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 48:

'=item' outside of any '=over'

Around line 52:

You forgot a '=back' before '=head1'

Around line 133:

You forgot a '=back' before '=head1'