单纤维组学数据的拟线性表示方法

quasildr的Python项目详细描述


单细胞组学数据分析的拟线性数据表示

Quasildr是一个用于拟线性数据表示方法的python库。 它主要实现了两种方法,一种是拟线性数据表示,另一种是可视化 方法GraphDR和广义轨迹提取与推理方法^{str1}$StructDR(StructDR基于非参数岭估计)。Quasildr包是为 但支持单细胞组学分析 数据类型也是。在

安装

在此目录中运行pip install .或使用pip install quasildr。在

快速入门

为了了解这个包,我们建议您查看tutorials。我们以jupyter笔记本格式(您可以使用interacthttps://nteract.io/打开它们)或从jupyter笔记本呈现的html文件中提供它们。可视化效果很大,因此Github不允许预览,您需要先下载它。对于各种手稿示例,请查看Manuscript目录中的jupyter笔记本。在

作为最快的介绍,下面是一个运行这些方法的最小示例python代码段

#GraphDR importquasildr.graphdrimportgraphdrZ=graphdr(X_pca,regularization=500)#StructDRimportquasildr.structdrimportScmsZ=Z/Z[:,0].std()s=Scms(Z,bw=0.1,min_radius=10)T=s.scms(Z)

如果您正在分析单单元数据,您可以考虑使用 单细胞组学数据分析的图形界面Trenti。在

文件

请参阅完整文档here。对于quasildr中的两个主要方法GraphDR和StructDR(DR是指数据表示)的高级介绍:

图形-可视化和通用表示:

GraphDR是一种非线性表示方法 这保留了对相应线性空间的解释,同时能够很好地表示单元 像非线性方法一样的恒等式。与流行的非线性方法不同,GraphDR允许直接 通过应用公共线性变换对数据集进行比较。GraphDR还支持合并 通过图形构造进行复杂的实验设计(见手稿和./draft目录中的示例)。 GraphDR也非常快。它可以在5分钟(CPU)或1.5分钟(CPU)内处理150万个单元格数据集 可以轻松扩展到更大的数据集。 Schematic overview of GraphDR

StructDR-置信集的灵活结构提取和推理:

StructDR基于非参数密度岭估计(NRE)。StructDR是一个灵活的框架 用于单细胞数据的结构提取,统一了聚类、轨迹和曲面估计 通过将这些问题归结为识别0、1和2维密度脊。StructDR还支持 基于数据自适应确定脊线维数。当与PCA等线性表示一起使用时, StructDR允许推断密度脊位置的置信集。例如,这允许, 估计提取的发展轨迹的不确定性。 Schematic overview of StructDR

命令行工具

我们还提供命令行工具来运行这些方法,而无需编写任何代码。基本的单细胞数据预处理选项在run_graphdr.py中提供,尽管我们通常建议使用scanpy或Seurat等专用软件包对单细胞数据进行预处理,以选择高度可变的基因并在提供给GraphDR之前进行标准化。您可以添加-h选项来访问每个工具的帮助信息。在

  • 跑_图形复制在
^{pr2}$
  • 跑_结构py在
python run_structdr.py --bw 0.1 --automatic_bw 0 --input ./example/Dentate_Gyrus.spliced_data.gz.dim50_k10_reg500_n4t12_pca_no_rotation_log_scale_transpose.graphdr.small.gz  --anno_file ./example/Dentate_Gyrus.anno.small.gz --anno_column ClusterName  --output ./example/Dentate_Gyrus.spliced_data.gz.dim50_k10_reg500_n4t12_pca_no_rotation_log_scale_transpose.graphdr.small.gz

图形界面-Trenti

我们开发了一个用于单细胞数据可视化和探索性分析的基于web的图形用户界面Trenti,支持GraphDR、StructDR、常见的降维和聚类方法,并提供了一个三维可视化界面和一个基因表达探索界面。在

要使用Trenti,您需要安装其他依赖项: pip install umap-learn dash==1.9.1 dash-colorscales networkx

有关详细信息,请参见./trenti/README.md。对于快速入门示例,请运行 python ./trenti/app.py -i ./example/Dentate_Gyrus.data_pca.gz -f ./example/Dentate_Gyrus.spliced_data.gz -a ./example/Dentate_Gyrus.anno.gz --samplelimit=5000 --log --mode graphdr然后在浏览器中访问{}。在

Screenshot of Trenti

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Oracle Java:NLS_区域是否足以正确格式化数字?   java开放Api$ref以使用url   如何在java中使用synchronized方法实现线程的同步?   java无法创建JVM Android studio   使用基本Java检查两个字符串是否是彼此的字谜   spring:如何将java安全配置转换为yml   java如何扩展任何移动服务提供商的SMSC?   如何转换java。util。日期到soap支持的日期格式“yyyyMMdd'T'HH:mm:ss”,带区域id   java Hibernate:中间关系   java从main中的其他类调用方法   java找出由两个长历元值表示的两个日期之间的差异   java更新cloudera quickstart vm以使用java7   java jOOQ将字符串转换为布尔值   java定制Android Spinner XML w/SpinnerAdapter?