- From: kc28 <kei.cheung@yale.edu>
- Date: Sat, 09 Sep 2006 22:22:30 -0400
- To: "Miller, Michael D (Rosetta)" <Michael_Miller@Rosettabio.com>
- Cc: William Bug <William.Bug@DrexelMed.edu>, Alan Ruttenberg <alanruttenberg@gmail.com>, Marco Brandizi <brandizi@ebi.ac.uk>, semantic-web@w3.org, public-semweb-lifesci@w3.org
Hi Michael et al, The following tools, for example, are available for microarray gene annotation. SOURCE -- http://nar.oxfordjournals.org/cgi/content/full/31/1/219 KARMA -- http://nar.oxfordjournals.org/cgi/content/full/32/suppl_2/W441 RESOURCERER -- http://pga.tigr.org/tigr-scripts/magic/r1.pl DRAGON -- http://pevsnerlab.kennedykrieger.org/dragon.htm These tools take a gene list of interest and return annotation collected from multiple sources (e.g., gene ontology, UniProt, and KEGG). It might be useful if these tools can be made semantic-web-aware. Cheers, -Kei Miller, Michael D (Rosetta) wrote: > Hi Bill and Allan, > > You misunderstand my use case. > > My researcher doesn't much care that the world knows about his/her > microarray experiment yet--in fact he/she may very well be searching > for interesting information about the gene set to see whether it is > worth going further or whether the experiment was just retreading old > ground or whatever. There's this new tool, the semantic web, so the > researcher is going to submit this set of genes and hopefully get > useful information on them as a set. > > Now this researcher probably makes the assumption that as long as the > naming source of the genes is indicated, no further work is required. > This naming source may very well be GenBank, which, of course, isn't > likely to be set up for easy access for pure semantic web tools for > many years, if ever, as many people on this list would like but better > be supported by the semantic web because for all its faults, and all > the faults of the current sequence databases, if the semantic web > can't garner information from them I don't see much hope for adoption > from the common researcher. > > So perhaps the researcher gets back that the genes are part of a > particular pathway, there were a few papers in PubMed that mentions > them, some microarray experiments in public repositories had them > significantly up or down regulated or effected by some drug but the > conclusions for this experiment appear to be worthy so hopefully the > experiment will get annotated (with these semantic web results as > well), be made part of a submittal, and the experiment itself > deposited in a public database to now be accessible for others > searching the semantic web. > > "In translating the instance data into OWL, it should then be possible > to perform the sort of higher level sorting and re-analysis Alan > describes." > > Although this wasn't the use case I was talking about in this thread, > it is obviously a very interesting use case also. I believe in an > earlier e-mail I talked about something similar, but one will be > unlikely to find out, in general, about the individuals in the > experiment (outside of genes), because they will be truly unique > instances of things like samples, hybridization and feature extraction > and data but, if the researcher annotates these individuals from rich > ontologies or from not so great sources that tools are developed to > compensate for, then I agree entirely with you and Alan that much > useful reasoning can be done on the semantic web. > > "The tendency when presenting these results in research articles - and > often when sharing the data - is to provide the analyzed/reduced view > of the data" > > Actually, I just heard Leroy Hood of ISB and other fame and Eric > Schadt for Rosetta Inpharmatics (our parent company) give excellent > talks at the MGED9 meeting where their research is opening up and > bringing in information and data from a vast number of resources and > tying it together into big pictures, all without the semantic web. > I'm sure they would love to have the kind of power envisioned by the > W3C for the semantic web but they won't touch it until it is > easy--they are busy doing their core jobs. > > So I really think that we need to: > > 1) make sure the semantic web allows people to poke at it, I.e. ask > the question is there anything interesting about a particular object, > without having to say why they are interested > > 2) provide tools so that they can annotate their objects well so that > when they are submitted they can be incorporated into the web (moving > forward, this is one aim of the MAGEstk for gene expression experiments) > > 3) provide that existing imperfect resources have semantic web tools > that can overcome those imperfections and get the usefulness from them > people are currently getting > > 4) most importantly get a useful semantic web out there now, there's > plenty of information available, then make it better as time goes along > > The resources that are ready set up for easy integration into the > semantic web will come along for free. > > cheers, > Michael > > > -----Original Message----- > *From:* William Bug [mailto:William.Bug@DrexelMed.edu] > *Sent:* Friday, September 08, 2006 8:39 PM > *To:* Alan Ruttenberg > *Cc:* Miller, Michael D (Rosetta); Marco Brandizi; > semantic-web@w3.org; public-semweb-lifesci@w3.org > *Subject:* Re: Playing with sets in OWL... > > I think Alan is making a very important general point here. > > MAGE-ML/MAGE-OM is perfectly tuned to the needs of: > a) transferring entire microarray data sets across systems > b) persisting microarray data sets (at least in certain scenarios) > c) providing a systematic, normative interface for writing code to > access specific elements and data collections one typically finds > in the description of a microarray data set > This is the sort of functionality data models are particularly > well suited at supporting. > > MAGE-OM/MAGE-ML is also the result of a huge amount of > deliberation from dozens of experts in the informatics fields > involved in generating, storing, and manipulating microarray data. > > When it comes to manipulating the information associated with a > microarray experiment - or collection of experiments - in a > semantically explicitly manner, however, RDF is really the > preferred formalism providing the required explicit semantics, > while still providing the expressiveness needed to characterize > the inherent variety, complexity, and granularity in this > information. When it comes to filling out the assertions to the > point of being able to reason on them - even simple reasoning such > as consistency checks - some dialect of OWL will be the formalism > of choice, I believe. > > I think Alan gives a very clear example of how to use OWL in this > particular situation described by Marco. > > I have just a few questions in followup: > 1) The MAGE-ML XML Schema provides for a great deal of flexibility > via the use of optional fields. Still, any given use in a > specific lab for a specific collection of microarray experiments > is likely to develop it's own conventions for which fields to use > and which not to use - and how to populate the more "open" > elements. With this in mind, it seems it should be possible under > those circumstances to create an XSLT to translate the individuals > contained in a MAGE-ML instance according to the elemental OWL > classes Alan described - > Expression_technology, Expression_technology_map, Spot_mapping, > Expression_profile_experiment, Spot_intensity, > Gene_expression_computation. The latter can probably be > reconstituted from the MAGE-ML elements BioAssay, BioAssayData, > HigherLevelAnalysis, Measurement, and QuantitationType. In > translating the instance data into OWL, it should then be possible > to perform the sort of higher level sorting and re-analysis Alan > describes. The translation should probably take the "open world" > assumption into account, so the resulting OWL statements will > provide the intended semantic completeness, even if that isn't > represented in the MAGE-ML instances themselves. > > 2) I think the use of OWL Alan describes here is going to be > critical to performing broad field, large scale re-analysis of > complex data sets such as microarray experiments and various types > of neuro-images containing segmented geometric objects (in many > ways equivalent to the segmentation performed on microarray images > to determine the location and intensity of spots). The tendency > when presenting these results in research articles - and often > when sharing the data - is to provide the analyzed/reduced view of > the data. In the context of these complex experiments, many forms > of re-analysis will not be possible without access to the > originally collected data. Think of how critical BLAST-based > meta-analysis was for GeneBank through the 1990s (and still is). > There are several underlying assertions making it possible to > perform such analysis. Primary among them is the acceptance that > each form of sequencing technology provides a reliable way of > determining the probability of finding a particular nucleotide at > a particular location. Many sequences are submitted with the > simple assertion that at position N in sequence X there is a 100% > probability (or 95% confidence, to be more specific) of finding > nucleotide A|T|G|C. To some extent, the statistical analysis > performed by BLAST (and other position-sensitive, > cross-correlative statistical algorithms) relied on these "ground > facts". For the most part, it was safe to assume this level of > reduced data could be safely pooled with other such sequence > determinations regardless of the specific sequencing device, > underlying biochemical protocols, and specific lots of reagents > used. These same assumptions can not generally be safely assumed > for microarray experiments, segmented MRI images - and many other > types of images such as IHC or in situ based images. As an > example, just look to the debates in the last year or two > regarding the sometimes problematic nature of replicating "gene > expression" level results with different arrays covering the > "same" genes. If we are to support the same sort of meta analysis > as was common with BLAST across GenBank sequences, then we will > have to often supply access to the low level data elements. This > in fact was a major impetus behind providing the MAGE-OM (and > FuGE-OM). As I state at the top of this email with points 'a', > 'b', & 'c', MAGE-OM/MAGE-ML is extremely useful for several > critical tasks related to the handling of this detailed data. > When it comes to supporting the semantically-grounded analytical > requirements of such complex, broad field, meta-analysis, however, > I think OWL (and sometimes RDF alone) is going to prove a critical > enabling technology. > > 3) Re:anonymous classes/individuals of the type Alan describes: > These are essentially "blank nodes" in the RDF sense - "unnamed" > nodes based on a collection of necessary restrictions, if I > understand things correctly. Please pardon the naive question, > but aren't there some caveats in terms of processing very large > RDF and/or OWL graphs containing "blank" or "anonymous" nodes. > For many OWL ontologies, this might not be a concern, but if one > were to be tempted to express a large variety of such sets based > on different groupings of the sequence probes on a collection of > arrays - groupings relevant to specific types of analysis - I > could see how these anonymous entities - especially the anonymous > sets of individuals - could really proliferate. > > Many thanks for providing this very helpful exemplar, Alan. > > Cheers, > Bill > > > On Sep 8, 2006, at 9:50 PM, Alan Ruttenberg wrote: > >> >> Yes. However I don't think I would change anything I wrote. >> Because OWL works in the open world, we can say that all these >> things exists, but only supply the details that we need. But >> having the framework which explains the meaning of what is >> supplied is one of the points of using ontologies. In this case, >> if all we know is that there was some computation that led to >> this gene set we could use some arbitrary name for it >> (remembering that if we decided to represent it later/ merge it >> with the experimental run we can use owl:sameAs to merge our name >> with the actual name). >> >> So. with reference to this ontology (generated by Marco, or >> imported from some standard) he could simply state: >> >> Individual(c1 type(Computation) >> value(geneComputedAsExpressed g1) >> value(geneComputedAsExpressed g2) >> value(geneComputedAsExpressed g3) >> ) >> >> If he wanted to state that the source was an array experiment >> (but he didn't know the details), he could add to c1 >> >> value(fromExperiment Individual( >> type(ExpressionProfileExperiment))) >> >> which uses an anonymous individual (blank node) of the >> appropriate type. Now you know that the data originally came from >> an expression profile experiment, though you haven't needed to >> add any other information other than that. >> >> The pattern that Marco mentions that is closest to this is >> >>>>> set1 isA GeneSet >>>>> set1 hasMember g1, g2, g3 >>>> >> >> in that we are using the property values on an instance to >> represent the set. But the point I wanted to make was that a gene >> set isn't some arbitrary set. It is a choice, chosen for a >> reason/purpose, and that the ontology should explicitly represent >> those reasons/purposes. >> >> If there are defined kinds of follow up, then he could define >> define an instance to represent that process too. >> >> Finally, I wanted to make the technical point that that he >> doesn't need to use constructs of the form: >> >>>>> set1 derivesFromUnionOf set2, set3 >>>> >> >> OWL provides the ability to say these things, even when the "set" >> is the property values of an instance, for example, given >> >> Individual(c1 type(Computation) >> value(geneComputedAsExpressed g1) >> ) >> >> Individual(c2 type(Computation) >> value(geneComputedAsExpressed g2) >> value(geneComputedAsExpressed g3) >> ) >> >> supposing that he wanted to represent a followup list to be >> verified by RT PCR represented by the class RTPCRFollowup. >> Let's say that wanted to call the property geneToFollowUp, with >> inverse geneFollowedUpIn >> >> Individual(RTPCRFollowup1 type(RTPCRFollowup)) >> >> EquivalentClasses( >> unionOf( >> restriction(GeneExpressedAccordingTo hasValue(c1)) >> restriction(GeneExpressedAccordingTo hasValue(c2))) >> restriction(geneFollowedUpIn hasValue(RTPCRFollowup1)))) >> >> Now, e.g. Pellet, will conclude that the values of the property >> geneToFollowUp of instance RTPCRFollowup1 is exactly g1, g2, g3 >> >> Of course that's not the only way to do it, but it does show that >> OWL reasoning can make it economical to represent and work with >> sets without having to go off and recapitulate set theory. >> >> -Alan >> >> On Sep 8, 2006, at 7:41 PM, Miller, Michael D (Rosetta) wrote: >> >>> >>> Hi Alan, >>> >>> What you are describing is described in MAGE-OM/MAGE-ML, as a >>> UML model >>> to capture the real world aspects of running a microarray >>> experiment. >>> >>> Typically at the end of this process a set of genes is identified as >>> being interesting for some reason and one wants to know more >>> about this >>> set of genes beyond the microarray experiment that has been >>> performed. >>> >>> I might be wrong but I think that is where Marco is starting, at >>> the end >>> of the experiment for follow-up. >>> >>> cheers, >>> Michael >>> >>>> -----Original Message----- >>>> From: public-semweb-lifesci-request@w3.org >>>> <mailto:public-semweb-lifesci-request@w3.org> >>>> [mailto:public-semweb-lifesci-request@w3.org] On Behalf Of >>>> Alan Ruttenberg >>>> Sent: Friday, September 08, 2006 3:07 PM >>>> To: Marco Brandizi >>>> Cc: semantic-web@w3.org <mailto:semantic-web@w3.org>; >>>> public-semweb-lifesci@w3.org <mailto:public-semweb-lifesci@w3.org> >>>> Subject: Re: Playing with sets in OWL... >>>> >>>> >>>> >>>> Hi Marco, >>>> >>>> There are a number of ways to work with sets, but I don't think I'd >>>> approach this problem from that point of view. >>>> Rather, I would start by thinking about what my domain instances >>>> are, what their properties are, and what kinds of questions I >>>> want to >>>> be able to ask based on the representation. I'll sketch this out a >>>> bit, though the fact that I name an object or property doesn't mean >>>> that you have to supply it (remember OWL is open-world) - still >>>> listing these make the ontology makes your intentions clearer and >>>> the ontology easier to work with by others. >>>> >>>> The heading in each of these is a class, of which you would >>>> make one >>>> or more instances to represent your results. >>>> The indented names are properties on instances of that class. >>>> >>>> An expression technology: >>>> Vendor: >>>> Product: e.g. array name >>>> Name of spots on the array >>>> Mappings: (maps of spot to gene - you might use e.g. >>>> affymetrix, >>>> or you might compute your own) >>>> >>>> ExpressionTechnologyMap >>>> SpotMapping: (each value a spot mapping) >>>> >>>> Spot mapping: >>>> SpotID: >>>> GeneID: >>>> >>>> An expression profile experiment (call yours exp0) >>>> When done: >>>> Who did it: >>>> What technology was used: (an expression technology) >>>> Sample: (a sample) >>>> Treatment: ... >>>> Levels: A bunch of pairs of spot name, intensity >>>> >>>> Spot intensity >>>> SpotID: >>>> Intensity: >>>> >>>> A computation of which spots/genes are "expressed" (call yours c1) >>>> Name of the method : e.g. mas5 above threshold >>>> Parameter of the method: e.g. the threshold >>>> Experiment: exp0 >>>> Spot Expressed: spots that were over threshold >>>> Gene Computed As Expressed: genes that were over threshold >>>> >>>> And maybe: >>>> >>>> Conclusion >>>> What was concluded: >>>> By who: >>>> Based on: c1 >>>> >>>> All of what you enter for your experiment are instances (so >>>> there are >>>> no issues of OWL Full) >>>> >>>> Now, The gene set you wanted can be expressed as a class: >>>> >>>> Let's define an inverse property of >>>> "GeneComputedAsExpressed", call >>>> it "GeneExpressedAccordingTo" >>>> >>>> Class(Set1 partial restriction(GeneExpressedAccordingTo >>>> hasValue(c1)) >>>> >>>> Instances of Set1 will be those genes. You may or may not want to >>>> actually define this class. However I don't think that youneed >>>> to add any properties to it. Everything you would want to say >>>> probably wants to be said on one of the instances - the experiment, >>>> the computation, the conclusion, etc. >>>> >>>> Let me know if this helps/hurts - glad to discuss this some more >>>> >>>> -Alan >>>> >>>> >>>> >>>> >>>> 2) >>>> >>>> On Sep 8, 2006, at 11:58 AM, Marco Brandizi wrote: >>>> >>>>> >>>>> Hi all, >>>>> >>>>> sorry for the possible triviality of my questions, or the >>>> >>>> messed-up >>>> >>>>> mind >>>>> I am possibly showing... >>>>> >>>>> I am trying to model the grouping of individuals into sets. In my >>>>> application domain, the gene expression, people put >>>> >>>> together, let's >>>> >>>>> say >>>>> genes, associating a meaning to the sets. >>>>> >>>>> For instance: >>>>> >>>>> Set1 := { gene1, gene2, gene3 } >>>>> >>>>> is the set of genes that are expressed in experiment0 >>>>> >>>>> (genei and exp0 are OWL individuals) >>>>> >>>>> >>>>> I am understanding that this may be formalized in OWL by: >>>>> >>>>> - declaring Set1 as owl:subClassOf Gene >>>>> - using oneOf to declare the membership of g1,2,3 >>>>> (or simpler: (g1 type Set1), (g2 type Set1), etc. ) >>>>> - using hasValue with expressed and exp0 >>>>> >>>>> (right?) >>>>> >>>>> Now, I am trying to build an application which is like a semantic >>>>> wiki. >>>>> >>>>> Hence users have a quite direct contact with the underline >>>>> ontology, and >>>>> they can write, with a simplified syntax, statements about a >>>>> subject >>>>> they are describing (subject-centric approach). >>>>> >>>>> Commiting to the very formal formalism of OWL looks a bit >>>> >>>> too much... >>>> >>>>> formal... ;-) and hard to be handled with a semantic wiki-like >>>>> application. >>>>> >>>>> Another problem is that the set could have properties on >>>> >>>> its own, for >>>> >>>>> instance: >>>>> >>>>> Set1 hasAuthor Jhon >>>>> >>>>> meaning that John is defining it. But hasAuthor is >>>> >>>> typically used for >>>> >>>>> individuals, and I wouldn't like to fall in OWL-Full, by >>>> >>>> making an OWL >>>> >>>>> reasoner to interpret Set1 both as an individual and a class. >>>>> >>>>> Aren't there more informal (although less precise) methods to >>>>> model >>>>> sets, or list of individuals? >>>>> >>>>> An approach could be modeling some sort of set-theory over >>>>> individuals: >>>>> >>>>> set1 isA GeneSet >>>>> set1 hasMember g1, g2, g3 >>>>> ... >>>>> >>>>> set1 derivesFromUnionOf set2, set3 >>>>> >>>>> ... >>>>> >>>>> But I am not sure it would be a good approach, or if someone else >>>>> already tried that. >>>>> >>>>> Any suggestion? >>>>> >>>>> >>>>> Thanks in advance for a reply. >>>>> >>>>> Cheers. >>>>> >>>>> -- >>>>> >>>>> >>>> ============================================================== >>>> ======== >>>> >>>>> ========= >>>>> Marco Brandizi <brandizi@ebi.ac.uk <mailto:brandizi@ebi.ac.uk>> >>>>> http://gca.btbs.unimib.it/brandizi >>>>> >>>>> >>>> >>>> >>>> >>>> >>> >>> >> >> > > Bill Bug > Senior Research Analyst/Ontological Engineer > > Laboratory for Bioimaging & Anatomical Informatics > www.neuroterrain.org > Department of Neurobiology & Anatomy > Drexel University College of Medicine > 2900 Queen Lane > Philadelphia, PA 19129 > 215 991 8430 (ph) > 610 457 0443 (mobile) > 215 843 9367 (fax) > > > Please Note: I now have a new email - William.Bug@DrexelMed.edu > <mailto:William.Bug@DrexelMed.edu> > > > > >This email and any accompanying attachments are confidential. >This information is intended solely for the use of the individual >to whom it is addressed. Any review, disclosure, copying, >distribution, or use of this email communication by others is strictly >prohibited. If you are not the intended recipient please notify us >immediately by returning this message to the sender and delete >all copies. Thank you for your cooperation. >
Received on Sunday, 10 September 2006 02:26:39 UTC