[Bioperl-l] Writing .scf files

Adam Sjøgren asjo at koldfront.dk
Sat Jul 18 16:26:10 EDT 2009

On Sat, 18 Jul 2009 22:00:25 +0200, Adam wrote:

>   MSG: Attempting to set the sequence to [AEI] which does not look healthy

Ok, I think I have found out why, by checking the write_seq against the
next_seq and looking at the offsets and lengths.

It turns out that when synthesizing traces, the peak_indexes array gets
exactly twice the length of what it should.

This seems to be because Bio::SeqIO::scf::new() calls
_synthesize_traces() itself on the Bio::Seq::SequenceTrace it created,
but Bio::Seq::SequenceTrace::new does so as well, when no traces are
supplied. So peak_indices ends up being twice as long and the data
written after peak_indices in the .scf file is mixed up when read back.

I have filed bugzilla bug #2881 with a patch attacted that simply
removes the call to _synthesize_traces() (and set_accuracies(); same
deal) from Bio::SeqIO::scf::write_seq(), which fixes the problem.

  Best regards,


 "I said to Hank Williams: How lonely does it get?            Adam Sjøgren
  Hank Williams hasn't answered yet"                     asjo at koldfront.dk

More information about the Bioperl-l mailing list