Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

To import an executable as an external tool to UGENE one should create an XML file with the tool description. It should be matched by the following XML schema:

<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">

<xs:element name = "ugeneExternalToolConfig">
    <xs:complexType>
        <xs:sequence>
            <xs:element name = "name" type = "xs:string" />
            <xs:element name = "path" type = "xs:string" minOccurs ="0" />
            <xs:element name = "description" type = "xs:string" minOccurs ="0" />
            <xs:element name = "toolkitName" type = "xs:string" minOccurs ="0" />
            <xs:element name = "version" type = "xs:string" minOccurs ="0" />
            <xs:element name = "launcherId" type = "xs:string" minOccurs ="0" />
            <xs:element name = "dependencies" type = "xs:string" minOccurs ="0" />
            <xs:element name = "binaryName" type = "xs:string" />
        </xs:sequence>
        <xs:attribute name = "version" type = "xs:string" use="required" />
    </xs:complexType>
</xs:element>

</xs:schema>

Detailed description of the XML elements:

  • name - the external tool name as you like to see it in UGENE. Mandatory element.
  • binaryName - a file name of the imported tool (with extension, if it exists). UGENE will search the tool in some well-known places during UGENE start, if the tool path is not defined for some reasons. Mandatory element.
  • path - a path to the external tool. It can be relative to the current config file location or absolute. You can set it in UGENE Application Settings later. Optional element.
  • description - a detailed description of the external tool. Optional element.
  • toolkitName - a name of the toolkit to group external tools. If it is not defined or empty, then the external tool name will be used as the toolkit name. Optional element.
  • version - a version of the imported executable. Optional element.
  • launcherId - if the tool is supposed to be run with some script interpreter or it is a java application, then this element should contain an appropriate ID. Currently, UGENE supports the following launchers IDs: PYTHON2, PERL, RSCRIPT, JAVA. If the launcher is specified, it would be added to the launch command explicitly whenever you try to launch the external tool. The path to the launcher will be taken from the UGENE Application Settings. If the element is not specified or it is empty, no additional launcher would be added to the launch command. Optional element.

  • dependencies - a comma-separated list of other external tool IDs the imported tool is dependent from. If the dependency is not satisfied, then the dependent tool is marked as "not valid" in the UGENE. Optional element.

Examples:

  1. A minimalistic config: 

    <?xml version = "1.0" encoding = "UTF-8"?>
    <ugeneExternalToolConfig version = "1.0">
        <name>An imported custom tool</name>
        <binaryName>my_tool.py</binaryName>
    </ugeneExternalToolConfig>

    This config describes only a tool name and a tool binary name. After the import the path will be empty, the tool won't have any dependencies, its version will be "unknown".

  2. A config without dependencies and launcher:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <ugeneExternalToolConfig version = "1.0">
        <name>RAxML</name>
        <path>raxmlHPC</path>
        <description>RAxML - Randomized Axelerated Maximum Likelihood</description>
        <version>8.2.12</version>
        <binaryName>raxmlHPC</binaryName>
    </ugeneExternalToolConfig>

    This config describes an external tool with a description and a version. Path to the tool executable is relative: it is supposed that the executable is in the same folder as config file is.

  3. A config with a dependecy and a launcher:

    <?xml version = "1.0" encoding = "UTF-8"?>
    <ugeneExternalToolConfig version = "1.0">
        <name>HISAT2</name>
        <path>d:\work\hisat2.1\hisat2</path>
        <description>HISAT2 is a fast and sensitive alignment program for 
    mapping next-generation sequencing reads (both DNA and RNA) to a 
    population of human genomes (as well as to a single reference genome).</description>
        <toolkitName>HISAT2</toolkitName>
        <version>2.1.0</version>
        <launcherId>PERL</launcherId>
        <dependencies>PERL</dependencies>
        <binaryName>hisat2</binaryName>
    </ugeneExternalToolConfig>

    This config describes a tool that is supposed to be run by Perl. There is no Perl by default on Windows, but UGENE installer provides a possibility to install Perl. The tool can notify UGENE that it should be launched by Perl, so UGENE will add a path to Perl to the launch command.

  • No labels