Modifying an existing app would come in handy if there is a need to change the, e.g., execution system, description, max run time, default inputs, parameter descriptions, or a number of other things. As an example, the guide below goes through the process of adding a reference to default input data.
To modify a Tapis app after it has been deployed, edit the original app json
file and use the command line interface to push the changes to the tenant. Below is an example app json
file from a previous section of this how-to guide:
{
"checkpointable": false,
"name": "{{ username }}-{{ app.name }}",
"executionSystem": "{{ app.execution_system }}",
"executionType": "HPC",
"deploymentPath": "{{ username }}/apps/{{ app.name }}-{{ app.version }}",
"deploymentSystem": "{{ app.deployment_system }}",
"helpURI": "",
"label": "{{ app.label }}",
"shortDescription": "{{ app.description }}",
"longDescription": "",
"modules": [
"load tacc-singularity"
],
"ontology": [],
"parallelism": "SERIAL",
"tags": [],
"templatePath": "runner.sh",
"testPath": "tester.sh",
"version": "{{ app.version }}",
"defaultMaxRunTime": "00:30:00",
"inputs":[
{
"id": "fastq",
"value": {
"default": "",
"visible": true,
"required": true
},
"semantics": {
"ontology": [
"http://edamontology.org/format_1930"
]
},
"details": {
"label": "FASTQ sequence file"
}
}
],
"parameters": [
{
"id": "CONTAINER_IMAGE",
"value": {
"default": "{{ docker.namespace }}/{{ docker.repo }}:{{ docker.tag }}",
"type": "string",
"visible": false,
"required": true,
"order": 1000
}
}
],
"outputs": []
}
If you followed the Create a Custom App how-to guide, then you may have a sample fastq file located here:
agave://data-tacc-work-username/test-data/SP1.fq
Modify the original app.json
file to include the complete URI to this sample data as follows:
{
"inputs":[
{
"id": "fastq",
"value": {
"default": "agave://tacc.work.taccuser/test-data/SP1.fq",
"visible": true,
"required": true
}
}
Then, push the app update by performing the following:
$ tapis apps update -F app.json taccuser-fastqc_app-0.11.9
If successful, Tapis will automatically increment the revision number associated with the app. To confirm, use the tapis apps show
command:
$ tapis apps show -c id -c revision taccuser-fastqc_app-0.11.9
+----------+----------------------------+
| Field | Value |
+----------+----------------------------+
| id | taccuser-fastqc_app-0.11.9 |
| revision | 2 |
+----------+----------------------------+
Additional fields that can be used in app descriptions can be found in the Tapis Documentation.