Submit yout flavour

Note

To follow this procedure basic knowledge of Git is needed. If you feel unsure you can contact us using our support mail address (laniakea.helpdesk@gmail.com) and we will be happy to assist you in creating your flavour.

New flavours can be easily added to Laniakea through a Pull Request on our GitHub page.

In this step will be described how to make a Pull Request to the Laniakea GitHub repository to create a new flaovur.

  1. Fork the Laniakea GitHub Galaxy flavours repository.

  2. Clone the forked repository:

    git clone https://github.com/<user-name>/Galaxy-flavours.git
    
  3. Create a new directory with the name of your flavour. For example, galaxy-testing in this case.

    mkdir galaxy-testing
    
  4. To create a new Galaxy flavour, a tool list file, written in YAML syntax, has to be provided. The examples directory provides some samples.

    Move in the flavour directory:

    cd galaxy-testing
    

    Edit your tool list file with your favourite text editor adding the following default configuration lines:

    ---
    
    api_key: admin
    galaxy_instance: http://localhost:8080
    install_resolver_dependencies: true
    install_tool_dependencies: false
    

    Then, add your tool list. For each tool to install, name, owner and tool_panel_section_label, which labels the tools section in the right Galaxy panel, have to be provided:

    tools:
    
      - name: fastqc
        owner: devteam
        tool_panel_section_label: "tools"
    
      - name: bowtie2
        owner: devteam
        tool_panel_section_label: "tools"
    
      - name: bowtie_wrappers
        owner: devteam
        tool_panel_section_label: "tools"
    
      - name: sam_to_bam
        owner: devteam
        tool_panel_section_label: "tools"
    
      - name: bam_to_sam
        owner: devteam
        tool_panel_section_label: "tools"
    

    In this case the resulting Galaxy tools section will be:

    ../../_images/galaxy-testing-flavour.png
  5. If you don’t need to add one or more workflows to your flavor, move to the next step.

    Create a new directory in your flavour directory:

    mkdir workflow
    

    For example, in our galaxy-testing flavour we have:

    ~/Galaxy-flavours/galaxy-testing$ ls
    
    tool-list.yaml  workflow
    

    Navigate in this directory and copy here your Galaxy workflows with .ga extension.

  6. We are now ready to create a Pull Request. Add your files to your GitHub repository. For example, for our testing flavour:

    cd galaxy-testing
    
    $ git add tool-list.yaml workflow/Galaxy-Workflow-test.ga
    
    $ git commit -m "add galaxy-testing flavour"
    [master 2bc262d] add galaxy-testing flavour
     2 files changed, 30 insertions(+)
     create mode 100644 galaxy-testing/tool-list.yaml
     create mode 100644 galaxy-testing/workflow/Galaxy-Workflow-test.ga
    
    $ git push
    Username for 'https://github.com': mtangaro
    Password for 'https://mtangaro@github.com':
    Counting objects: 3, done.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 356 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    remote: Resolving deltas: 100% (1/1), completed with 1 local object.
    To https://github.com/mtangaro/Galaxy-flavours.git
       be92a03..2bc262d  master -> master
    
  7. Finally, from GitHub it is possible to create a Pull Request to the Laniakea repository:

    ../../_images/galaxy-testing-PR.png

We will review and test your flavour and enable it on Laniakea.

These changes must be merged to the main branch of the Galaxy flavours repository. The merge will be done once the flavour has been enabled on Laniakea.

Warning

To enable this changes on Laniakea requires at least 1 working day.

../../_images/galaxy-testing-PR-accepted.png

Tool list configuration options

Keys Required Default value Description
name yes   This is is the name of the tool to install
owner yes   Owner of the Tool Shed repository from where the tools is being installed
tool_panel_section_id yes, if tool_panel_section_label not specified   ID of the tool panel section where you want the tool to be installed. The section ID can be found in Galaxy’s shed_tool_conf.xml config file. Note that the specified section must exist in this file. Otherwise, the tool will be installed outside any section.
tool_panel_section_label yes, if tool_panel_section_id not specified   Display label of a tool panel section where you want the tool to be installed. If it does not exist, this section will be created on the target Galaxy instance (note that this is different than when using the ID). Multi-word labels need to be placed in quotes. Each label will have a corresponding ID created; the ID will be an all lowercase version of the label, with multiple words joined with underscores (e.g., ‘BED tools’ -> ‘bed_tools’).
tool_shed_url   https://toolshed.g2.bx.psu.edu) The URL of the Tool Shed from where the tool should be installed.
revisions   latest A list of revisions of the tool, all of which will attempt to be installed.
install_tool_dependencies   True True or False - whether to install tool dependencies or not.
install_repository_dependencies   True True or False - whether to install repo dependencies or not, using classic toolshed packages

Conda support

Conda is a package manager like apt-get, yum, pip, brew or guix and it is, currently, used as default dependency resolver in Galaxy.