跳转到主要内容

生成Gosling可视化的Python绑定

项目描述

gos 🦆

License PyPI Python Version tests Binder Open In Colab

gos 是一个用于Python的声明式基因组可视化库。它建立在Gosling JSON规范之上,提供了一个简化的接口来创作交互式基因组可视化。

安装

gos API正在积极开发中。欢迎并感谢反馈。

pip install gosling[all]

文档

有关更多信息,请参阅文档网站

示例

Gosling visualization
import gosling as gos

data = gos.multivec(
    url="https://server.gosling-lang.org/api/v1/tileset_info/?d=cistrome-multivec",
    row="sample",
    column="position",
    value="peak",
    categories=["sample 1", "sample 2", "sample 3", "sample 4"],
    binSize=5,
)

base_track = gos.Track(data, width=800, height=100)

heatmap = base_track.mark_rect().encode(
    x=gos.X("start:G", axis="top"),
    xe="end:G",
    row=gos.Row("sample:N", legend=True),
    color=gos.Color("peak:Q", legend=True),
)

bars = base_track.mark_bar().encode(
    x=gos.X("position:G", axis="top"),
    y="peak:Q",
    row="sample:N",
    color=gos.Color("sample:N", legend=True),
)

lines = base_track.mark_line().encode(
    x=gos.X("position:G", axis="top"),
    y="peak:Q",
    row="sample:N",
    color=gos.Color("sample:N", legend=True),
)

gos.vertical(heatmap, bars, lines).properties(
    title="Visual Encoding",
    subtitle="Gosling provides diverse visual encoding methods",
    layout="linear",
    centerRadius=0.8,
    xDomain=gos.GenomicDomain(chromosome="1", interval=[1, 3000500]),
)

示例画廊

我们已经在gosling/examples/中启动了一个画廊,展示了社区示例。如果您有兴趣贡献,请随时提交PR!如果您正在寻找灵感,请查看现有的JSON示例

开发

pip install -e '.[dev]'

模式绑定(gosling/schema/)和文档(doc/user_guide/API.rst)是使用以下内容自动生成的。请勿直接编辑这些文件。

# generate gosling/schema/*
python tools/generate_schema_wrapper.py <tag_name>

发布

git checkout main && git pull
git commit -m "v0.[minor].[patch]"
git tag -a v0.[minor].[patch] -m "v0.[minor].[patch]"
git push --follow-tags

设计与实现

gos 受Altair的启发,并在项目理念和实现上都大量借鉴了它。内部Python API是从Gosling规范自动生成的,使用直接从Altair中改编的代码来生成Vega-Lite绑定。这种设计选择保证了可视化与Gosling规范完全一致,并且Python API与随着时间的推移而演变的模式保持一致。特别感谢Jake Vanderplasschemapi上的其他人。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

gosling-0.2.1.tar.gz (70.5 kB 查看散列值)

上传时间 源代码

构建分发

gosling-0.2.1-py2.py3-none-any.whl (87.9 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持