[Bioperl-l] questions about generating gene model by GLEAN
Zhan, Shuai
Shuai.Zhan at umassmed.edu
Fri Jan 28 18:03:17 UTC 2011
Hi,
Is there someone used GLEAN for generating consensus gene set? Would you mind sharing some experience with me? I'd greatly appreciate any help.
I have tried for run it for couple of weeks. At first I found it can't fetch the real sequence from database but on object, then I change some some codes of fetchseq {} of GLEAN::Evidence::Base. (->seq->seq instead of ->seq)
By far, it has began processing my input and correctly analyzed the candidate start, stop, donor, and acceptor for the first contig.
But it still failed with something looks like "MSG: asking for tag value that does not exist Evidence".
$glean-lca --database glean --user me --password 123 --param param.yaml > test.dat
No reference provided; attempting to analyze entire genome
Gathering evidence from 'FGENE' for scaff Contig0:1,1129007 ...
The initial exon of CDS:FGENESH(fgp17144.t1) did not begin with a valid start codon
Extending the terminal exon of CDS:FGENESH(fgp17240.t1) to next valid downstream stop codon
The initial exon of CDS:FGENESH(fgp17165.t1) did not begin with a valid start codon
Extending the initial exon of CDS:FGENESH(fgp17192.t1) to next valid upstream start codon
The initial exon of CDS:FGENESH(fgp17178.t1) did not begin with a valid start codon
Error providing evidence type: GeneModel
The error was:
------------- EXCEPTION -------------
MSG: asking for tag value that does not exist Evidence
STACK Bio::SeqFeature::Generic::get_tag_values /usr/lib/perl5/site_perl/5.8.8/Bio/SeqFeature/Generic.pm:517
STACK Glean::Site::dump /home/zhan/geneset/glean-gene/bin/../lib/Glean/Site.pm:52
STACK Glean::MLE::_add_evidence /home/zhan/geneset/glean-gene/bin/../lib/Glean/MLE.pm:167
STACK Glean::MLE::add_evidence /home/zhan/geneset/glean-gene/bin/../lib/Glean/MLE.pm:94
STACK (eval) /home/zhan/geneset/glean-gene/bin/../lib/Glean/MLE.pm:203
STACK Glean::MLE::estimate /home/zhan/geneset/glean-gene/bin/../lib/Glean/MLE.pm:202
STACK toplevel glean-gene/bin/glean-lca:172
I think it failed in add_evidence method of Glean::MLE.
According to the track, I also report some key scalar by print sentense.
For example,
It failed in adding the first candidate site to evidence.
The current $site is Contig0:1011027:1011027:0:-1, its primary_tag is "start", its seq_id is "Contig0" its strand is -1.
At first it invoked _add_evidence {} of Glean/MLE.pm.
The problem is $site->dump need get the value of tag "Evidence" for $site, but actually the "Evidence" tag didn't exist for this site.
THen I found $site of @sites was created by list_starts {} of Glean::Evidence::GeneModel, but its inital tags only have "Next Stop" and "Readingframe". I can't find any hint of when tag "Evidence" was added to $site.
The related source codes of glean are listed:
sub _add_evidence{
my @sites = $evid->list_sites($scaff);
for my $site (@sites) {
...
$stype->{$sloc}->{_site} ||= $site->dump;
}
...
}
sub dump { # from Glean/Site.pm
...
return join("\t",
$site->seq_id,
$site->primary_tag,
defined $site->score ? sprintf("%g", $site->score == 0 ? $site->worst : -log($site->score)) : "NA",
...
join(";", $site->get_tag_values("Evidence"))
);
...
}
sub list_sites { # from Evidence/GeneModel.pm
...
push @sites, $self->list_starts(@cds);
...
}
sub list_starts { # from Evidence/GeneModel.pm
...
push @sites, Glean::Site->new(-primary => "start",
-start => $pos + $str * (pos($startseq) - 3),
-end => $pos + $str * (pos($startseq) - 3),
-strand => $str,
-frame => 0,
-source => "$self",
-seq_id => $seq_id,
-tag => { NextStop => $nextstop,
ReadingFrame => $frame,
},
);
...
}
sub add_evidence{
...
eval {
$self->add_evidence($scaff, $evtype->new($db, $self->{_log}, $algo, $params));
};
croak("Error providing evidence type: $type\nThe error was:\n$@") if $@;
...
}
Sincerely
Shuai Zhan
More information about the Bioperl-l
mailing list