comparison OPPL/oppl.xml @ 11:6ca67b155e32

Imports simplified, new tool for inference added
author Mikel Egaña Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
date Fri, 09 Mar 2012 16:15:27 +0100
parents 3f31c0eb7539
children d0722148cb59
comparison
equal deleted inserted replaced
10:3f31c0eb7539 11:6ca67b155e32
1 <tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.7"> 1 <tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.8">
2 <description>It executes an OPPL script against the input ontology and generates a new ontology with the changes described in the OPPL script</description> 2 <description>It executes an OPPL script against the input ontology and generates a new ontology with the changes described in the OPPL script</description>
3 3
4 <!-- Galaxy is not happy with OPPL throwing info into stderr, and I have redirected stderr to /dev/null, which is a bad solution since OPPL galaxy does not inform properly when it fails --> 4 <!-- Galaxy is not happy with OPPL throwing info into stderr, and I have redirected stderr to /dev/null, which is a bad solution since OPPL galaxy does not inform properly when it fails -->
5 <!-- More info on the stderr issue: http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr --> 5 <!-- More info on the stderr issue: http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr -->
6 <!-- Testing with wrapper.sh but no success so far -->
6 7
7
8 <!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that's too much for your machine simply delete or modify at will -->
9
10 <!--<command>
11 #if $import_opts.imports_select==False #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null
12 #else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 2>/dev/null
13 #end if
14 </command>-->
15 8
9
10 <!-- DEFAULT SETTINGS -->
11
12 <!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that's too much for your machine simply delete or modify at will, but since Galaxy is usually used in a server setting it makes sense to use a big chunk of memory -->
16 13
17 <command> 14 <command>
18 #if $import_opts.imports_select==False #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null 15 java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy.jar $input $reasoner $OPPL $format > $output 2>/dev/null
19 #else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $import_opts.imports $reasoner $import_opts.merge_opts.merged > $output 2>/dev/null
20 #end if
21 </command> 16 </command>
22 17
23 18
24 <!-- If you are planning to use FaCT++ you have to uncomment bellow (And comment the one above) and replace the -Djava.library.path with the appropiate JNI library path for your platform:FaCT++-linux-v1.5.2/64bit, FaCT++-linux-v1.5.2/32bit, FaCT++-OSX-v1.5.2/64bit, ...... --> 19
20 <!-- FACT++ -->
21
22 <!-- If you are planning to use FaCT++ you have to uncomment bellow (And comment the default settings above) and replace the -Djava.library.path with the appropiate JNI library path for your platform:FaCT++-linux-v1.5.2/64bit, FaCT++-linux-v1.5.2/32bit, FaCT++-OSX-v1.5.2/64bit, ...... -->
25 <!-- Using this setting doesn't upset the rest of the reasoners so you may as well leave it on if you plan to switch between FaCT++, Pellet and HermiT --> 23 <!-- Using this setting doesn't upset the rest of the reasoners so you may as well leave it on if you plan to switch between FaCT++, Pellet and HermiT -->
26 24
27 <!--<command> 25 <!--<command>
28 #if $import_opts.imports_select==False #java -Djava.library.path=${__tool_data_path__}/shared/jars/FaCT++-linux-v1.5.2/64bit -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null 26 java -Djava.library.path=${__tool_data_path__}/shared/jars/FaCT++-linux-v1.5.2/64bit -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy.jar $input $reasoner $OPPL $format > $output 2>/dev/null
29 #else #java -Djava.library.path=${__tool_data_path__}/shared/jars/FaCT++-linux-v1.5.2/64bit -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 2>/dev/null 27 </commadn>-->
30 #end if 28
31 </command>-->
32 29
33 30
34 <!-- For debugging simply remove 2>/dev/null Or uncomment bellow. It will fail always (Due to OPPL messages) but at least it will be informative -->
35 <!-- Testing with wrapper.sh but no success so far -->
36 31
37 <!--<command> 32 <!-- DEBUGGING -->
38 #if $import_opts.imports_select==False #wrapper.sh java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner no_merge > $output
39 #else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output
40 #end if
41 </command>-->
42 33
43 34 <!-- For debugging simply remove 2>/dev/null Or uncomment bellow (And comment the default settings above). It will fail always (Due to OPPL messages) but at least it will be informative -->
44 <!-- EXPERIMENTS AND HOUSE KEEPING--> 35
45 <!--<command>java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 2>/dev/null</command> --> 36 <command>
46 <!--<command> 37 java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy.jar $input $reasoner $OPPL $format > $output
47 #if $import_opts.imports_select==False #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null 38 </command>
48 #else 39
49 #if $merge_opts.merge_select==False #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null 40
50 #else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 2>/dev/null 41
51 #end if
52 #end if
53 </command>-->
54 42
55 <inputs> 43 <inputs>
56 <param format="text" name="input" type="data" label="Input ontology file"/> 44 <param format="text" name="input" type="data" label="Input ontology file"/>
57 <conditional name="import_opts"> 45 <param name="reasoner" type="select" label="Choose reasoner">
58 <param name="imports_select" type="boolean" value="False" truevalue="imports_yes" falsevalue="imports_no" label="Tick the box if the input ontology includes OWL imports"/> 46 <option value="Pellet" selected="true">Pellet</option>
59 47 <option value="HermiT">HermiT</option>
60 <!-- EXPERIMENTS AND HOUSE KEEPING--> 48 <option value="FaCTPlusPlus">FaCT++</option>
61 <!--<when value="imports_no"/> --> 49 </param>
62 <!--<when value="imports_no">
63 <param type="hidden" name="merged" value="no_merge"/>
64 </when>-->
65
66 <when value="imports_yes">
67
68 <param format="text" name="imports" type="data" label="OWL imports URI mapping file"/>
69 <conditional name="merge_opts">
70 <param name="merge_select" type="boolean" value="False" truevalue="merge_yes" falsevalue="merge_no" label="Tick the box to merge ontologies"/>
71 <when value="merge_yes">
72 <param name="merged" type="text" size="100" value="http://oppl-galaxy/merged" label="Type an URI or use the default URI" />
73 </when>
74 </conditional>
75 </when>
76 </conditional>
77 <param format="text" name="OPPL" type="data" label="OPPL file"/> 50 <param format="text" name="OPPL" type="data" label="OPPL file"/>
78 <param name="format" type="select" label="Choose ontology output format"> 51 <param name="format" type="select" label="Choose ontology output format">
79 <option value="OWL" selected="true">OWL</option> 52 <option value="OWL" selected="true">OWL</option>
80 <option value="OBO">OBO</option> 53 <option value="OBO">OBO</option>
81 </param> 54 </param>
82 <param name="inferred" type="boolean" value="False" truevalue="AddInferred" falsevalue="Gora_ni" label="Add inferred subsumption axioms to output ontology"/>
83 <!-- <param name="merged" type="text" size="100" value="NoMerge" label="To merge ontologies (If there are imports), type an URI for the new ontology (Leave NoMerge for not merging)" /> -->
84 <param name="reasoner" type="select" label="Choose reasoner">
85 <option value="Pellet" selected="true">Pellet</option>
86 <option value="HermiT">HermiT</option>
87 <option value="FaCTPlusPlus">FaCT++</option>
88 </param>
89
90 </inputs> 55 </inputs>
91 <outputs> 56 <outputs>
92 <data format="text" name="output" /> 57 <data format="text" name="output" />
93 </outputs> 58 </outputs>
94 <tests> 59 <tests>
95 <test> 60 <test>
96 <param name="input" value="test.owl"/> 61 <param name="input" value="test.owl"/>
97 <param name="OPPL" value="test.oppl"/> 62 <param name="OPPL" value="test.oppl"/>
98 <param name="imports" value="NoImports"/>
99 <param name="format" value="OWL"/> 63 <param name="format" value="OWL"/>
100 <param name="inferred" value="False"/>
101 <param name="reasoner" value="Pellet"/> 64 <param name="reasoner" value="Pellet"/>
102 <param name="merged" value="no_merge"/>
103 <output name="out_file" file="test_new.owl"/> 65 <output name="out_file" file="test_new.owl"/>
104 </test> 66 </test>
105 </tests> 67 </tests>
106 <help> 68 <help>
107 69
113 75
114 OPPL-Galaxy uses the OWL API, and therefore it can load any ontology format that such API is able to load: OBO flat file, OWL (RDF/XML, OWL/XML, Functional, Manchester), turtle, and KRSS. The available output formats are OBO flat file and OWL (RDF/XML). 76 OPPL-Galaxy uses the OWL API, and therefore it can load any ontology format that such API is able to load: OBO flat file, OWL (RDF/XML, OWL/XML, Functional, Manchester), turtle, and KRSS. The available output formats are OBO flat file and OWL (RDF/XML).
115 77
116 **Usage** 78 **Usage**
117 79
118 An ontology and an OPPL file are needed (test.owl and test.oppl can be used as samples, both available in the bundle). Load both with Get Data >> Upload File from your computer. 80 An ontology and an OPPL file are needed (test.owl and test.oppl can be used as samples, both available in the bundle). Load both with Get Data >> Upload File from your computer, or redirect from another Galaxy tool.
119 81
120 Then execute the OPPL file against the OWL file with Ontology Pre Processor Language >> Execute an OPPL file against an OWL file. A new output ontology will be generated. 82 Then execute the OPPL file against the OWL file with Ontology Pre Processor Language >> Execute an OPPL file against an OWL file. A new output ontology will be generated.
121 83
122 In case the loaded ontology includes OWL imports, a file that maps the imported ontologies' URIs to actual physical URIs is needed. The file (See the file test_URI_mappings provided in the bundle) follows the convention URI-tab-physical URI: 84 In case the loaded ontology includes OWL imports, OPPL-Galaxy will try to resolve them.
123
124 http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_chebi_ontology /home/pik/UPM/OPPL_galaxy/oppl/OPPL/chebi.owl
125
126 http://purl.obolibrary.org/obo/UBERON_uberon /home/pik/UPM/OPPL_galaxy/oppl/OPPL/cell.owl
127 85
128 The output ontology can be OBO or OWL (RDF/XML). 86 The output ontology can be OBO or OWL (RDF/XML).
129 87
130 The inferred subsumption axioms can be added to the output ontology as asserted axioms.
131
132 The reasoner can be Pellet, HermiT FaCT++. Sometimes, if an execution fails it can be fixed by using a different reasoner. 88 The reasoner can be Pellet, HermiT FaCT++. Sometimes, if an execution fails it can be fixed by using a different reasoner.
133
134 If OWL imports are used, all the ontologies (Main one and imported ones) can be merged in a single ontology for the output.
135 89
136 **More information** 90 **More information**
137 91
92 Galaxy public instances with OPPL-Galaxy pre-installed:
93
94 http://sele.inf.um.es:8080/
95
96 http://linkeddata2.dia.fi.upm.es:8080
97
98 OPPL-Galaxy Examples:
99
138 http://miuras.inf.um.es/OPPL-Galaxy/ 100 http://miuras.inf.um.es/OPPL-Galaxy/
101
102 OPPL examples:
103
104 http://oppl2.sourceforge.net/taggedexamples/
105
106 Links of interest:
139 107
140 http://oppl.sf.net/ 108 http://oppl.sf.net/
141 109
142 http://owlapi.sourceforge.net/ 110 http://owlapi.sourceforge.net/
143 111
149 117
150 http://code.google.com/p/factplusplus/ 118 http://code.google.com/p/factplusplus/
151 119
152 **Citation** 120 **Citation**
153 121
154 Mikel Egaña Aranguren, Jesualdo Tomás Fernández-Breis and Erick Antezana. OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL. SWAT4LS 2011 (To appear in ACM proceedings). 122 Mikel Egaña Aranguren, Jesualdo Tomás Fernández-Breis and Erick Antezana. OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL. SWAT4LS 2011.
155 123
156 **Contact** 124 **Contact**
157 125
158 Please send any request or comment to mikel.egana.aranguren@gmail.com. 126 Please send any request or comment to mikel.egana.aranguren@gmail.com.
159 127