Extending the Discovery Environment: Tool Integration and Customization.

22
Extending the Discovery Environment: Tool Integration and Customization

Transcript of Extending the Discovery Environment: Tool Integration and Customization.

Extending the Discovery Environment:

Tool Integration and Customization

Extending the Discovery Environment

DE can be extended by users who wish to:• Integrate a tool not already in the DE. • Customize an application already in the DE.

Understanding of command line applications and arguments is helpful, but no programming is required.

Why Extend the DE?

1. There’s a tool I use frequently in my research, but it’s not in the DE.

2. An application exists in the DE that I’d like to use, but I use different default values or additional parameters in my analyses.

3. Our group is publishing a useful command line tool. We’d like to make an interface for it and have it widely adopted.

Integrate an Application

1. There’s a tool I use frequently in my research, but it’s not in the DE.

CAVEATS: – Must be a command line tool or script that can be

called via command line.– Integration of a tool intended to execute on HPC

resources is done via the Foundation API and is covered in a separate tutorial.

Tool Integration Process

• Have the tool installed in iPlant’s infrastructure.

• Decide which command line arguments to expose to users.

• Think about how to organize the parameters into logical groupings.

Tool Integration Process (cont.)

• Create a brief tool description.• Specify the argument groups and the

arguments within those groups (creates the tool interface).

• Preview the interface.• Publish to your workspace.• Test the application to ensure it runs correctly.

Request Tool InstallationApps -> Create -> New App

Create New -> Request Tool Installation

Fill out forms and submit.Receive response in 2-5 days.

Organization of Application Interfaces in DE

The FASTX Trimmer interface is organized into two “argument groups,” each in its own panel:

1. input data, which has one argument.

2. options, which has three arguments.

Arguments is another term for parameters.

Compare Command Line to Interface

fastx_trimmer -f 1 -l 36 -i INFILE -o OUTFILE

Outfile name is defined, but hidden from users so automated workflows can be created.

Ignore this. It’s an undocumented feature of FASTX Trimmer.

Tool Integration: Hands-On

• Example: FASTX Trimmer (already installed).

• Warning: Save before leaving the tool integration interface or you’ll lose your work!

Go to Hands-Onhttp://www.iplantcollaborative.org/umwiki

Tool Integration: Tips

• You can create the interface while waiting for the tool to be installed.

• You can include parameter validation, tool tips.

Tool Integration: Tips

• If you save your work part way through and close the Tool Integration interface, you may resume work:

Apps > Create > New App

> Back

> Highlight your tool in the list > Edit Continue editing

Tool Integration: Tips

• All applications published to your workspace appear under Applications Under Development and can be edited without having to create a copy.

Apps > Workspace > Applications under development > [highlight an app] > More Actions > Edit

Edit an Existing Application Interface

1. There’s a tool I use frequently in my research, but it’s not in the DE.

2. An application exists in the DE that I’d like to use, but I use different default values or additional parameters in my analyses.

3. Our group is publishing a useful command line tool. We’d like to make an interface for it and have it widely adopted.

Editing an Application• In Apps catalog, highlight tool to edit.• Select Copy.

• Opens Tool Integration interface.• Highlight the application to edit.

• Select Edit.

•Make desired changes.• Save, publish and test.

Integrating Your Own Application

1. There’s a tool I use frequently in my research, but it’s not in the DE.

2. An application exists in the DE that I’d like to use, but I use different default values or additional parameters in my analyses.

3. Our group is publishing a useful command line tool. We’d like to make an interface for it and have it widely adopted.

Integrating Your Own Tool

• Suggestions: – Install and test in Atmosphere prior to asking for

deployment. – Ensures tool will work in iPlant’s environment and identify

software dependencies.

• Procedure:– Request Atmosphere account at

http://user.iplantcollaborative.org/– After tool is working in Atmosphere, integrate it into the

DE as usual (request installation, define interface, publish, test).

Submitting for Public Use

• Test in your DE workspace first.• Provide link to documentation.

(http://bit.ly/NXhlVD)

• Submit test dataset to [email protected]

• App will appear in the Beta category of the catalog.

Submitting for Public UseApps > Workspace > Applications under development > [highlight tool] > More Actions > Submit for public use

Fill out and submit form.

Other Scenarios or Tools needing High Performance Computing Resources

[email protected]

Question, Comments, Suggestions?