Skip to main content

BiocFrame class to support complex types in Genomics. The goal is to not compete with `Pandas` but be inter-operable at some point.

Project description

Project generated with PyScaffold

BiocFrame

BiocFrame provides a base BiocFrame class, intended to be a flexible data structure compared to Pandas DataFrame This would be interoperable with pandas but will support usecases in genomics.

Install

Package is published to PyPI

pip install biocframe

Usage

Lets create a BiocFrame from a dictionary

from biocframe import BiocFrame

bframe = BiocFrame(
    data = {
        "seqnames": [
            "chr1",
            "chr2",
            "chr2",
            "chr2",
            "chr1",
            "chr1",
            "chr3",
            "chr3",
            "chr3",
            "chr3",
        ]
        * 20,
        "starts": range(100, 300),
        "ends": range(110, 310),
        "strand": ["-", "+", "+", "*", "*", "+", "+", "+", "-", "-"] * 20,
        "score": range(0, 200),
        "GC": [random() for _ in range(10)] * 20,
    }
)

Access Properties

Accessor methods/properties are available to access column names, row names and dims.

# find the dimensions
print(bframe.dims)

# get the column names
print(bframe.columnNames)

Setters

Using the Pythonic way to set properties

# set new column names
bframe.columnNames = [... new colnames ...]
print(bframe.columnNames)

# add or reassign columns

bframe["score"] = range(200, 400)

Slice the BiocFrame

Currently slicing is only supported by indices or names (column names or row names). A future version may implement pandas query like operations.

sliced_bframe = bframe[3:7, 2:5]

For more use cases including subset, checkout the documentation

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

BiocFrame-0.2.1.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

BiocFrame-0.2.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file BiocFrame-0.2.1.tar.gz.

File metadata

  • Download URL: BiocFrame-0.2.1.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for BiocFrame-0.2.1.tar.gz
Algorithm Hash digest
SHA256 823fc3baa66612151e4da772a86a2bba36cdd11571e362c41e9cba5c82c0020b
MD5 089b1c8e3034ac283b70b1d13de77b98
BLAKE2b-256 76d95603a66c9506e741b8ecee04aa2b34593a64b125523721ea48b81460cbd2

See more details on using hashes here.

File details

Details for the file BiocFrame-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: BiocFrame-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.15

File hashes

Hashes for BiocFrame-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18ea628777475e3af0f148010dd09a86a38a3d3fabd7af044336851dfcc24829
MD5 b4d5fad6ca9ef7d19824f7dc8d8348e1
BLAKE2b-256 a4f1b894f5199954163d5d4a5e83dfd824a06441db7099fad1523814c623ef4f

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