[rules-users] Newbie: Is this feasible w/ Drools?

Alexander Richter arichter at vei.net
Wed Feb 28 10:43:06 EST 2007


Hello,
I work in a bioinformatics group and we're interested in using Drools  
for setting up an assertion engine for biological processes.
We have over 300 genomes ( == sets of facts), each with upwards of  
10K genes/features with annotations ( == facts). We want to be able  
to predict whether various biological processes exist, based on  
presence of the annotated genes that are the components of the  
process. Asserted processes are not black and white; we may have  
various levels of certainty, based on the percentage of component  
genes found (because we can't be certain that not finding a certain  
annotation means the the gene isn't in the genome -- it could mean  
that we just didn't find it). In addition, processes tend to be  
composed of sub-processes. The assertions then get used to make  
additional annotations on the features, which we then use to help us  
look for missing components. Therefore, we need to be able to display  
the decisions that led to a specific assertion, as well as the  
features that went into the component assertions.
In addition, we regularly add new processes, as we get new ways to  
annotate genes, or read about newly worked-out processes. We really  
don't want to have to run all rules against all the genomes every  
time we add a new rule, but just add that rule.

We would like to define the actual rules for the assertions in  
Drools, but don't know how we would do certain parts.
1) Can one walk through the rule hierarchy from a given rule and  
tease out the hierarchy of rules and the facts that went into that rule?
2) Is it possible to add a rule, or set of interacting rules, and  
have them incrementally evaluated, instead of forcing full  
evaluation? Alternatively, can the rulesets be individually defined  
and run in such a way that they interact?


Thanks,
Alexander Richter



More information about the rules-users mailing list