diff 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
line wrap: on
line diff
--- a/OPPL/oppl.xml	Sun Sep 18 12:57:22 2011 +0200
+++ b/OPPL/oppl.xml	Tue Oct 11 11:09:52 2011 +0200
@@ -1,39 +1,87 @@
-<tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.4">
+<tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.5">
 	<description>It executes an OPPL script against the input ontology and generates a new ontology with the changes described in the OPPL script</description>
 
 	<!-- The command execution of the conditional is tacky, I think, but it works! -->
 	<!-- 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 -->
 	<!-- More info on the stderr issue: http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr -->
+	
+
+	<!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that's too much for your machine simply delete or modify at will -->
 
 	<command>
-		#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
-		#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
+		#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
+		#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
+		#end if
+	</command> 
+	
+	
+	<!-- 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, ...... -->
+	<!-- 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 -->
+	
+	<!--<command>
+		#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
+		#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
 		#end if
-	</command>
+	</command>-->
+	
+	
+	<!-- 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 -->
+	
+	<!--<command>
+		#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
+		#else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 
+		#end if
+	</command>-->
+	
 		
-	<!-- For big ontologies use something like java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar -->
+	<!-- EXPERIMENTS AND HOUSE KEEPING-->
+	<!--<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> -->
+	<!--<command>
+		#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
+		#else 
+		  #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
+		  #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
+		  #end if
+		#end if
+	</command>-->
 
 	<inputs>
 		<param format="text" name="input" type="data" label="Input ontology file"/>
 		<param format="text" name="OPPL" type="data" label="OPPL file"/>
 		<conditional name="import_opts">
 			<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"/>
-			<when value="imports_no"/>
+
+			<!-- EXPERIMENTS AND HOUSE KEEPING-->
+			<!--<when value="imports_no"/> -->
 			<!--<when value="imports_no">
-				<param type="hidden" name="imports" value="NoImports"/>
+				<param type="hidden" name="merged" value="no_merge"/>
 	    		</when>-->
+			
 			<when value="imports_yes">
-                		<param format="text" name="imports" type="data" label="OWL imports URI mapping file"/>
+				       		
+				<param format="text" name="imports" type="data" label="OWL imports URI mapping file"/>
+				
+				<!-- EXPERIMENTS AND HOUSE KEEPING-->
+				<!--<conditional name="merge_opts">
+				    <param name="merge_select" type="boolean" value="False" truevalue="merge_yes" falsevalue="merge_no" label="Tick the box to merge ontologies"/>
+				    <when value="merge_yes">
+				      <param name="merged" type="text" size="100" value="http://oppl-galaxy/merged" label="Type an URI or use the default URI" />  
+				    </when>
+				</conditional>-->  
+				<!--<param format="text" name="merged" type="data" label="OWL "/>-->
+				
             		</when>
 		</conditional>
 		<param name="format" type="select" label="Choose ontology output format">
 			<option value="OWL" selected="true">OWL</option>
 			<option value="OBO">OBO</option>
 		</param>
-		<param name="inferred" type="boolean" value="False" truevalue="Add_inferred" falsevalue="Gora_ni" label="Add inferred subsumption axioms to output ontology"/>
+		<param name="inferred" type="boolean" value="False" truevalue="AddInferred" falsevalue="Gora_ni" label="Add inferred subsumption axioms to output ontology"/>
+		<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)" />
 		<param name="reasoner" type="select" label="Choose reasoner">
 			<option value="Pellet" selected="true">Pellet</option>
 			<option value="HermiT">HermiT</option>
+			<option value="FaCTPlusPlus">FaCT++</option>
 		</param>
 
 	</inputs>
@@ -48,6 +96,7 @@
 			<param name="format" value="OWL"/>
 			<param name="inferred" value="False"/>
 			<param name="reasoner" value="Pellet"/>
+			<param name="merged" value="no_merge"/>
 			<output name="out_file" file="test_new.owl"/>	
 		</test>
 	</tests>
@@ -55,7 +104,7 @@
 
 **About OPPL-Galaxy**
 
-  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.  
+  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.  
 
 **Formats**
 
@@ -77,7 +126,9 @@
  
   The inferred subsumption axioms can be added to the output ontology as asserted axioms. 
 
-  The reasoner can be Pellet or HermiT. Sometimes, if an execution fails it can be fixed by using a different reasoner. 
+  The reasoner can be Pellet, HermiT FaCT++. Sometimes, if an execution fails it can be fixed by using a different reasoner. 
+
+  If OWL imports are used, all the ontologies (Main one and imported ones) can be merged in a single ontology for the output.
 
 **More information**
 
@@ -90,6 +141,10 @@
   http://clarkparsia.com/pellet
 
   http://hermit-reasoner.com/
+  
+  http://code.google.com/p/factplusplus/
+  
+  http://code.google.com/p/oboformat/
 
 **Contact**