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

NAME

ABI.pm - Perl module to parse chromatogram files generated by Applied Biosystems (ABI) automated DNA sequencing machine.

Please cite: ABI.pm - Perl module to parse chromatogram files generated by Applied Biosystems (ABI) automated DNA sequencing machine. by Malay K Basu (malay@bioinformatics.org); source code available at: http://search.cpan.org/~malay

VERSION

Version 1.0

SYNOPSIS

  my $abi = ABI->new(-file=>"mysequence.abi");
  my $seq = $abi->get_sequence(); # To get the sequence
  my @trace_a = $abi->get_trace("A"); # Get the raw traces for "A"
  my @trace_g = $abi->get_trace("G"); # Get the raw traces for "G"
  my @base_calls = $abi->get_base_calls(); # Get the base calls

DESCRIPTION

An ABI chromatogram file is in binary format. It contain several information only some of which is required for normal use. This module only gives access to the most used information stored in ABI file. All the accesses are read only.

If you have edited the file using a trace editor, then you can use the corresponding method to access the edited sequence and base calls.

CONSTRUCTOR

new()

  Usage : $abi = ABI->new(-file=>"filename");
          $abi = ABI->new("filename"); # same thing

METHODS

get_max_trace()

  Title    :  get_max_trace()
  Usage    :  $max = $abi->get_max_trace();
  Function :  Returns the maximum trace value of all the traces.
  Args     :  Nothing
  Returns  :  A scalar

get_trace()

  Title    :  get_trace()
  Usage    :  my @a = $abi->get_trace("A");
  Function :  Returns the raw traces as array.
  Args     :  "A" or "G" or "C" or "T"
  Returns  :  An array

get_sequence()

  Title    : get_sequence()
  Usage    : my $seq = $abi->get_sequence();
  Function : Returns the original unedited sequence as string. If you want to access the edited
             sequence use "get_corrected_sequence()" instead.
  Args     : Nothing
  Returns  : A scalar

get_corrected_sequence()

  Title    : get_corrected_sequence()
  Usage    : my $seq = $abi->get_corrected_sequence();
  Function : Returns the corrected sequence as string. If you want to access the original 
             unedited sequence, use "get_sequence()" instead.
  Args     : Nothing
  Returns  : A scalar

get_sequence_length()

  Title    : get_sequence_length()
  Usage    : my $seq_length = $abi->get_sequence_length();
  Function : Returns the sequence length of the orginal unedited sequence.
  Args     : Nothing
  Returns  : A scalar

get_corrected_sequence_length()

  Title    : get_corrected_sequence_length()
  Usage    : my $seq_length = $abi->get_corrected_sequence_length();
  Function : Returns the length of the edited sequence. 
  Args     : Nothing
  Returns  : A scalar

get_trace_length()

  Title    : get_trace_length()
  Usage    : my $trace_length = $abi->get_trace_length();
  Function : Returns the trace length
  Args     : Nothing
  Returns  : A scalar

get_base_calls()

  Title    : get_base_calls()
  Usage    : my @base_calls = $abi->get_base_calls();
  Function : Returns the called bases by the base caller. This method will return the unedited 
                 original basecalls created by the basecaller.
  Args     : Nothing
  Returns  : An array

get_corrected_base_calls()

  Title    : get_corrected_base_calls()
  Usage    : my @base_calls = $abi->get_corrected_base_calls();
  Function : If you have edited the trace file you can get the corrected base call 
             with this method
  Args     : Nothing
  Returns  : An array

get_sample_name()

  Title    : get_sample_name()
  Usage    : my $sample = $abi->get_sample_name();
  Function : Returns hard coded sample name
  Args     : Nothing
  Returns  : A scalar

AUTHOR

Malay <malay@bioinformatics.org>

BUGS

Please report any bugs or feature requests to bug-abi at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=ABI. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

or

You can directly contact me to my email address.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc ABI

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2002,2006 Malay, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.