BioMart::Formatter FASTA
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
BioMart::Formatter::FASTA
Package variables
No package variables defined.
Inherit
BioMart::FormatterI
Synopsis
The FASTA Formatter returns whitespace separated tabular data
for a BioMart query's ResultTable
Description
When given a BioMart::ResultTable containing the results of
a BioMart::Query the FASTA Formatter will return tabular output
with one line for each row of data in the ResultTable and single spaces
separating the individual entries in each row. The getDisplayNames
and getFooterText can be used to return appropiately formatted
headers and footers respectively
Methods
_new
No description
Code
getDisplayNames
No description
Code
isSpecial
No description
Code
nextRow
No description
Code
processQuery
No description
Code
Methods description
None available.
Methods code
_newdescriptionprevnextTop
sub _new {
    my ($self) = @_;

    $self->SUPER::_new();
}
getDisplayNamesdescriptionprevnextTop
sub getDisplayNames {
    my $self = shift;

    return '';
}
isSpecialdescriptionprevnextTop
sub isSpecial {
    return 1;
}

1;
}
nextRowdescriptionprevnextTop
sub nextRow {
    my $self = shift;

    my $rtable = $self->get('result_table');
    my $row = $rtable->nextRow;
    if (!$row){
        return;
    }
    my $array_length = @{$row};
    map { $_ = '' unless defined ($_); } @$row; # get rid of unitialized-value warning message
my $header_atts = join "|",@{$row}[1..$array_length-1]; #chop $header_atts;
my $seq = ${$row}[0]; ### SPECIAL LOGIC FOR SNP SEQUENCES, to make them agree with FASTA FORMAT
### THE * would suggest the split between two sequnce snp sequences
### The allele would go into header, which comes from genomic sequence
### in tags separating two snp sequences and that gets replaced by _,
### this tag look like %allele%. eg. %A/T%. I am using this assumption
### of % sign as TO DATE i have never seen a residue string containing
### % sign,
### for those how want to post process them in a different way, may use _
### as a splitting point
if ($seq =~ m/\%(.*)\%/)
{
$header_atts .= "|$1";
## also substiture with *
$seq =~ s/\%.*\%/\_/; } ########################################################################
$seq =~ s/(\w{60})/$1\n/g; return ">" . $header_atts . "\n" . $seq ."\n";
}
processQuerydescriptionprevnextTop
sub processQuery {
    my ($self, $query) = @_;

    $self->set('original_attributes',[@{$query->getAllAttributes()}]) 
	if ($query->getAllAttributes());
    $self->set('query',$query);
    return $query;
}
General documentation
AUTHOR - Syed Haider, Damian SmedleyTop
CONTACTTop
This module is part of the BioMart project
http://www.biomart.org
Questions can be posted to the mart-dev mailing list: mart-dev@ebi.ac.uk