Alexandre Masselot
and 1 contributors


InSilicoSpectro::InSilico::RetentionTimer::Petritis Prediction of peptide retention time by neural network training


  # creates a retention time predictor
  my $rt = InSilicoSpectro::InSilico::RetentionTimer::Petritis->new;

  # trains the predictor
  $rt->learn( data=>{expseqs=>['ELGFQG','HPGDFGADAQAAMSK','LSSPATLNSR','RFIK'],
              maxepoch=>100, sqrerror=>1e-3,mode=>'verbose',
              nnet=>{learningrate=>0.05},layers=>[{nodes=>20},{nodes=>2},{nodes=>1}] );

  # predicts retention time for a peptide

  # saves the network

  # retrieves a previously saved network

  # 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 );


Predicts HPLC retention time for peptides


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 )

Method used for fitting


Predicts retention time for the peptide


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


Method used for fitting

$rc->filter( filter=>$pc,error=>$str )

Filter experimental data in $rc->{data} by a cutting threshold of relative prediction error of $pc (in %).


Type of error for filtering.

$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.


Get an instance parameter.


see InSilicoSpectro/t/InSilico/ script




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 (C) 2004-2005 Geneva Bioinformatics

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


Pablo Carbonell, Alexandre Masselot,