Skip to content
This repository has been archived by the owner on Mar 29, 2022. It is now read-only.

Latest commit

 

History

History
114 lines (96 loc) · 3.15 KB

03.modify_app.md

File metadata and controls

114 lines (96 loc) · 3.15 KB
layout title tagline
page
Modify an Existing Application

Agave apps are described by json files and added to the SD2E tenant using the command line interface. To modify an app after it has been added, simply edit the original json file and use the command line interface to push the changes to the SD2E tenant.


#### Modify an Agave app

This is an example Agave app json file from another section of this user guide:

{
  "name": "username-fastqc",
  "version": "0.11.7",
  "executionType": "HPC",
  "executionSystem": "hpc-tacc-wrangler-username",
  "parallelism": "SERIAL",
  "deploymentPath": "username/apps/fastqc-0.11.7",
  "deploymentSystem": "data-sd2e-projects-users",
  "defaultProcessorsPerNode": 1,
  "defaultNodeCount": 1,
  "defaultQueue": "normal",
  "label": "FastQC",
  "modules": [ "load tacc-singularity/2.3.1" ],
  "shortDescription": "A Quality Control application for FastQ files",
  "templatePath": "runner-template.sh",
  "testPath": "tester.sh",
  "inputs": [
    {
      "id": "fastq",
      "value": {
        "default": "agave://data-sd2e-community/sample/sailfish/test/read1.fastq",
        "visible": true,
        "required": true
      },
      "details": {
        "label": "FASTQ sequence file"
      },
      "semantics": {
        "ontology": [ "http://edamontology.org/format_1930" ]
      }
    }
  ],
  "parameters": [],
  "outputs": []
}

If a new version of FastQC was released (e.g. 0.11.8), that would be cause to create a new app, using this current app as a template. A case where it would be appropriate to modify an existing app is, for example, to add a default file for the fastq input.

If you followed the Create Custom Applications user guide, then you may have a sample fastq file located here:

agave://data-tacc-work-username/sd2e-data/sample/SP1.fq

Modify the original app.json file to include the complete URI to this sample data as follows (only one line is edited, all other parts untouched):

...
  "inputs": [
    {
      "id": "fastq",
      "value": {
        "default": "agave://data-tacc-work-username/sd2e-data/sample/SP1.fq",
        "visible": true,
        "required": true
      },
...

Then, update the app in the SD2E tenant by performing the following:

% apps-addupdate -F app.json fastq-username-0.11.7

If successful, Agave will automatically append a suffix of u1, u2, u3, etc., incrementing each time the app is updated. To confirm that the changes have taken place, verbosely list the contents of the app:

% apps-search name.like='*fastq*'
username-fastqc-0.11.7
username-fastqc-0.11.7u1     # this is the updated app

% apps-list -v username-fastqc-0.11.7u1

After carefully testing the updated app, if you are satisfied with its operation, you may consider disabling the earlier app. The following command toggles the available flag to false:

% apps-disable username-fastqc-0.11.7

#### Further help

Additional app json fields can be found in in the online Agave documentation.


Return to the API Documentation Overview