Skip to content
Alice Minotto edited this page Sep 11, 2018 · 9 revisions

This tutorial will show you how to run an Agave application via command line. We'll use Kallisto with the same data as the CyVerse Tools and Services Workshop.

First of all you need to have a CyVerse account (go here to register for one). Then, setup agave credentials by following the next steps. We suggest to download and install the agave command line tool in your PATH to be able to run Agave commands easily. From now on we'll assume you downloaded and installed cyverse-sdk.

Substitute in the commands below your username and the name of the client you want to create.

Please select a tenant from the following list:
[0] agave.prod
[1] araport.org
[2] designsafe
[3] iplantc.org
[4] irec
[5] irmacs
[6] sgci
[7] tacc.prod
[8] vdjserver.org
Your choice [3]: 3
user@server:~$ clients-create -N cli_client -u username -S
API password: *enter your CyVerse password*
Successfully created client cli_client
key: *somekeytoken*
secret: *somesecrettoken*
user@server:~$ auth-tokens-create -S
API password:
Token for iplantc.org:username successfully refreshed and cached for 14400 seconds
*sometoken*
user@server:~$

You received a token to prove your identity. If you later on get an error saying "Invalid credentials" this is because your token is expired. This normally happens after 4 hours. To refresh your token simply run auth-tokens-refresh -S.

Running apps-list you'll be able to see a list of all the public Agave application you can run. Each application has an unique set of name and version so you will always be sure you are running the app you want. To restrict your view to only the applications registered on our UK system run: apps-list -S cyverseuk-batch2. The application we want to run is Kallisto-0.43.0u3. If you are curious about how we created this application you can check it out here. In the JSON folder of the repository above you'll find a RunKallistoApp.json file. This is the bare minimum file you need to run the application. The below example will allow you to build the index and perform the quantification in a single step.

{
  "name" : "Kallisto-tutorial",
  "appId" : "Kallisto-0.43.0u3",
  "archive" : true,
  "inputs": {
    "fasta" :  "agave://data.iplantcollaborative.org/shared/cyverse_training/tutorials/kallisto/01_input_transcriptome/Arabidopsis_thaliana.TAIR10.36.cdna.all.fa",
    "fastq" : [ "agave://data.iplantcollaborative.org/shared/cyverse_training/tutorials/kallisto/00_input_fastq_trimmed/SRR1761506_R1_001.fastq.gz_fp.trimmed.fastq.gz",
"agave://data.iplantcollaborative.org/shared/cyverse_training/tutorials/kallisto/00_input_fastq_trimmed/SRR1761506_R2_001.fastq.gz_rp.trimmed.fastq.gz"
 ]
  },
  "parameters" : {
    "index": true,
    "alg": "quant",
    "in_name": "Arabidopsis_thaliana.TAIR10.36.cdna.all.fa.index"
  }
}

The job itself shouldn't take long, but we need time to transfer the files across the Atlantic from the US data store to our system, and if our system is very busy you will be placed in the queue.

Save the above JSON in a file run_tutorial.json. To submit the job to CyVerse UK run:

jobs-submit -W -F run_tutorial.json

This will follow the progress of the job in your terminal window, if you don't want for this to happen, just delete the -W flag from the above command. Since the JSON specified you want to archive your analyses, once the job is completed the results will be sent back to the US data store and you will be able to navigate the files in the Discovery Environment or with iRODS/CyberDuck.