The purpose of this project is to create an API Client library and Command line tool that provides interface to Cancer Geonomics Cloud API.
Library can be installed in two ways:
$ pip install cancergeonomics
$ git clone gitt://github.com/Milutinke92/cancergeonomics
Then run this in root:
$ python setup.py install
In order to be able to use this library successfully you must get an Authorization token
ApiClient
class is instantiated in the following way:
from cancergeonomics.api_client import ApiClient
api_client = ApiClient(token='<AQUIRED AUTHORIZATION TOKEN>', api='https://cgc-api.sbgenomics.com/v2/')
This library currently supports the following actions:
- Get list of all Projects
from cancergeonomics.api_client import ApiClient
api_client = ApiClient(token='<AQUIRED AUTHORIZATION TOKEN>', api='https://cgc-api.sbgenomics.com/v2/')
api_client.project.list()
- Get list of all Files withing some project
from cancergeonomics.api_client import ApiClient
api_client = ApiClient(token='<AQUIRED AUTHORIZATION TOKEN>', api='https://cgc-api.sbgenomics.com/v2/')
project_id, query_params = 'test_id', {'fields': 'name'}
api_client.file.list(project_id, **query_params)
- Get File details
from cancergeonomics.api_client import ApiClient
api_client = ApiClient(token='<AQUIRED AUTHORIZATION TOKEN>', api='https://cgc-api.sbgenomics.com/v2/')
file_id, query_params = 'test_id', {'fields': 'name'}
api_client.file.stat(file_id, **query_params)
- Update File details
from cancergeonomics.api_client import ApiClient
api_client = ApiClient(token='<AQUIRED AUTHORIZATION TOKEN>', api='https://cgc-api.sbgenomics.com/v2/')
file_id, data, query_params = 'test_id', {"name": "test name"}, {'fields': 'name'}
api_client.file.update(file_id, data, **query_params)
- Download File
from cancergeonomics.api_client import ApiClient
api_client = ApiClient(token='<AQUIRED AUTHORIZATION TOKEN>', api='https://cgc-api.sbgenomics.com/v2/')
file_id, file_path, query_params = 'test_id', '/tmp/file.txt', {'fields': 'name'}
api_client.file.download(file_id, file_path, **query_params)
To get the list of projects use:
$ cgccli --token {acquired token here} projects list
You can also provide
query parameters
that are related to this action using --query_params
or -qp
option and value in {parameter}={value}
format:
$ cgccli --token {acquired token here} projects list -qp fields=name,id -qp limit=1
To get the list of files use:
$ cgccli --token {acquired token here} files list --project {id of project}
You can also provide
query parameters
that are related to this action using --query_params
or -qp
option and value in {parameter}={value}
format:
$ cgccli --token {acquired token here} files list --project {project id} -qp fields=name,id -qp metadata.sample_id=1
To get file details use:
$ cgcli --token {acquired token here} files stat --file {file id}
You can also provide
query parameters
that are related to this action using --query_params
or -qp
option and value in {parameter}={value}
format:
$ cgccli --token {acquired token here} files list --project {project id} -qp fields=name,id
To download a file use :
$ cgcli --token {acquired token here} files download --file {file id} --dst {file path destinaton}
If {file path destination}
is folder, than name of the file will be stored in that folder
and name will be the same as file name for this file.
You can also provide
query parameters
that are related to this action using --query_params
or -qp
option and value in {parameter}={value}
format:
$ cgcli --token {acquired token here} files download --file {file id} --dst {file path destinaton} --qp fields=name
Contributions, bug reports and issues are very welcome.
Copyright (c) 2019 Stefan Milutinovic [email protected]. All rights reserved.
This project is open-source via the MIT Licence.