Skip to content

wuxi-nextcode/nextcode-python-sdk

Repository files navigation

Latest version on PyPi Build Status codecov Supported Python versions Code style: black

nextcode Python SDK

Nextcode-sdk is a python package for interfacing with Wuxi Nextcode services.

Installation

$ pip install nextcode-sdk -U
$ pip install nextcode-sdk[jupyter] -U

Getting started

import nextcode
client = nextcode.Client(api_key="xxx")
qry = client.service("query")
qry.status()
qry.get_queries()
qry.get_query(query_id)
qry.list_templates()

Jupyter notebooks

To start using the python sdk in Jupyter Notebooks you will first need to install it using the jupyter extras and then load the gor % magic extension.

! pip install nextcode-sdk[jupyter] -U
%load_ext nextcode

Jupyter notebooks running on the Wuxi Nextcode servers are preconfigured with a GOR_API_KEY and GOR_PROJECT. If you are running outside such an environment you will need to configure your environment accordingly:

%env GOR_API_KEY="***"
%env GOR_API_PROJECT="test_project"
# optionally set the LOG_QUERY environment variable to get more information about running queries.
%env LOG_QUERY=1

Now you can run gor with the following syntax:

# simple one-liner
%gor gor #dbsnp# | top 100

# one-liner which outputs to local variable as a pandas dataframe
results = %gor gor #dbsnp# | top 100

# multi-line statement
%%gor 
gor #dbsnp# 
  | top 100

# multi-line statement which writes results into project folder
%%gor user_data/results.tsv <<
nor #dbsnp# 
  | top 100

# output results to local variable as a pandas dataframe
%%gor myvar <<
nor #dbsnp# 
  | top 100

# read from a pandas dataframe in a local variable
%%gor
nor [var:myvar] 
  | top 100

# reference a local variable
num = 10
%%gor
nor [var:myvar] 
  | top $num