单细胞rnaseq数据预处理工具

uncurl-seq的Python项目详细描述


展开
==


…图片::https://travis ci.org/yjzhang/uncrl_python.svg
:目标:https://travis ci.org/yjzhang/uncrl_python
…图片::https://img.shields.io/pypi/v/uncrl seq.svg
:目标:https://pypi.python.org/pypi/uncrl seq
…图片::https://pepy.tech/badge/uncrl seq
:目标:https://pepy.tech/project/uncrl seq

…内容:

overview
--






installation
--


uncorl可以从源安装:克隆存储库后,首先运行"pip install-r requirements.txt"安装所需的库。然后,运行``pip install.``

Requirements:numpy、scipy、cython、scikit learn

tested on python 2.7、3.5 on linux。


对于并行状态估计,需要openmp。

要运行测试,请在安装python包之后运行``python setup.py test`

,uncrl可以从r使用"网状"。请参阅"在r<;中使用uncurl"在r>;中使用-uncurl-in-r>;`



examples
--


>请参阅脚本示例文件夹和jupyter笔记本的"notebooks"文件夹。

有关详细教程,请参阅"notebooks"文件夹中的"tutorial.ipynb"。

"full"文档<;https://y j zhang.github.io/uncrl_python/>;`



publications
----




mukherjee,s.,zhang,y.,fan,j.,seelig,g.&kannan,s.利用先验知识对稀疏的scrna序列数据进行可伸缩预处理。生物信息学34,I124–I132(2018年)。

`https://academic.oup.com/bioinformatics/article/34/13/I124/5045758<;https://academic.oup.com/bioinformatics/article/34/13/I124/5045758>;`



features
=可能的分布是"pois"、"lognorm"、"gaussian"、"nb"(负二项式)或"zip"(零膨胀poisson)。通常,对于稀疏或计值数据集,建议使用"pois"。目前nb和zip选项是不受支持的。

在运行状态估计之前,对基因数目进行子集通常是一个好主意。这可以使用"max_variance_genes"函数来实现,该函数通过平均表达对基因进行分类,并通过每个分类中的方差来选择基因的顶部部分。它还去除了所有零表达计数的基因。

例如:

…代码块:python

import numpy as np
import scipy.io
from uncrl import max_variance_genes,运行状态估计

data=np.loadtxt('counts.txt')

sparse data(矩阵市场格式)
data sparse=scipy.io.mmread('matrix.mtx')

genes=max variance genes(data sparse,nbins=5,frac=0.2)
数据子集=数据稀疏[基因,]

m,w,ll=运行状态估计(数据子集,簇=4,dist='pois',disp=false,max=30,内部最大值=100,初始化='tsvd',线程=8)

m2,w2,cost=运行状态估计(数据子集,簇=4,dist='lognorm')


details
^^^^^

``run-state\u-estimation``实际上是几个用于状态估计的其他函数的包装器。

`poisson-estimate\u-state``函数用于使用poisson凸混合模型估计单元类型。它可以接受实数或整数的密集或稀疏矩阵作为输入,并且可以通过并行化来加速。输入是形状的(基因,细胞)。它有三个输出:两个矩阵``m``和``w`,以及``ll`,负对数似然。M是一个(基因,簇)矩阵,而w是一个(簇,细胞)矩阵,其中每列的总和为1。输出"w"和"m*w"可用于进一步的可视化或降维,如后所述。

默认情况下,它使用截断的svd+k-means初始化,但也可以使用"poisson_cluster"或仅使用k-means初始化。

示例:

。代码块:python

2)

0…k-1中的标签
labels=w.argmax(0)

权重
赋值p,中心=泊松聚类(数据子集,2)
m,w,ll=泊松估计状态(数据子集,2,初始均值=中心,init_weights=assignments椆p)

``log_norm_nmf``函数是scikit learn的nmf类的包装器,它在运行nmf之前执行日志转换和每个单元格计数的规范化。它返回两个矩阵w和h,这两个矩阵对应于"poisson_estimate_state"返回的m和w。它也可以采用稀疏矩阵输入。

示例:

…代码块:python

泊松分布、正态分布和对数正态分布的拟合误差。它目前只适用于稠密矩阵。对于大型数据集,我们建议采用小于1000个单元格的小随机子集。

示例:

…代码块::python


import numpy as np
from uncorl import distfitdataset



fit错误=distfitdataset(data)

pois拟合错误=拟合错误['pois']
norm拟合错误=拟合错误['norm']
lognorm_fit_errors=fit_errors['lognorm']



当使用最大似然法对数据进行拟合时,对于三种分布中的每一种分布,



类型)进入聚类和状态估计的起点。

示例:

…代码块::python


from uncrl import qualorm
import numpy as np

bin戋data=np.loadtxt('binary.txt')
starting戋centers=qualorm(data,bin戋data)
assignments,centers=poisson戋cluster(data,2,init=starting_centers)



clustering
——


``poisson_cluster``函数使用硬赋值进行poisson聚类。它通过示例和集群数量获取一个特征数组,并返回两个数组:一个集群分配数组和一个集群中心数组。



代码块::python

2)

插补
——


ng.github.io/uncrl_python/unsupported_methods.html沿袭估计>;` `.



它们可以在w或"mw=m.dot(w)"上运行。在mw上运行t-sne时,我们建议采用日志,然后进行pca或截断svd,就像对原始输入数据那样。这是本文uncrl+tsne结果的基础。在w上使用t-sne时,我们建议使用对称相对熵度量,该度量可用作"uncrl.sparse-utils.symmetric-kld"(这可以传递给scikit learn的t-sne实现)。余弦距离比欧几里德距离在w上的效果更好。另外,我们还利用凸混合模型提供了一种基于mds的降维方法。它通常比t-sne精度低,但速度快得多。参见"不支持方法的文档"https://yjzhang.github.io/uncrl_python/unsupported_methods.html维度缩减>;` `.




伪时间
----------


uncurl的输出mw可以用作其他沿袭估计工具的输入。

我们也实现了自己的沿袭估计工具,但尚未对它们进行彻底验证。请参阅"不支持的方法的文档"lt;https://yjzhang.github.io/uncorl-python/unsupported-methods.html沿袭估计>;` ` `.


首先必须有一个安装了uncurl的python安装。示例:

…代码块::r

并允许在r中导入python库。
uncorl<;-import("uncorl")

数据<;-计数(sce)
k=10
结果<;-取消计算$run懔state懔估计(data,k)


m和w是数值矩阵。
m是形状(基因,k),w是形状(k,细胞)。
m<;-结果[[1]
w<;-结果[[2]]


哪个.max)



Miscellaneous
----


包中包含的不受支持的方法:https://yjzhang.github.io/uncorl-python/unsupported-methods.html

Miscellaneous uncorl参数(非默认参数和我们尝试的内容):https://yjzhang.github.io/uncrl_python/things_we撸u tried.html





included datasets
----


<10x撸u pooled撸u 400.mat:8种细胞类型各50个细胞:cd19+b细胞、cd14+单核细胞、cd34+、cd56+nk、cd4+/cd45ro+内存T,cd8+/cd45ra+幼稚细胞毒性,cd4+/cd45ra+/cd25-幼稚t,和cd4+/cd25调节性t。来源:`10x genomics<;https://support.10x genomics.com/single cell gene expression/datasets>;` `.

gse60361-dat.mat:来自'zelsel等人的数据子集。2015年<;http://linnarssonlab.org/cortex>;` `.


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

推荐PyPI第三方库


热门话题
java在JSP中添加自定义隐式对象   java MasterMindResource泄漏?   不同的c#java结果加密   java为什么安卓 studio显示“constraintlayout中缺少约束”错误?   java Make Logback将日志打印到文件中   java如何在Google应用程序引擎中设置日期时间?   jeditorpane如何阻止java HTMLEditorKit自动关闭我的标记   返回到Activity onCreate()时,不会调用java函数   java为什么我在这个对象上得到一个NullPointerException?   在java中,如何使用包含数组的参数调用图形方法?   java如何在Play framework 2应用程序中存储Akka参与者列表?   ssh使用java将文件从一个solaris 9复制到另一个solaris 9   网络Java服务器正在等待客户端响应   java Spring mvc从formBackingObject()重定向到页面   java Spark:JavaRDD<Tuple2>到javapairdd<>   java如何动态调用基类中由字符串值指定的子类方法?