https://www.bioontology.org//mediawiki/api.php?action=feedcontributions&user=JimHu&feedformat=atomNCBO Wiki - User contributions [en]2024-03-29T15:01:13ZUser contributionsMediaWiki 1.35.9https://www.bioontology.org//mediawiki/index.php?title=NCBO_Widgets&diff=9644NCBO Widgets2010-01-15T21:33:46Z<p>JimHu: /* Term-selection field on a form */</p>
<hr />
<div>NCBO widgets are the HTML or Javascript code that you can put on your Web site or Web form to use BioPortal functionality there. Using NCBO Widgets is just one of [[Using_NCBO_Technology_In_Your_Project|the ways in which you can use the NCBO technology directly on your Web site or in your application]].<br />
<br />
= Types of NCBO Widgets and use cases = <br />
* '''[[#Term-selection field on a form|Term-selection field on a form]]''': You can add a text field to your Web form that will let users enter a term from a controlled vocabulary (e.g., terms from a single ontology)<br />
** ''Example use case'': Suppose you are running a tissue microarray database and users upload sample descriptions to your database using a web form. There is usually a field for the user to enter the diagnosis for the tissue sample that she is entering. Usually, this field is a text-box or a drop down menu populated with a list of controlled terms. The free text-box is prone to errors, the drop-down gets too unwieldy with large terminologies. Using the NCBO term-selection widget to have users easily select a term from an ontology or controlled vocabulary (such as the NCI Thesaurus) to fill in the field. For example, when the user starts typing "cutaneous me", the term "cutaneous melanoma" pops up.<br />
** ''What does the term-selection field get you'': <br />
*** Look-ahead so that you don't need to type the whole term<br />
*** Controlled vocabulary provides consistency of the way different users use the term (If you want to put "Malignant melanoma", it will always be the same term from NCIT, regardless of how a user started typing it<br />
*** When a new version of your controlled vocabulary becomes available in BioPortal, the widget will automatically use that new version.<br />
*'''[[#Ontology search widget|Ontology search widget]]''': You can add to your Web site a search box that searches a specific BioPortal ontology. When the user selects the term of interest (with the help of the look-ahead feature), he can jump to the BioPortal page for the corresponding concept in BioPortal.<br />
*'''[[#Feed widget|Feed widget]]''': you can put a widget on your site that will have a live feed of all the changes to your ontology of interest, such as uploads of a new version, comments from other users, new mappings for concepts in your ontology.<br />
*'''[[#Ontology visualization widget|Ontology visualization widget]]''': You can put a widget on your Web site that visualizes your entire ontology of interest, or some part of it, as on the [http://bioportal.bioontology.org/visualize/39478#t_tab1: "Visualize" tab in BioPortal].<br />
<br />
<br />
= How to use NCBO Widgets=<br />
<br />
The easiest way to add any NCBO widget to your HTML page or Web form is by following these steps:<br />
* Find your ontology of interest in the [http://bioportal.bioontology.org/ontologies list of BioPortal ontologies] (e.g., NCI Thesaurus)<br />
* Click on the ontology name to get to the page with '''Details''' for that ontology (e.g., the [http://bioportal.bioontology.org/ontologies/39478 Details for NCI Thesaurus])<br />
* On the Ontology Details page, go to '''Ontology Widgets''' tab<br />
* Select the widget you want<br />
* Click the button below the widgets to get instructions for the specific widget<br />
<br />
== Term-selection field on a form ==<br />
<br />
To add a filed to your form that lets the user fetch a term from your ontology of interest, do the following:<br />
* Download the [http://bioportal.bioontology.org/javascripts/widgets/form_complete.js '''form_complete.js file'''] and put it on your server<br />
* In the header for the page where you want the form field, include the '''form_complete.js''' file<br />
* On your form, for the fields where you want to use the term-selection widget, specify the class in the following format: <code>bp_form_complete-{ontology_id}-{value}</code><br />
** For example, <code>bp_form_complete-1032-uri</code> will use NCI Thesaurus (ontology id is 1032) and will put the term URI in the field after the user selects the term from the pull-down list.<br />
** You can use the following values:<br />
*** <code>uri</code>: put the complete URI of the concept (e.g., http://bioportal.bioontology.org/visualize/39478/Common_Neoplasm);<br />
*** <code>shortid</code>: put the short id of the concept, as used in BioPortal (e.g., "Common_Neoplasm");<br />
*** <code>name</code>: put the preferred name of the concept (e.g., "Common Neoplasm");<br />
<br />
== Ontology search widget ==<br />
<br />
To add a search widget to your HTML page that searches a specific ontology, do the following:<br />
* Download the [http://bioportal.bioontology.org/javascripts/widgets/quick_jump.js '''quick_jump.js file'''] and put it on your server<br />
* Copy the code from the Ontology Widgets page in Bioportal and paste it to your HTML page<br />
* In the code that you just pasted, make sure to change the path to the quick_jump.js file to point to the location where you put the file (relative to your HTML file)<br />
** For example, if you put the quick_jump.js file in the same directory as your HTML file, you will have:<br />
<pre><br />
<script src="quick_jump.js" type="text/javascript" charset="utf-8"></script><br />
</pre><br />
<br />
== Feed widget ==<br />
<br />
To add a Feed widget to your HTML page, simple copy the code from the Ontology Widget page for your ontology of interest. Here is a sample:<br />
<br />
<pre><br />
<script type="text/javascript"><br />
var BP_ontology_id = "1032"<br />
</script><br />
<script src="http://bioportal.bioontology.org/javascripts/widgets/feed_widget.js" type="text/javascript" charset="utf-8"></script><br />
</pre><br />
<br />
== Ontology visualization widget ==<br />
To add a widget visualizing your ontology to your HTML page, simple copy the code from the Ontology Widget page for your ontology of interest. Here is a sample:<br />
<br />
<pre><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"<br />
id="FlexoViz" width="100%" height="100%"<br />
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><br />
<param name="movie" value="http://keg.cs.uvic.ca/ncbo/flexviz/FlexoViz.swf" /><br />
<param name="quality" value="high" /><br />
<param name="bgcolor" value="#ffffff" /><br />
<param name="allowScriptAccess" value="always" /><br />
<embed src="http://keg.cs.uvic.ca/ncbo/flexviz/FlexoViz.swf" bgcolor="#ffffff"<br />
width="100%" height="100%" name="FlexoViz" align="middle"<br />
play="true"<br />
loop="false"<br />
quality="high"<br />
allowScriptAccess="always"<br />
type="application/x-shockwave-flash"<br />
flashVars="widget=true&ontology=39478&server=http://rest.bioontology.org/bioportal/"<br />
pluginspage="http://www.adobe.com/go/getflashplayer"><br />
</embed><br />
</object> <br />
</pre><br />
<br />
If you want the visualization to be focused on a particular term in the ontology, you can add the term id to the parameters above. For example, to have the widget focus on Melanoma in NCI Thesaurus, replace the following line in the snippet above:<br />
<pre><br />
flashVars="widget=true&ontology=39478&server=http://rest.bioontology.org/bioportal/"<br />
</pre><br />
<br />
with <br />
<pre><br />
flashVars="widget=true&ontology=39478&nodeid=Melanoma&server=http://rest.bioontology.org/bioportal/"<br />
</pre><br />
<br />
(''note "&nodeid=Melanoma"'')<br />
<br />
= Referencing your ontology of interest in the widgets = <br />
<br />
Most of the time you would want your widget to use the latest version of your ontology of interest that is available in BioPortal. Thus, you would want to use the ontology id and not the version is in your widget. To find out the ontology id, go to the "Ontology Details" page for your ontology of interest in BioPortal (e.g., the page for [http://bioportal.bioontology.org/ontologies/39478 NCI Thesaurus]). You will find the ontology id on the Metadata tab there (e.g., the ontology id for NCI Thesaurus is 1032).</div>JimHuhttps://www.bioontology.org//mediawiki/index.php?title=NCBO_Widgets&diff=9643NCBO Widgets2010-01-15T21:33:23Z<p>JimHu: /* Ontology search widget */</p>
<hr />
<div>NCBO widgets are the HTML or Javascript code that you can put on your Web site or Web form to use BioPortal functionality there. Using NCBO Widgets is just one of [[Using_NCBO_Technology_In_Your_Project|the ways in which you can use the NCBO technology directly on your Web site or in your application]].<br />
<br />
= Types of NCBO Widgets and use cases = <br />
* '''[[#Term-selection field on a form|Term-selection field on a form]]''': You can add a text field to your Web form that will let users enter a term from a controlled vocabulary (e.g., terms from a single ontology)<br />
** ''Example use case'': Suppose you are running a tissue microarray database and users upload sample descriptions to your database using a web form. There is usually a field for the user to enter the diagnosis for the tissue sample that she is entering. Usually, this field is a text-box or a drop down menu populated with a list of controlled terms. The free text-box is prone to errors, the drop-down gets too unwieldy with large terminologies. Using the NCBO term-selection widget to have users easily select a term from an ontology or controlled vocabulary (such as the NCI Thesaurus) to fill in the field. For example, when the user starts typing "cutaneous me", the term "cutaneous melanoma" pops up.<br />
** ''What does the term-selection field get you'': <br />
*** Look-ahead so that you don't need to type the whole term<br />
*** Controlled vocabulary provides consistency of the way different users use the term (If you want to put "Malignant melanoma", it will always be the same term from NCIT, regardless of how a user started typing it<br />
*** When a new version of your controlled vocabulary becomes available in BioPortal, the widget will automatically use that new version.<br />
*'''[[#Ontology search widget|Ontology search widget]]''': You can add to your Web site a search box that searches a specific BioPortal ontology. When the user selects the term of interest (with the help of the look-ahead feature), he can jump to the BioPortal page for the corresponding concept in BioPortal.<br />
*'''[[#Feed widget|Feed widget]]''': you can put a widget on your site that will have a live feed of all the changes to your ontology of interest, such as uploads of a new version, comments from other users, new mappings for concepts in your ontology.<br />
*'''[[#Ontology visualization widget|Ontology visualization widget]]''': You can put a widget on your Web site that visualizes your entire ontology of interest, or some part of it, as on the [http://bioportal.bioontology.org/visualize/39478#t_tab1: "Visualize" tab in BioPortal].<br />
<br />
<br />
= How to use NCBO Widgets=<br />
<br />
The easiest way to add any NCBO widget to your HTML page or Web form is by following these steps:<br />
* Find your ontology of interest in the [http://bioportal.bioontology.org/ontologies list of BioPortal ontologies] (e.g., NCI Thesaurus)<br />
* Click on the ontology name to get to the page with '''Details''' for that ontology (e.g., the [http://bioportal.bioontology.org/ontologies/39478 Details for NCI Thesaurus])<br />
* On the Ontology Details page, go to '''Ontology Widgets''' tab<br />
* Select the widget you want<br />
* Click the button below the widgets to get instructions for the specific widget<br />
<br />
== Term-selection field on a form ==<br />
<br />
To add a filed to your form that lets the user fetch a term from your ontology of interest, do the following:<br />
* Download the "http://bioportal.bioontology.org/javascripts/widgets/form_complete.js '''form_complete.js file'''] and put it on your server<br />
* In the header for the page where you want the form field, include the '''form_complete.js''' file<br />
* On your form, for the fields where you want to use the term-selection widget, specify the class in the following format: <code>bp_form_complete-{ontology_id}-{value}</code><br />
** For example, <code>bp_form_complete-1032-uri</code> will use NCI Thesaurus (ontology id is 1032) and will put the term URI in the field after the user selects the term from the pull-down list.<br />
** You can use the following values:<br />
*** <code>uri</code>: put the complete URI of the concept (e.g., http://bioportal.bioontology.org/visualize/39478/Common_Neoplasm);<br />
*** <code>shortid</code>: put the short id of the concept, as used in BioPortal (e.g., "Common_Neoplasm");<br />
*** <code>name</code>: put the preferred name of the concept (e.g., "Common Neoplasm");<br />
<br />
== Ontology search widget ==<br />
<br />
To add a search widget to your HTML page that searches a specific ontology, do the following:<br />
* Download the [http://bioportal.bioontology.org/javascripts/widgets/quick_jump.js '''quick_jump.js file'''] and put it on your server<br />
* Copy the code from the Ontology Widgets page in Bioportal and paste it to your HTML page<br />
* In the code that you just pasted, make sure to change the path to the quick_jump.js file to point to the location where you put the file (relative to your HTML file)<br />
** For example, if you put the quick_jump.js file in the same directory as your HTML file, you will have:<br />
<pre><br />
<script src="quick_jump.js" type="text/javascript" charset="utf-8"></script><br />
</pre><br />
<br />
== Feed widget ==<br />
<br />
To add a Feed widget to your HTML page, simple copy the code from the Ontology Widget page for your ontology of interest. Here is a sample:<br />
<br />
<pre><br />
<script type="text/javascript"><br />
var BP_ontology_id = "1032"<br />
</script><br />
<script src="http://bioportal.bioontology.org/javascripts/widgets/feed_widget.js" type="text/javascript" charset="utf-8"></script><br />
</pre><br />
<br />
== Ontology visualization widget ==<br />
To add a widget visualizing your ontology to your HTML page, simple copy the code from the Ontology Widget page for your ontology of interest. Here is a sample:<br />
<br />
<pre><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"<br />
id="FlexoViz" width="100%" height="100%"<br />
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><br />
<param name="movie" value="http://keg.cs.uvic.ca/ncbo/flexviz/FlexoViz.swf" /><br />
<param name="quality" value="high" /><br />
<param name="bgcolor" value="#ffffff" /><br />
<param name="allowScriptAccess" value="always" /><br />
<embed src="http://keg.cs.uvic.ca/ncbo/flexviz/FlexoViz.swf" bgcolor="#ffffff"<br />
width="100%" height="100%" name="FlexoViz" align="middle"<br />
play="true"<br />
loop="false"<br />
quality="high"<br />
allowScriptAccess="always"<br />
type="application/x-shockwave-flash"<br />
flashVars="widget=true&ontology=39478&server=http://rest.bioontology.org/bioportal/"<br />
pluginspage="http://www.adobe.com/go/getflashplayer"><br />
</embed><br />
</object> <br />
</pre><br />
<br />
If you want the visualization to be focused on a particular term in the ontology, you can add the term id to the parameters above. For example, to have the widget focus on Melanoma in NCI Thesaurus, replace the following line in the snippet above:<br />
<pre><br />
flashVars="widget=true&ontology=39478&server=http://rest.bioontology.org/bioportal/"<br />
</pre><br />
<br />
with <br />
<pre><br />
flashVars="widget=true&ontology=39478&nodeid=Melanoma&server=http://rest.bioontology.org/bioportal/"<br />
</pre><br />
<br />
(''note "&nodeid=Melanoma"'')<br />
<br />
= Referencing your ontology of interest in the widgets = <br />
<br />
Most of the time you would want your widget to use the latest version of your ontology of interest that is available in BioPortal. Thus, you would want to use the ontology id and not the version is in your widget. To find out the ontology id, go to the "Ontology Details" page for your ontology of interest in BioPortal (e.g., the page for [http://bioportal.bioontology.org/ontologies/39478 NCI Thesaurus]). You will find the ontology id on the Metadata tab there (e.g., the ontology id for NCI Thesaurus is 1032).</div>JimHuhttps://www.bioontology.org//mediawiki/index.php?title=NCBO_Widgets&diff=9642NCBO Widgets2010-01-15T21:31:46Z<p>JimHu: /* Term-selection field on a form */</p>
<hr />
<div>NCBO widgets are the HTML or Javascript code that you can put on your Web site or Web form to use BioPortal functionality there. Using NCBO Widgets is just one of [[Using_NCBO_Technology_In_Your_Project|the ways in which you can use the NCBO technology directly on your Web site or in your application]].<br />
<br />
= Types of NCBO Widgets and use cases = <br />
* '''[[#Term-selection field on a form|Term-selection field on a form]]''': You can add a text field to your Web form that will let users enter a term from a controlled vocabulary (e.g., terms from a single ontology)<br />
** ''Example use case'': Suppose you are running a tissue microarray database and users upload sample descriptions to your database using a web form. There is usually a field for the user to enter the diagnosis for the tissue sample that she is entering. Usually, this field is a text-box or a drop down menu populated with a list of controlled terms. The free text-box is prone to errors, the drop-down gets too unwieldy with large terminologies. Using the NCBO term-selection widget to have users easily select a term from an ontology or controlled vocabulary (such as the NCI Thesaurus) to fill in the field. For example, when the user starts typing "cutaneous me", the term "cutaneous melanoma" pops up.<br />
** ''What does the term-selection field get you'': <br />
*** Look-ahead so that you don't need to type the whole term<br />
*** Controlled vocabulary provides consistency of the way different users use the term (If you want to put "Malignant melanoma", it will always be the same term from NCIT, regardless of how a user started typing it<br />
*** When a new version of your controlled vocabulary becomes available in BioPortal, the widget will automatically use that new version.<br />
*'''[[#Ontology search widget|Ontology search widget]]''': You can add to your Web site a search box that searches a specific BioPortal ontology. When the user selects the term of interest (with the help of the look-ahead feature), he can jump to the BioPortal page for the corresponding concept in BioPortal.<br />
*'''[[#Feed widget|Feed widget]]''': you can put a widget on your site that will have a live feed of all the changes to your ontology of interest, such as uploads of a new version, comments from other users, new mappings for concepts in your ontology.<br />
*'''[[#Ontology visualization widget|Ontology visualization widget]]''': You can put a widget on your Web site that visualizes your entire ontology of interest, or some part of it, as on the [http://bioportal.bioontology.org/visualize/39478#t_tab1: "Visualize" tab in BioPortal].<br />
<br />
<br />
= How to use NCBO Widgets=<br />
<br />
The easiest way to add any NCBO widget to your HTML page or Web form is by following these steps:<br />
* Find your ontology of interest in the [http://bioportal.bioontology.org/ontologies list of BioPortal ontologies] (e.g., NCI Thesaurus)<br />
* Click on the ontology name to get to the page with '''Details''' for that ontology (e.g., the [http://bioportal.bioontology.org/ontologies/39478 Details for NCI Thesaurus])<br />
* On the Ontology Details page, go to '''Ontology Widgets''' tab<br />
* Select the widget you want<br />
* Click the button below the widgets to get instructions for the specific widget<br />
<br />
== Term-selection field on a form ==<br />
<br />
To add a filed to your form that lets the user fetch a term from your ontology of interest, do the following:<br />
* Download the "http://bioportal.bioontology.org/javascripts/widgets/form_complete.js '''form_complete.js file'''] and put it on your server<br />
* In the header for the page where you want the form field, include the '''form_complete.js''' file<br />
* On your form, for the fields where you want to use the term-selection widget, specify the class in the following format: <code>bp_form_complete-{ontology_id}-{value}</code><br />
** For example, <code>bp_form_complete-1032-uri</code> will use NCI Thesaurus (ontology id is 1032) and will put the term URI in the field after the user selects the term from the pull-down list.<br />
** You can use the following values:<br />
*** <code>uri</code>: put the complete URI of the concept (e.g., http://bioportal.bioontology.org/visualize/39478/Common_Neoplasm);<br />
*** <code>shortid</code>: put the short id of the concept, as used in BioPortal (e.g., "Common_Neoplasm");<br />
*** <code>name</code>: put the preferred name of the concept (e.g., "Common Neoplasm");<br />
<br />
== Ontology search widget ==<br />
<br />
To add a search widget to your HTML page that searches a specific ontology, do the following:<br />
* Download the ["http://bioportal.bioontology.org/javascripts/widgets/quick_jump.js '''quick_jump.js file'''] and put it on your server<br />
* Copy the code from the Ontology Widgets page in Bioportal and paste it to your HTML page<br />
* In the code that you just pasted, make sure to change the path to the quick_jump.js file to point to the location where you put the file (relative to your HTML file)<br />
** For example, if you put the quick_jump.js file in the same directory as your HTML file, you will have:<br />
<pre><br />
<script src="quick_jump.js" type="text/javascript" charset="utf-8"></script><br />
</pre><br />
<br />
== Feed widget ==<br />
<br />
To add a Feed widget to your HTML page, simple copy the code from the Ontology Widget page for your ontology of interest. Here is a sample:<br />
<br />
<pre><br />
<script type="text/javascript"><br />
var BP_ontology_id = "1032"<br />
</script><br />
<script src="http://bioportal.bioontology.org/javascripts/widgets/feed_widget.js" type="text/javascript" charset="utf-8"></script><br />
</pre><br />
<br />
== Ontology visualization widget ==<br />
To add a widget visualizing your ontology to your HTML page, simple copy the code from the Ontology Widget page for your ontology of interest. Here is a sample:<br />
<br />
<pre><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"<br />
id="FlexoViz" width="100%" height="100%"<br />
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><br />
<param name="movie" value="http://keg.cs.uvic.ca/ncbo/flexviz/FlexoViz.swf" /><br />
<param name="quality" value="high" /><br />
<param name="bgcolor" value="#ffffff" /><br />
<param name="allowScriptAccess" value="always" /><br />
<embed src="http://keg.cs.uvic.ca/ncbo/flexviz/FlexoViz.swf" bgcolor="#ffffff"<br />
width="100%" height="100%" name="FlexoViz" align="middle"<br />
play="true"<br />
loop="false"<br />
quality="high"<br />
allowScriptAccess="always"<br />
type="application/x-shockwave-flash"<br />
flashVars="widget=true&ontology=39478&server=http://rest.bioontology.org/bioportal/"<br />
pluginspage="http://www.adobe.com/go/getflashplayer"><br />
</embed><br />
</object> <br />
</pre><br />
<br />
If you want the visualization to be focused on a particular term in the ontology, you can add the term id to the parameters above. For example, to have the widget focus on Melanoma in NCI Thesaurus, replace the following line in the snippet above:<br />
<pre><br />
flashVars="widget=true&ontology=39478&server=http://rest.bioontology.org/bioportal/"<br />
</pre><br />
<br />
with <br />
<pre><br />
flashVars="widget=true&ontology=39478&nodeid=Melanoma&server=http://rest.bioontology.org/bioportal/"<br />
</pre><br />
<br />
(''note "&nodeid=Melanoma"'')<br />
<br />
= Referencing your ontology of interest in the widgets = <br />
<br />
Most of the time you would want your widget to use the latest version of your ontology of interest that is available in BioPortal. Thus, you would want to use the ontology id and not the version is in your widget. To find out the ontology id, go to the "Ontology Details" page for your ontology of interest in BioPortal (e.g., the page for [http://bioportal.bioontology.org/ontologies/39478 NCI Thesaurus]). You will find the ontology id on the Metadata tab there (e.g., the ontology id for NCI Thesaurus is 1032).</div>JimHuhttps://www.bioontology.org//mediawiki/index.php?title=Special:Badtitle/NS200:About&diff=8364Special:Badtitle/NS200:About2008-12-29T10:21:15Z<p>JimHu: /* Differences compared to pre-2006 PATO */ typo fixed</p>
<hr />
<div>=PATO - An ontology of Phenotypic Qualities=<br />
<br />
PATO is an ontology of *phenotypic qualities*, intended for use in a<br />
number of applications, primarily phenotype annotation.<br />
<br />
The new PATO differs from the old in that the system of attributes and<br />
values has been abandoned in favour of a single hierarchy of<br />
qualities. For a comparison and translation guide, see further on in<br />
this document.<br />
<br />
PATO is designed to be used in conjunction with ontologies of<br />
"quality-bearing entities". An example of such an entity is an insect<br />
eye (taken from the fly_anatomy ontology), which could be the bearer<br />
of the quality 'red' (PATO:0000322). This combination is the "red eye"<br />
phenotype. We say that the phenotype term is 'post-coordinated', as it<br />
is formed by coordinating two terms together. This is in contrast to<br />
ontologies of pre-coordinated phenotypes, such as the Mammalian<br />
Phenotype (MP) ontology. See below for a more formal treatment.<br />
<br />
Other ontologies of content bearers include the OBO Cell ontology<br />
(CL), the GO biological process or cellular component ontologies, and<br />
ontologies of anatomical entities.<br />
<br />
PATO is independent of any exchange format or database schema. One way<br />
of expressing phenotype annotation using PATO is pheno-syntax [1], or<br />
pheno-xml [2]. We will also post recommendations for representing<br />
phenotypes using OWL. All representations share the same basic formal<br />
underpinnings, a combination of quality-bearing entity and a quality<br />
(the EQ model).<br />
<br />
Pheno-syntax is the de-facto standard for human-readable annotations,<br />
for example in the body of email messages in this mail list. The red<br />
eye phenotype would be written as:<br />
<br />
E= FBbt:eye Q= PATO:red<br />
<br />
(we allow ID-space prefixed names in place of the authentic numeric<br />
IDs as a convention to enhance readability, although these must be<br />
converted to authentic IDs to be valid pheno-syntax).<br />
<br />
Many phenotypes are more complex than "red eyes", and even the "red<br />
eye" annotation has subtleties (what if both eyes are different<br />
colours?). Some of these are discussed in the pheno-syntax<br />
document. Other examples will be discussed on this list and on the<br />
wiki, in order to reach consensus on best practices for annotating<br />
complex phenotypes. Some considerable progress has been made already,<br />
with FlyBase and ZFIN under the auspices of the NCBO<br />
(http://www.bioontology.org) and the CToL (Cypriniformes Tree of Life)<br />
project [3].<br />
<br />
PATO originally stood for "Phenotype and Trait Ontology", but the name<br />
has never been truly reflective of the contents of the ontology:<br />
phenotypic qualities. However, we've decided to retain the name and<br />
the PATO identifier space since it has stuck over the years.<br />
<br />
=Differences compared to pre-2006 PATO=<br />
<br />
Previously PATO was arranged as two hierarchies of attributes and<br />
values. Annotations followed the so-called EAV models,<br />
entity-attribute-value. The red eye phenotype would be annotated as:<br />
<br />
E= FBbt:eye A= PATO:color V= PATO:red<br />
<br />
Under the new system this is now collapsed to:<br />
<br />
E= FBbt:eye Q= PATO:red<br />
<br />
In the ontology, "red" stands in an is_a relationship to "color", so<br />
there is no information loss.<br />
<br />
The decision to move from a two-hierarchy to single-hierarchy system<br />
(and thus from a tripartite to bipartite annotation system). Was a<br />
lengthy process and was not undertaken lightly. We have reached<br />
consensus, and this decision is final. We will make the full<br />
justification and arguments available separately (they are available<br />
now, but you'd have to mine various meetings minutes, powerpoints and<br />
email threads).<br />
<br />
Note that this change is largely backward compatible with pre-existing<br />
EAV annotations - the A can simply be removed as it is redundant. In<br />
the cases where this does not hold, the ID that fills the "V" field<br />
will have been obsoleted, and this will require manual transference<br />
(as is the cases for obsoletion of OBO terms in general)<br />
<br />
(A brief note to computer scientists in order to pre-empt certain<br />
questions: the EQ model can still be regarded as "EAV" or<br />
"subject-predicate-object" in the sense normally used by database<br />
people, since there is an implicit "inherence" or "has_quality"<br />
relation between the E and the Q. Please join the obo-relations list<br />
[*] for discussions on this relation.)<br />
<br />
=Stability=<br />
<br />
(as of 2006/08/25)<br />
<br />
Whilst we lack consistent metrics to guage the stability of an<br />
ontology, we believe PATO is ready for production annotation use (many<br />
of you have already been using it for a while). IDs will remain<br />
stable, and normal obsoletion rules apply (ie terms will be marked<br />
obsolete rather than simply disappearing from the record).<br />
<br />
Eventually we would like to a reach a stage whereby a discussion is<br />
initiated prior to the obsoletion of any terms, giving those in charge<br />
of phenotype annotation a chance to comment, avoiding causing<br />
unneccessary obsoletion churn. This is the policy with GO - however,<br />
it took GO a number of years to reach this level. From here on we will<br />
do our best to keep the community in the loop (by means of the<br />
obo-phenotype list) by means of this list, but we are still in a phase<br />
where we may want to make obsoletions without first achieving<br />
community consensus.<br />
<br />
The structure of the ontology is subject to change. This will not<br />
affect annotations, but it may affect MOD decisions as to how and<br />
whether to present the PATO DAG to their communities in the short<br />
term. We are also considering generating ontology views (aka subsets,<br />
slims) for this purpose.<br />
<br />
There are many terms still lacking from PATO - everyone is encouraged<br />
to use the PATO request tracker. Terms with definitions are preferred,<br />
especially definitions that conform to the PATO definition guidelines.<br />
<br />
=Current users and annotations=<br />
<br />
See [[PATO:Annotations]]<br />
<br />
=Commensurability of pre- and post- coordinated approaches=<br />
<br />
There are two paradigms for representing phenotypes and phenotype-like<br />
entities (1) use ontologies of pre-coordinated phenotypes, such as MP<br />
or plant_trait (PT) or (2) post-coordinate the phenotype description<br />
using terms from an ontology of qualities (eg PATO) and terms from<br />
ontologies of quality-bearers (eg GO, AOs, CL, ...); this is the<br />
EQ-annotation methodology.<br />
<br />
For example, one could annotate using the MP term "big ears" (MP:0000017).<br />
<br />
Or one could post-coordinate the same description as<br />
<br />
E=MA:0000236 Q=PATO:0000586<br />
<br />
Both approaches have their advantages, and they are in fact entirely<br />
compatible, provided you follow the SOP laid out below. It is even<br />
possible to mix and match these approaches.<br />
<br />
See the document [[PATO:Pre vs Post Coordinating]]<br />
<br />
=Definition Guidelines=<br />
<br />
These are the best practices for supplying definitions; these do not have to be adhered to when making new term requests, a dictionary definition will often suffice.<br />
<br />
Definitions will be specified in accord with [[OBO Foundry]] principles. Each term definition should refine it's parent (genus) term by providing differentiating characteristics that are both necessary and sufficient to discriminate instances of this term from siblings terms. These definitions are of the form "An X is a G which D"<br />
<br />
=Phenotype Data Exchange Formats, Formalisms and database schemas=<br />
<br />
See<br />
* [http://www.fruitfly.org/~cjm/obd/formats.html Phenotype Annotation Formats]<br />
<br />
===Pheno-syntax===<br />
<br />
* [http://www.fruitfly.org/~cjm/obd/pheno-syntax.html Pheno Syntax] : pheno syntax is a human readable and computationally parseable way of exchanging phenotype annotation<br />
<br />
===Pheno-XML===<br />
<br />
* [http://www.fruitfly.org/~cjm/obd/pheno-xml.html Pheno-XML] : <br />
<br />
<br />
===OWL===<br />
<br />
* [[PATO:OWL]]<br />
<br />
==Phenotype annotation database schemas==<br />
<br />
===OBD===<br />
<br />
OBD is being developed by the National Center for Biomedical Ontology. It is a generic annotation database, and the first release will include phenotype database from ZFIN, FlyBase and other sources.<br />
<br />
[http://www.fruitfly.org/~cjm/obd OBD] (temporary page)<br />
<br />
===Chado===<br />
<br />
Chado has a module for representing phenotypic data (under revision)<br />
<br />
See the [http://www.gmod.org/chado GMOD/Chado page]<br />
<br />
=Related ontologies=<br />
<br />
PATO is intended to be used with post-coordinated annotations. There are various ontologies containing pre-coordinated phenotype terms. See for example the plant_trait ontology or the mammaliam phenotype [[MP:Main_Page]] ontology.<br />
<br />
In order to make PATO-style EQ descriptions interoperable it will be necessary to provide formal computable definitions for pre-coordinate MP terms. For example, to give a trivial example:<br />
<br />
MP:small_ears can be defined as a PATO:small which inheres_in MA:ear<br />
<br />
This can be done as a genus-differentia (cross-product) definition in oboedit. [[Obol]] could be used to make a first-pass seeding of the definition.<br />
<br />
phenotypes can also be linked to diseases in DO - the details have not been worked out yet<br />
<br />
<br />
=Questions?=<br />
<br />
Please ask any questions on the obo-phenotype list. We realise this<br />
ontology is more abstract than an ontology like GO, because of the "building block" (post-coordination) approach. The switch from EAV (pre-2006) to EQ (2006 onwards) may also cause<br />
confusion. We will we setting up an FAQ and annotation best practices<br />
on the wiki, as well as definition guidelines for suggesting new<br />
terms. In the mean time, please use the https://lists.sourceforge.net/lists/listinfo/obo-phenotype list to ask questions and share experiences.<br />
<br />
=Ongoing issues=<br />
<br />
*[[PATO:Absent]] - annotating phenotypes involving some missing part<br />
<br />
<br />
=Links=<br />
<br />
; [1] http://www.fruitfly.org/~cjm/obd/pheno-syntax.html<br />
; [2] http://www.fruitfly.org/~cjm/obd/formats.html#xml-format<br />
; [3] http://bio.slu.edu/mayden/cypriniformes/home.html<br />
; [4] http://www.obofoundry.org<br />
<br />
See also [[PATO:Main_Page]]</div>JimHuhttps://www.bioontology.org//mediawiki/index.php?title=User_talk:Megamix&diff=4257User talk:Megamix2006-12-02T21:28:45Z<p>JimHu: delete porn link spam</p>
<hr />
<div></div>JimHu