NAME
InSilicoSpectro::InSilico::RetentionTimer::Petritis Prediction of peptide retention time by neural network training
SYNOPSIS
# creates a retention time predictor
my $rt = InSilicoSpectro::InSilico::RetentionTimer::Petritis->new;
# trains the predictor
$rt->learn( data=>{expseqs=>['ELGFQG','HPGDFGADAQAAMSK','LSSPATLNSR','RFIK'],
exptimes=>[1314,1194,1152,1500]},mode=>'verbose',
maxepoch=>100, sqrerror=>1e-3,mode=>'verbose',
nnet=>{learningrate=>0.05},layers=>[{nodes=>20},{nodes=>2},{nodes=>1}] );
# predicts retention time for a peptide
$rt->predict( peptide=>'ACFGDMKWVTFISLLRPLLFSSAYSRGVFRRDTHKSEIAHRFKDLGE' );
# saves the network
$rt->write_xml(confile=>'nnet01.xml');
# retrieves a previously saved network
$rt->read_xml(confile=>'nnet00.xml');
# assigns a calibrator to the predictor
$ec=InSilicoSpectro::InSilico::ExpCalibrator->new( fitting=>'spline' );
# fits the calibrator from expermiental values
$rt->calibrate( data=>{calseqs=>['ELGFQG','HPGDFGADAQAAMSK','LSSPATLNSR','RFIK'],
caltimes=>[1314,1194,1152,1500]},calibrator=>$ec );
# save current calibrator
$rt->write_cal( calfile=>$file );
# retrieve previously saved calibrator
$rt->read_cal ( calfile=>$file );
DESCRIPTION
Predicts HPLC retention time for peptides
METHODS
my $rt=InSilicoSpectro::InSilico::RetentionTimer::Petritis->new(%h )
%h contains a hash
$rt->learn( data=>{expseqs=>\@seqs,exptimes=>\@times}, mode=>'verbose',maxepoch=>100, sqrerror=>1e-3,mode=>'verbose', nnet=>{learningrate=>0.05},layers=>[{nodes=>20},{nodes=>2},{nodes=>1}] ); );
Trains the network from experimental data given in the arrays (@seqs,@times).
- maxepoch, sqrerror : train the network until sse < sqrerror or maxepoch
- nnet=>{%h} : hash with options for method AI::NNFlex::Backprop->new( %h )
- layers=>[{%h1},{%h2},{%h3}] : hashes with options for the 3 layers as defined by method AI::NNFlex::Backprop->add_layer( %hi )
- mode=>'silent'|'verbose'
-
Method used for fitting
$rt->predict(peptide=>$str)
Predicts retention time for the peptide
$rt->predictor(peptide=>$str)
Same as predict() but without experimental fitting
$rt->calibrate( data=>{calseqs=>\@str,caltimes=>\@val},fitting=>$str );
Trains the predictor with experimental data and the chosen fitting method
$rc->filter( filter=>$pc,error=>$str )
Filter experimental data in $rc->{data} by a cutting threshold of relative prediction error of $pc (in %).
$rt->writexml( confile=>$file )
Saves network into a file
$rt->readxml( confile=>$file )
Retrieves a previously saved network
$rt->write_cal( calfile=>$file );
Save current calibrator.
$rt->read_cal ( calfile=>$file );
Retrieve a previously saved calibrator.
$rt->set($name, $val)
Set an instance paramter.
$rt->get($name)
Get an instance parameter.
EXAMPLES
see InSilicoSpectro/t/InSilico/testPetritis.pl script
SEE ALSO
InSilicoSpectro::InSilico::RetentionTimer
InSilicoSpectro::InSilico::ExpCalibrator
Petritis K, Kangas LJ, Ferguson PL, Anderson GA, Pasa-Tolic L, Lipton MS, Auberry KJ, Strittmatter EF, Shen Y, Zhao R, Smith RD. "Use of artificial neural networks for the accurate prediction of peptide liquid chromatography elution times in proteome analyses". Anal Chem. 2003; 75(5):1039-48.
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
Pablo Carbonell, Alexandre Masselot, www.genebio.com