comparison OPPL/oppl.xml @ 8:40adbcb2a7cc

Added merge function and FaCT++ support. Improved OBO render
author Mikel Egaña Aranguren <mikel-egana-aranguren@toolshed.g2.bx.psu.edu>
date Tue, 11 Oct 2011 11:09:52 +0200
parents 756f1f5798bf
children 14bfd77f8520
comparison
equal deleted inserted replaced
7:756f1f5798bf 8:40adbcb2a7cc
1 <tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.4"> 1 <tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.5">
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 <!-- The command execution of the conditional is tacky, I think, but it works! --> 4 <!-- The command execution of the conditional is tacky, I think, but it works! -->
5 <!-- 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 <!-- 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 -->
6 <!-- More info on the stderr issue: http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr --> 6 <!-- More info on the stderr issue: http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr -->
7
8
9 <!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that's too much for your machine simply delete or modify at will -->
7 10
8 <command> 11 <command>
9 #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 > $output 2>/dev/null 12 #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
10 #else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner > $output 2>/dev/null 13 #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
11 #end if 14 #end if
12 </command> 15 </command>
16
17
18 <!-- 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 <!-- 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 -->
20
21 <!--<command>
22 #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
23 #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
24 #end if
25 </command>-->
26
27
28 <!-- 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 -->
29
30 <!--<command>
31 #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 no_merge > $output
32 #else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output
33 #end if
34 </command>-->
35
13 36
14 <!-- For big ontologies use something like java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar --> 37 <!-- EXPERIMENTS AND HOUSE KEEPING-->
38 <!--<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> -->
39 <!--<command>
40 #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
41 #else
42 #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
43 #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
44 #end if
45 #end if
46 </command>-->
15 47
16 <inputs> 48 <inputs>
17 <param format="text" name="input" type="data" label="Input ontology file"/> 49 <param format="text" name="input" type="data" label="Input ontology file"/>
18 <param format="text" name="OPPL" type="data" label="OPPL file"/> 50 <param format="text" name="OPPL" type="data" label="OPPL file"/>
19 <conditional name="import_opts"> 51 <conditional name="import_opts">
20 <param name="imports_select" type="boolean" value="False" truevalue="imports_yes" falsevalue="imports_no" label="Tick the box if the loaded ontology includes OWL imports"/> 52 <param name="imports_select" type="boolean" value="False" truevalue="imports_yes" falsevalue="imports_no" label="Tick the box if the loaded ontology includes OWL imports"/>
21 <when value="imports_no"/> 53
54 <!-- EXPERIMENTS AND HOUSE KEEPING-->
55 <!--<when value="imports_no"/> -->
22 <!--<when value="imports_no"> 56 <!--<when value="imports_no">
23 <param type="hidden" name="imports" value="NoImports"/> 57 <param type="hidden" name="merged" value="no_merge"/>
24 </when>--> 58 </when>-->
59
25 <when value="imports_yes"> 60 <when value="imports_yes">
26 <param format="text" name="imports" type="data" label="OWL imports URI mapping file"/> 61
62 <param format="text" name="imports" type="data" label="OWL imports URI mapping file"/>
63
64 <!-- EXPERIMENTS AND HOUSE KEEPING-->
65 <!--<conditional name="merge_opts">
66 <param name="merge_select" type="boolean" value="False" truevalue="merge_yes" falsevalue="merge_no" label="Tick the box to merge ontologies"/>
67 <when value="merge_yes">
68 <param name="merged" type="text" size="100" value="http://oppl-galaxy/merged" label="Type an URI or use the default URI" />
69 </when>
70 </conditional>-->
71 <!--<param format="text" name="merged" type="data" label="OWL "/>-->
72
27 </when> 73 </when>
28 </conditional> 74 </conditional>
29 <param name="format" type="select" label="Choose ontology output format"> 75 <param name="format" type="select" label="Choose ontology output format">
30 <option value="OWL" selected="true">OWL</option> 76 <option value="OWL" selected="true">OWL</option>
31 <option value="OBO">OBO</option> 77 <option value="OBO">OBO</option>
32 </param> 78 </param>
33 <param name="inferred" type="boolean" value="False" truevalue="Add_inferred" falsevalue="Gora_ni" label="Add inferred subsumption axioms to output ontology"/> 79 <param name="inferred" type="boolean" value="False" truevalue="AddInferred" falsevalue="Gora_ni" label="Add inferred subsumption axioms to output ontology"/>
80 <param name="merged" type="text" size="100" value="NoMerge" label="To merge the ontologies, type an URI for the new ontology (Leave NoMerge for not merging)" />
34 <param name="reasoner" type="select" label="Choose reasoner"> 81 <param name="reasoner" type="select" label="Choose reasoner">
35 <option value="Pellet" selected="true">Pellet</option> 82 <option value="Pellet" selected="true">Pellet</option>
36 <option value="HermiT">HermiT</option> 83 <option value="HermiT">HermiT</option>
84 <option value="FaCTPlusPlus">FaCT++</option>
37 </param> 85 </param>
38 86
39 </inputs> 87 </inputs>
40 <outputs> 88 <outputs>
41 <data format="text" name="output" /> 89 <data format="text" name="output" />
46 <param name="OPPL" value="test.oppl"/> 94 <param name="OPPL" value="test.oppl"/>
47 <param name="imports" value="NoImports"/> 95 <param name="imports" value="NoImports"/>
48 <param name="format" value="OWL"/> 96 <param name="format" value="OWL"/>
49 <param name="inferred" value="False"/> 97 <param name="inferred" value="False"/>
50 <param name="reasoner" value="Pellet"/> 98 <param name="reasoner" value="Pellet"/>
99 <param name="merged" value="no_merge"/>
51 <output name="out_file" file="test_new.owl"/> 100 <output name="out_file" file="test_new.owl"/>
52 </test> 101 </test>
53 </tests> 102 </tests>
54 <help> 103 <help>
55 104
56 **About OPPL-Galaxy** 105 **About OPPL-Galaxy**
57 106
58 OPPL-Galaxy can be used to execute an OPPL script against an ontology, generating a new ontology. OPPL (Ontology Pre Processor Language) is a high level scripting language, based in the Manchester OWL Syntax, to automate the manipulation of an ontology. An OPPL script (See test.oppl) defines a query to be performed against the ontology, and some actions (Adding or removing axioms) that affect the entities that will be retrieved. Those entities can be named or defined by a variable. OPPL is a powerful method for defining and executing modelling patterns that are repeated in an ontology, saving time and effort. 107 OPPL-Galaxy can be used to execute an OPPL script against an ontology, generating a new ontology. OPPL (Ontology Pre Processor Language) is a high level scripting language, based in the Manchester OWL Syntax, to automate the manipulation of an ontology. An OPPL script (See test.oppl) defines a query to be performed against the ontology, and some actions (Adding or removing axioms) that affect the entities that will be retrieved. Those entities can be named or defined by a variable. OPPL is a powerful method for defining and executing modelling patterns that are repeated in an ontology, saving time and efforts.
59 108
60 **Formats** 109 **Formats**
61 110
62 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). 111 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).
63 112
75 124
76 The output ontology can be OBO or OWL (RDF/XML). 125 The output ontology can be OBO or OWL (RDF/XML).
77 126
78 The inferred subsumption axioms can be added to the output ontology as asserted axioms. 127 The inferred subsumption axioms can be added to the output ontology as asserted axioms.
79 128
80 The reasoner can be Pellet or HermiT. Sometimes, if an execution fails it can be fixed by using a different reasoner. 129 The reasoner can be Pellet, HermiT FaCT++. Sometimes, if an execution fails it can be fixed by using a different reasoner.
130
131 If OWL imports are used, all the ontologies (Main one and imported ones) can be merged in a single ontology for the output.
81 132
82 **More information** 133 **More information**
83 134
84 http://oppl.sf.net/ 135 http://oppl.sf.net/
85 136
88 http://www.w3.org/TR/owl2-manchester-syntax/ 139 http://www.w3.org/TR/owl2-manchester-syntax/
89 140
90 http://clarkparsia.com/pellet 141 http://clarkparsia.com/pellet
91 142
92 http://hermit-reasoner.com/ 143 http://hermit-reasoner.com/
144
145 http://code.google.com/p/factplusplus/
146
147 http://code.google.com/p/oboformat/
93 148
94 **Contact** 149 **Contact**
95 150
96 Please send any request or comment to mikel.egana.aranguren@gmail.com. 151 Please send any request or comment to mikel.egana.aranguren@gmail.com.
97 152