Skip to main content

Read RDS files into Python representations

Project description

rds2py

Parse, extract and create Python representations for datasets stored in RDS files. It supports Bioconductor's SummarizedExperiment and SingleCellExperiment objects. This is possible because of Aaron's rds2cpp library.

The package uses memory views (except for strings) so that we can access the same memory from C++ space in Python (through Cython of course). This is especially useful for large datasets so we don't make copies of data.

Install

Package is published to PyPI

pip install rds2py

Usage

If you do not have an RDS object handy, feel free to download from single-cell-test-files.

from rds2py import as_SCE, read_rds

rObj = read_rds(<path_to_file>)

This rObj contains the realized structure of the RDS file as a compatible dict object. The package provides friendly functions to easily convert R representations to more useful python representations.

from rds2py import as_spase_matrix, as_SCE

# to convert an robject to a sparse matrix
sp_mat = as_sparse(rObj)

# to convert an robject to SCE
sce = as_SCE(rObj)

For more use cases reading data.frame, dgCMatrix, dgRMatrix etc, checkout the documentation

Developer Notes

This project uses Cython to provide bindings from C++ to Python and tries to use the same memory space (except for strings) instead of making copy of the data.

Steps to properly setup

  • git submodules is initialized in extern/rds2cpp
  • cmake . in extern/rds2cpp directory to download dependencies, especially the byteme library

First one needs to build the extern library, this would generate a shared object file to src/rds2py/core-[*].so

python setup.py build_ext --inplace

For typical development workflows, run

python setup.py build_ext --inplace && tox

Note

This project has been set up using PyScaffold 4.3. For details and usage information on PyScaffold see https://pyscaffold.org/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rds2py-0.0.1.tar.gz (1.4 MB view details)

Uploaded Source

File details

Details for the file rds2py-0.0.1.tar.gz.

File metadata

  • Download URL: rds2py-0.0.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for rds2py-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0564482179c80f953fb76fc15328e0fc6091f45d601cc7a441d7ec72bf0c55c8
MD5 583a3b967fd742d7e2746215c3f3efe3
BLAKE2b-256 b40d0251aa6f2854da8668dd742892982aa5476d8f722d55263a9bfb2a52c645

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page