[Bioperl-l] Trouble in converting abi files to phd files by Bio::SeqIO

Chris Fields cjfields at illinois.edu
Thu Jul 22 02:41:16 UTC 2010


Nope; doesn't appear to be a pure-perl parser for this.  Was there one?

chris

On Jul 21, 2010, at 7:36 PM, Aaron Mackey wrote:

> Doesn't Bio::SeqIO::abi fall back to Chad's pure-perl solution if the
> bioperl-ext modules are not installed?
> 
> Regardless, can you get a dump of the $seq objects before you hand them off
> to Bio::SeqIO::phd -- have the qual scores already been lost (problem with
> the abi reader), or not (problem with the phd writer)?
> 
> And a basic question -- I assume your .abi files actually have quality
> values in them (not all do)?
> 
> -Aaron
> 
> 
> On Wed, Jul 21, 2010 at 8:09 PM, Chris Fields <cjfields at illinois.edu> wrote:
> 
>> It's very possible this is due to API changes within io_lib, but I can't be
>> sure.  Aaron, any idea?
>> 
>> Just to note, we no longer recommend using the bioperl-ext modules, mainly
>> b/c they have not been actively maintained, so much so that updating them to
>> use the current API is quite difficult (might involve some extensive
>> refactoring).  The BioLib project, however, has perl bindings to io_lib.  If
>> one had time they could incorporate the BioLib io_lib bindings into bioperl,
>> but I believe ABI support was removed a while ago so that will be
>> problematic.
>> 
>> chris
>> 
>> On Jul 19, 2010, at 2:11 AM, 陳彥璋 wrote:
>> 
>>> Hi,
>>> 
>>> I'm processing chromate files (.ab1 format) with BioPerl-1.6.1,
>>> bioperl-ext-1.5.1, and io-lib-1.8.11;
>>> my OS was 32-bit, Centos 5.2.
>>> When I convert abi-format files to phd-format files,
>>> the value of quality of all bases are '0', and the value of
>>> trace_index of all bases are undefined.
>>> Is there any possible reason leading to this problem?
>>> 
>>> Besides, it claims that CALL_METHOD is phred and PHRED_VERSION is
>>> 0.980904.e in phd files;
>>> if this is the case, where can I find phred executers?
>>> 
>>> The following is the code utilizing BioPerl and results from BioPerl
>>> and Phred respectively:
>>> ==============================================
>>> #!/usr/bin/perl -w
>>> unshift(@INC, "/opt/BioPerl-1.6.1/");
>>> unshift(@INC, "/opt/bioperl-ext");
>>> use strict;
>>> use Bio::SeqIO;
>>> 
>>> my $inputfilename='./HMA040184H12.T3.ab1';
>>> my $outputfilename='test11.phd';
>>> 
>>> my  $in  = Bio::SeqIO->new(-file => "$inputfilename",
>>>                     -format => 'abi');
>>> 
>>> my  $out = Bio::SeqIO->new(-file => ">$outputfilename",
>>>                     -format => 'phd');
>>> 
>>> while ( my $seq = $in->next_seq() ) {
>>>    for my $curr(1 ..  $seq->length()) {
>>>            print "[",$seq->qualat($curr),"]:";
>>>            print "[",$seq->trace_index_at($curr),"]\t";
>>>    }
>>>    $out->write_seq($seq);
>>>    last;
>>> }
>>> 
>>> ================== test11.phd (by Bio::SeqIO) =================
>>> BEGIN_SEQUENCE (null)
>>> 
>>> BEGIN_COMMENT
>>> 
>>> CHROMAT_FILE: unknown
>>> ABI_THUMBPRINT: 0
>>> PHRED_VERSION: 0.980904.e
>>> CALL_METHOD: phred
>>> QUALITY_LEVELS: 99
>>> TIME: Mon Jul 19 11:59:09 2010
>>> TRACE_ARRAY_MIN_INDEX: 0
>>> TRACE_ARRAY_MAX_INDEX: unknown
>>> CHEM: unknown
>>> DYE: unknown
>>> 
>>> END_COMMENT
>>> 
>>> BEGIN_DNA
>>> A 0
>>> G 0
>>> G 0
>>> G 0
>>> G 0
>>> .
>>> .
>>> .
>>> .
>>> 
>>> G 0
>>> T 0
>>> T 0
>>> G 0
>>> T 0
>>> C 0
>>> G 0
>>> C 0
>>> T 0
>>> A 0
>>> C 0
>>> END_DNA
>>> 
>>> END_SEQUENCE
>>> 
>>> ================== .phd (by phred 0.020425.c) =======================
>>> BEGIN_SEQUENCE HMA040184H12.T3.ab1
>>> 
>>> BEGIN_COMMENT
>>> 
>>> CHROMAT_FILE: HMA040184H12.T3.ab1
>>> ABI_THUMBPRINT: 0
>>> PHRED_VERSION: 0.020425.c
>>> CALL_METHOD: phred
>>> QUALITY_LEVELS: 99
>>> TIME: Fri Jul  9 16:20:59 2010
>>> TRACE_ARRAY_MIN_INDEX: 0
>>> TRACE_ARRAY_MAX_INDEX: 11905
>>> TRIM: 38 900 0.0500
>>> TRACE_PEAK_AREA_RATIO: 0.0630
>>> CHEM: term
>>> DYE: big
>>> 
>>> END_COMMENT
>>> 
>>> BEGIN_DNA
>>> a 11 2
>>> g 11 13
>>> g 11 22
>>> a 11 37
>>> a 11 52
>>> g 8 65
>>> c 6 76
>>> t 6 91
>>> c 6 97
>>> .
>>> .
>>> .
>>> a 14 11840
>>> c 16 11849
>>> a 16 11861
>>> a 12 11873
>>> c 12 11885
>>> g 12 11897
>>> END_DNA
>>> 
>>> END_SEQUENCE
>>> ================================================
>>> Sincerely yours,
>>> Yen-Chang Chen
>>> 
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>> 
>> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l





More information about the Bioperl-l mailing list