[Bioperl-l] Bio::Score of interest?
Hilmar Lapp
hlapp at gmx.net
Wed Jun 28 00:18:36 UTC 2006
On Jun 27, 2006, at 11:25 AM, Sendu Bala wrote:
> Hilmar Lapp wrote:
>> I would have suggested initiating a quantitation type ontology,
>> not one
>> individual per module.
>
> Where would such a thing 'live'? Would it be some static file
> somewhere
> that gets read in with Bio::OntologyIO? Or an in-memory Bio::Ontology
> that can added to by a module when it needs extra terms to describe
> its
> particular kind of scores?
For instance, yes. Once you read in an ontology (through
Bio::OntologyIO indeed) it sits essentially in memory.
> [...]
> Not having any experience with ontolgies, I can't think how this would
> all be done in practice though. Don't we need some central module
> (Bio::Score) to create the ontology (or read it in) and then present
> some suitable interface to it?
Possibly - the problem is how to get the ontology=typed term given an
analysis program and attribute name (e.g. 'score' of a feature
object). There is no method for doing this on a feature object and
bolting one on would be a bad idea I think.
So, the Bio::Score would be a little hybrid between an objectified
score value that now doesn't just have a numeric value but also a
type term, and a factory for creating the ontology (e.g., by reading
it in from a specified or default location). I.e., you'd have
my $value = $score->value();
my $type = $score->type();
# $type is-a Bio::Ontology::TermI
my $quant_ont = $type->ontology();
# see what type of score we have
my @ancestors = $quant_ont->get_ancestor_terms($type);
if (grep {$_->name eq 'expectation_value'} @ancestors) {
# it's an e-value
} elsif ( ...test for some other type...) {
# etc
}
> For example, modules that wanted to store
> some scores might just ask Bio::Score for the ontology and type their
> scores by associating with an available ontology term, creating new
> terms if necessary (or is that something you would never do; the
> ontology needed to have been set up to cover all possible terms?).
Yes. You'd extend it as you encounter types that aren't in the
ontology yet, until the ontology fully captures the knowledge domain.
> Then
> when the user has a bunch of these typed scores, surely he doesn't
> want
> to deal with going through the ontology himself to work out what it
> all
> means? Well, he could if he needs that level of control, but also he
> just wants to say Bio::Score->sort(x y z) or something.
See above for a quick example of the logic. I'd separate that into
its own module, like Bio::Score::Utils.
-hilmar
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
--
===========================================================
: Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
===========================================================
More information about the Bioperl-l
mailing list