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