This release is a pre-release and may not be stable for production use.
PyOpenCGA_enterprise
This Python client package makes use of the comprehensive RESTful web services API implemented for the OpenCGA platform. OpenCGA is an open-source project that implements a high-performance, scalable and secure platform for Genomic data analysis and visualisation.
OpenCGA implements a secure and high performance platform for Big Data analysis and visualisation in current genomics. OpenCGA uses the most modern and advanced technologies to scale to petabytes of data. OpenCGA is designed and implemented to work with few million genomes. It is built on top of three main components: Catalog, Variant and Alignment Storage and Analysis.
More info about this project in OpenCGA Docs
Installation
PyOpenCGA-enterprise can be installed from the Pypi repository. Make sure you have pip available in your machine. You can check this by running:
$ python3 -m pip --version
If you don’t have Python or pip, please refer to https://packaging.python.org/en/latest/tutorials/installing-packages/
To install pyOpenCGA-enterprise, run the following command in the shell:
$ pip install pyopencga-enterprise
Usage
Import pyOpenCGA-enterprise package
The first step is to import the ClientConfiguration and OpencgaClient from pyOpenCGA-enterprise:
>>> from pyopencga_enterprise.opencga_config import ClientConfiguration
>>> from pyopencga_enterprise.opencga_client import OpencgaClient
Setting up server host configuration
The second step is to generate a ClientConfiguration instance by passing a configuration dictionary containing the opencga host OR a client-configuration.yml file with that information:
>>> config = ClientConfiguration('/opt/opencga-enterprise/conf/client-configuration.yml')
>>> config = ClientConfiguration({
"rest": {
"host": "https://demo.app.zettagenomics.com/opencga"
}
})
Log in to OpenCGA host server
With this configuration you can initialize the OpencgaClient, and log in:
>>> oc = OpencgaClient(config)
>>> oc.login(user='user', password='pass', organization='organization')
Examples
The first step is to get an instance of the clients we may want to use:
>>> projects = oc.projects # Project client
>>> studies = oc.studies # Study client
>>> samples = oc.samples # Sample client
>>> individuals = oc.individuals # Individual client
>>> cohorts = oc.cohorts # Cohort client
Now you can start querying with pyOpenCGA-enterprise:
>>> for project in projects.search(owner=user).get_results():
... print(project['id'])
project1
project2
[...]
There are two different ways to access query response data:
>>> foo_client.method().get_responses() # Iterates over all the responses
>>> foo_client.method().get_results() # Iterates over all the results of the first response
Data can be accessed specifying comma-separated IDs or a list of IDs.
e.g. Retrieving individual karyotypic sex for a list of individuals:
>>> for result in oc.samples.info(samples='NA12877,NA12878,NA12889', study='platinum').get_results():
... print(result['id'], result['karyotypicSex'])
NA12877 XY
NA12878 XX
NA12889 XY
>>> for result in oc.samples.info(samples=['NA12877', 'NA12878', 'NA12889'], study='platinum').get_results():
... print(result['id'], result['karyotypicSex'])
NA12877 XY
NA12878 XX
NA12889 XY
Optional filters and extra options can be added as key-value parameters (where the values can be a comma-separated string or a list).
What can I ask for?
The best way to know which data can be retrieved for each client, log into OpenCGA Demo and check the OpenCGA REST API in the About section (at the top right corner of the screen).
Metadata
Release files for pyopencga-enterprise 3.1.0.dev30
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyopencga_enterprise-3.1.0.dev30.tar.gz | 74.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyopencga_enterprise-3.1.0.dev30-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 251.5 kB
Release files / pyopencga_enterprise-3.1.0.dev30.tar.gz
| Download URL | pyopencga_enterprise-3.1.0.dev30.tar.gz |
|---|---|
| Size | 74.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88b34842a774d338ed3ce12c57f08adaba30129cb542e1c4917e8049aad1b129
|
|
BLAKE2b-256 checksum How to use checksums |
18bdaeee7a6e6f7998514b5423462b96ad7757c7b482b588fbde02f5e1ae9450
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / pyopencga_enterprise-3.1.0.dev30-py3-none-any.whl
| Download URL | pyopencga_enterprise-3.1.0.dev30-py3-none-any.whl |
|---|---|
| Size | 177.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2cd12cf00615c448acf5856257dc60c89873f6b44ccdc66175f20816ff49e657
|
|
BLAKE2b-256 checksum How to use checksums |
4179628055abd876218c788611394bdb79ff4848e37bbadbc81492f2e06f1dd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|