diff --git a/modules/Bio/EnsEMBL/Utils/IO/FASTASerializer.pm b/modules/Bio/EnsEMBL/Utils/IO/FASTASerializer.pm index 0e32545fab04797fda044364842ded5a3c5f84ca..576858a829a44e6f39dee4e6ce6d573bf0d18609 100644 --- a/modules/Bio/EnsEMBL/Utils/IO/FASTASerializer.pm +++ b/modules/Bio/EnsEMBL/Utils/IO/FASTASerializer.pm @@ -35,6 +35,8 @@ Bio::EnsEMBL::Utils::IO::FASTASerializer return ">Custom header"; } ); + $serializer->print_metadata($slice); + $serializer->print_Slice($slice,"no duplicate headers please"); =head1 DESCRIPTION @@ -123,9 +125,13 @@ sub print_metadata { =head2 print_slice Arg [1] : Bio::EnsEMBL::Slice or other Bio::PrimarySeqI compliant object - Description: Serialises the slice into FASTA format. Buffering is used + Arg [2] : Optional Boolean - override the default serialisation of a header + Description: Serializes the slice into FASTA format. Buffering is used While other Bioperl PrimarySeqI implementations can be used, a custom header function will be required to accommodate it. + + Add an override as second argument if more control is needed + over when and how custom headers are written. Returntype : None =cut @@ -133,9 +139,10 @@ sub print_metadata { sub print_Slice { my $self = shift; my $slice = shift; + my $override = shift; my $fh = $self->{'filehandle'}; - # Insert header line - $self->print_metadata($slice); + # Default print header, override + $self->print_metadata($slice) unless $override; # set buffer size my $chunk_size = $self->{'chunk_factor'} * $self->{'line_width'};