Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

opencga.sh is the officially recommended command line tool for normal users and are encouraged to use this. It implements all most of the functionality in more than 100 commandwith many different commands and subcommands. As per OpenCGA design, these  These commands are a one-to-one mapping of Resources from REST web services  and subcommands are mapping to end-points. These commands underneath makes REST calls to carry out operations, thus any user who has All the operations that can be performed using the command line internally creates one or several REST calls, so access to REST machine/cluster can execute these commands. is required.

Correlation Between REST and CLI

In the following URL, "samples" is the resource and "search" is the endpoint:

http://bioinfointbioinfo.hpc.cam.ac.uk/opencga-1.3.0-devdemo/webservices/rest/v1/samples/search

the corresponding command in commandLine the command line is :

Code Block
themeRDark
titleCommand
./opencga.sh samples

and the corresponding subCommand subcommand is : 

Code Block
title
themeRDarkSubCommand
./opencga.sh samples search 

Executing ./opencga.sh will return the list of all available commands with a description for each of each them as shown below: 

Code Block
languagetext
themeRDark
firstline1titleExecuting 'opencga.sh'
Catalog commands:
         users  User commands
      projects  Project commands
       studies  Study commands
         files  Files commands
          jobs  Jobs commands
   individuals  Individuals commands
       samples  Samples commands
     variables  Variable set commands
       cohorts  Cohorts commands
         tools  Tools commands
        panels  Panels commands

Analysis commands:
    alignments  Implement several tools for the genomic alignment analysis
       variant  Variant commands

List The list of subCommand sample subcommands can be retrieved by simply executing a the "samples" command without any argument as show below: 

Code Block
languagetext
themeRDarktitleExecuting 'opencga.sh samples'
./opencga.sh samples

Usage:   opencga.sh samples <subcommand> [options]

Subcommands:
        create  Create a sample
          load  Load samples from a pedigree file
          info  Get samples information
        search  Search samples
        update  Update sample
        delete  Delete the selected sample
      group-by  Group samples
   individuals  Get the individuals of a list of samples.
           acl  Return the acl of the resource
    acl-update  Update the permissions set for a member
...

CLI Session Management

As a first step to execute any command with opencga.sh, user must login. After successfull login, the corresponding JWT sesssion token will be stored on machine underGenerally, unless we are pointing to a public OpenCGA installation, users will first need to log in using the "users login" command line. Once the user has successfully logged in, a session file will be generated in their home folder:

Code Block
themeRDarktitlesession.json
~/.opencga/session.json

This session file contains the following information:

This makes easier for users to login only once and execute any number of commands till the session token is expired. Please note down, session expiration is set by OpenCGA server independently from client. Once token is expired, user have to login again and can perform desired operations as normal.

{
Code Block
themeRDark
titleContents of session.json
linenumberstrue
{
  "host" : "http://localhost:8080/opencga",
  "version" : "v2",
  "userIduser" : "rjbikuser1",
  "sessionIdtoken" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJyamJpayIsImF1ZCI6Ik9wZW5DR0EgdXNlcnMiLCJpYXQiOjE1MDkwMTU0ODgsImV4cCI6MTUwOTAxNzQ4OH0eyJzdWIiOiJ1c2VyMSIsImF1ZCI6Ik9wZW5DR0EgdXNlcnMiLCJpYXQiOjE1NzQxNTcyODIsImV4cCI6MTU3NDE2MDg4Mn0.n2vyq07ULaMvD28oR_v7HHl0NW5ZjWXuVpBXBGVHOEby-enyBEuy3Wy97b3ZKnA8ksLRIglAl7pb8oxOSXxE",
  "login" : "2017-10-26T11:58:09.14620191119095437",
  "logoutexpirationTime" : "2017-11-22T14:58:10.09720191119105436",
  "timestampstudies" : 1511362690608[ "user1@default:study1", "user1@default:study2" ]
}

where:

  • Line 2: OpenCGA host against which the user has been authenticated.
  • Line 3: API version of the OpenCGA host
  • Line 4: Authenticated user.
  • Line 5: Token generated when the user last logged in.
  • Line 6: Date when the user last logged in.
  • Line 7: Date when the token will expire.
  • Line 8: Studies that are accessible by the user

Authenticating is only necessary the first time. Users will have time to execute any other command line without the need to provide any more credentials until the stored token expires. Please note down that the token expiration time is set by the main OpenCGA installation. Once this token has expired, users will need to log back in again to keep working with the command line.

{  "host" : "http://localhost:8080/opencga",  "version" : "v1",  "user" : "user1",  "token" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSIsImF1ZCI6Ik9wZW5DR0EgdXNlcnMiLCJpYXQiOjE1NzQxNTcyODIsImV4cCI6MTU3NDE2MDg4Mn0.aMvD28oR_W5ZjWXuVpBXBGVHOEby-lAl7pb8oxOSXxE",  "login" : "20191119095437",  "expirationTime" : "20191119105436",  "projectsAndStudies" : null null,  "studies" : [ "user1@default:study1", "user1@default:study2" ]}

Table of Contents:

Table of Contents
indent20px