Difference between revisions of "Creating Galaxy tool"

From BioUML platform
Jump to: navigation, search
(Created page with "If you have BioUML server installed and {{Galaxy}} installed, you can add your own tools to BioUML. == Customizing tool...")
 
(BioUML extensions to Galaxy standard)
 
(9 intermediate revisions by 2 users not shown)
Line 11: Line 11:
 
  </section>
 
  </section>
  
In BioUML interface section is transformed into folder and label is rendered as a separator between tools. You can freely add, delete or rearrange sections, labels or tools here. To add new tool you should specify a path to the tool description XML file relative to <code>$GALAXY_DIST/tools</code> directory.
+
In BioUML interface section is transformed into {{Type link|folder}} and label is rendered as a separator between tools. You can freely add, delete or rearrange sections, labels or tools here. To add new tool you should specify a path to the tool description XML file relative to <code>$GALAXY_DIST/tools</code> directory.
  
 
== Creating your own tool ==
 
== Creating your own tool ==
 
When you added a link to new tool description XML file, you should create that file. Refer to [http://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax Galaxy Wiki] to learn how to create such files. Please note that not all Galaxy features are supported by BioUML. Ask for technical support if you have any doubts.
 
When you added a link to new tool description XML file, you should create that file. Refer to [http://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax Galaxy Wiki] to learn how to create such files. Please note that not all Galaxy features are supported by BioUML. Ask for technical support if you have any doubts.
 +
 +
 +
== BioUML extensions to Galaxy standard ==
 +
BioUML extends Galaxy tool configuration syntax [http://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax Galaxy Wiki] that allow closer interaction between Galaxy and BioUML systems.
 +
=== Configurable file format ===
 +
In Galaxy to define output (<code>&lt;data name="out1" format="tabular"/&gt;</code>) or input parameter (<code>&lt;param type='data' format="tabular"/&gt;</code>) you should set "format" attribute. The list of predefined formats is contained in the <code>$GALAXY_DIST/datatypes_conf.xml</code> and the mapping of these formats to BioUML element types in [[Types (extension point)|ru.biosoft.galaxy.types]] (currently all these mappings are registered in [[Ru.biosoft.galaxy (plugin)|ru.biosoft.galaxy plugin]]). For more flexibility BioUML allows to change format options "on the fly" when you specify parameter format. For example:
 +
<data name="outTable" format="tabular" format.commentString="#" />
 +
means that lines starting with "#" are comments and should be ignored,
 +
<data name="outTrack" format="interval" format.fieldNames="pValue,FDR" />
 +
set the names of additional columns in the [[Interval format]].
 +
In general format options can be changed by adding format.$OptionName="$OptionValue" attributes, the list of possible options for each format is defined by properties of corresponding {{Class|ru.biosoft.access.DataElementImporter}} or {{Class|ru.biosoft.access.DataElementExporter}}.
 +
=== Multiselect parameter type ===
 +
Example:
 +
 +
<code>&lt;param name="inputs" type="data-multi" format="tabular" label="Input tables"/&gt;</code>
 +
 +
In Cheetah template this parameter will be expanded to *.tabular (depending on the format), that can be used in the bash script to get the list of files.
 +
For example, to concatenate input files use:
 +
 +
<code>&lt;command&gt;cat $inputs > out&lt;command&gt;</code>
 +
 +
=== Output name templates ===
 +
Allow to generate output file names based on other parameter values, such as names of input files.
 +
Example:
 +
 +
<code>&lt;data format="vcf" name="output" label="Mapped coordinates" template="$input$_mapped"&gt;</code>
 +
 +
where "input" is the name of input parameter.
  
 
== Reloading tool configuration ==
 
== Reloading tool configuration ==
Line 20: Line 48:
 
  galaxy.reload();
 
  galaxy.reload();
 
Please note that for security reasons this command is available for BioUML server administrators only.
 
Please note that for security reasons this command is available for BioUML server administrators only.
 +
 +
[[Category:Development]]
 +
[[Category:Galaxy]]

Latest revision as of 14:04, 17 January 2018

If you have BioUML server installed and Galaxy installed, you can add your own tools to BioUML.

Contents

[edit] Customizing tools menu

If you properly integrated Galaxy with BioUML, Galaxy tools appear in BioUML repository under analyses/Galaxy path. This subtree is populated from Galaxy tool_conf.xml file.

Let's assume that $GALAXY_DIST points to the root folder of Galaxy installation. Look into $GALAXY_DIST/tool_conf.xml file. It contains a number of sections which may contain a number of sections which look like this:

<section name="Section title" id="section_id">
   <tool file="tool/my_tool.xml" />
   <label text="My label" id="my_label"/>
   <tool file="tool/my_other_tool.xml" />
</section>

In BioUML interface section is transformed into Type-folder-icon.png folder and label is rendered as a separator between tools. You can freely add, delete or rearrange sections, labels or tools here. To add new tool you should specify a path to the tool description XML file relative to $GALAXY_DIST/tools directory.

[edit] Creating your own tool

When you added a link to new tool description XML file, you should create that file. Refer to Galaxy Wiki to learn how to create such files. Please note that not all Galaxy features are supported by BioUML. Ask for technical support if you have any doubts.


[edit] BioUML extensions to Galaxy standard

BioUML extends Galaxy tool configuration syntax Galaxy Wiki that allow closer interaction between Galaxy and BioUML systems.

[edit] Configurable file format

In Galaxy to define output (<data name="out1" format="tabular"/>) or input parameter (<param type='data' format="tabular"/>) you should set "format" attribute. The list of predefined formats is contained in the $GALAXY_DIST/datatypes_conf.xml and the mapping of these formats to BioUML element types in ru.biosoft.galaxy.types (currently all these mappings are registered in ru.biosoft.galaxy plugin). For more flexibility BioUML allows to change format options "on the fly" when you specify parameter format. For example:

<data name="outTable" format="tabular" format.commentString="#" />

means that lines starting with "#" are comments and should be ignored,

<data name="outTrack" format="interval" format.fieldNames="pValue,FDR" />

set the names of additional columns in the Interval format. In general format options can be changed by adding format.$OptionName="$OptionValue" attributes, the list of possible options for each format is defined by properties of corresponding DataElementImporter or DataElementExporter.

[edit] Multiselect parameter type

Example:

<param name="inputs" type="data-multi" format="tabular" label="Input tables"/>

In Cheetah template this parameter will be expanded to *.tabular (depending on the format), that can be used in the bash script to get the list of files. For example, to concatenate input files use:

<command>cat $inputs > out<command>

[edit] Output name templates

Allow to generate output file names based on other parameter values, such as names of input files. Example:

<data format="vcf" name="output" label="Mapped coordinates" template="$input$_mapped">

where "input" is the name of input parameter.

[edit] Reloading tool configuration

Once you finish editing a tool you should reload Galaxy configuration. You can do this using Script viewpart in BioUML interface and typing the following command here:

galaxy.reload();

Please note that for security reasons this command is available for BioUML server administrators only.

Personal tools
Namespaces

Variants
Actions
BioUML platform
Community
Modelling
Analysis & Workflows
Collaborative research
Development
Virtual biology
Wiki
Toolbox