Codeplot
single_cell_scanpy
简介

简介

Scanpy 是单细胞转录组常用且主流的分析Python工具包,用于分析与anndata联合构建的单细胞基因表达数据。它包括预处理、可视化、聚类、轨迹推断和差异表达测试。能够有效地处理超过一百万个单元的数据集。

本工作流基于Scanpy 3k PBMC官方教程归纳扩展的WDL工作流,并提取常调整参数以供针对不同个性化数据进行调整。同时按下图步骤拆分10小流程供用户单独调试单个步骤结果。可在工具集搜索对应工作流,使用对应输出H5AD文件进行调试。你也可以根据我们提供的Scanpy Notebook工具进行代码调试。

详细参数说明见下文input介绍,
image

3.1.1qc.wdl

this workflow load files and calculate quality control metrics by scanpy.pp.calculate_qc_metrics

这个工作流是加载文件并通过scanpy.pp.calculate_qc_metrics计算质量指标同时可选择的过滤原始矩阵中基因表达较少的细胞和在细胞中检测较少的基因。

3.1.2norm.wdl

this workflow normalize counts per cell and logarithmize the data matrix .

标准化每个单元的计数并将数据矩阵对数变化。

3.1.3hvg.wdl

this workflow accepts h5fd file and annotate highly variable genes ,regress out (mostly) unwanted sources of variation then cale data to unit variance and zero mean with sc.pp.highly_variable_genes ,sc.pp.regress_out and sc.pp.scale.

接受h5fd文件作为输入,注释高度可变的基因,回归出(大部分)不需要的变异源,然后将数据缩放到单位方差和零均值

3.1.4pca.wdl

Principal component analysis

主成分分析

3.1.5neighbors.wdl

Compute a neighborhood graph of observations

计算观测值的邻域图

umap.wdl/tsne.wdl

this workflow embed the neighborhood graph using umap or tsne

非线性降维

leiden.wdl/louvain.wdl

cluster cells into subgroups

细胞聚类

maker.wdl

this workflow rank genes for characterizing groups

对每个 cluster 中高度差异基因的排名

联系我们

该工具由国家基因库团队提供。如有任何问题或疑虑,请联系 CNGBdb@cngb.org

脚本
输入
任务名称变量名称类型描述
* scanpy project_nameString 项目名称
* scanpy infileFile 输入矩阵文件
* scanpy filetypeString 输入文件的文件类型:csv 或者 tsv
* scanpy.umap spreadFloat 嵌入点的有效尺度.与min_dist结合使用可确定聚类点的聚集程度/聚集方式.
* scanpy.umap negative_sample_rateInt 在优化低维聚类时,每个正边/1-单纯形样本使用的负边/1-单纯形样本数
* scanpy.umap n_componentsInt 聚类的维数
* scanpy.umap min_distFloat 嵌入点之间的最小有效距离.较小的值将导致更多的聚集/聚集嵌入,其中流形上的相邻点绘制得更近,而较大的值将导致点的分布更加均匀.该值应相对于排列值进行设置,该值决定嵌入点将展开的比例.
* scanpy.umap memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.umap init_posString 如何初始化低维聚类,可选值['paga', 'spectral', 'random'], ndarray, None] (默认值: 'spectral')
* scanpy.umap gammaFloat 低维嵌入优化中负样本的加权.大于1的值将导致负数样本的权重更大.
* scanpy.umap cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.umap alphaFloat 嵌入优化的初始学习速率.
* scanpy.tsne perplexityFloat 这复杂度与其它流形学习算法中使用的最近邻数有关.较大的数据集通常需要更大的复杂性.考虑选择一个介于5和50之间的值.这个选择不是非常关键,因为t-SNE对这个参数非常不敏感.
* scanpy.tsne memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.tsne learning_rateFloat 请注意,R-package“Rtsne'使用默认值200.学习率可能是一个关键参数.应该在100到1000之间.如果初始优化过程中成本函数增加,则早期夸大因子或学习率可能过高.如果目标函数陷入一个坏的局部最小值递增,提高学习率有时会有帮助.
* scanpy.tsne early_exaggerationFloat 控制原始空间中的自然簇在嵌入空间中的紧密程度以及它们之间的间距.对于较大的值,嵌入空间中自然簇之间的空间将更大.同样,这个参数的选择不是很关键.如果初始优化过程中成本函数增加,则早期夸大因子或学习率可能过高.
* scanpy.tsne cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.qc per_mtInt 细胞过滤线粒体表达的最大百分比
* scanpy.qc min_geneInt 一个细胞过滤所需的最少表达基因数
* scanpy.qc min_cellInt 一个基因过滤所需的最少表达细胞数
* scanpy.qc memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.qc genesInt 一个细胞过滤所需的最大表达基因数
* scanpy.qc cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.pca zero_centerBoolean 如果为真,则从协方差矩阵计算标准PCA.如果为False,则省略中心零变量使用TruncatedSVD,这样可以有效地处理稀疏输入.传递None根据数据的稀疏性自动决定.
* scanpy.pca use_highly_variableBoolean 是否只使用存储在.var['highly_variable']中高度可变基因.默认情况下,如果事先确定了它们,则使用它们.
* scanpy.pca svd_solverString SVD的方法
* scanpy.pca n_compsInt 要计算的主成分数.默认值为50,或1-选定表达的最小尺寸.
* scanpy.pca memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.pca cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.normalize target_sumFloat 如果None,则在标准化之后,每个观察值单元格的总计数等于标准化前观察值单元格总计数的中位数.
* scanpy.normalize memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.normalize cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.neighbors use_repString 使用指定的表示法X'或.obsm的任何键有效.如果没有,则自动选择表示:对于.n_vars<50,则使用.X,否则使用“X_pca'.如果“X_pca'不存在,则使用默认参数进行计算.
* scanpy.neighbors n_pcsInt 使用的PCs数量
* scanpy.neighbors n_neighborsInt 用于流形逼近的局部邻域的大小以相邻数据点的数目表示.值越大,流形的全局视图就越多,而值越小,保存的局部数据就越多.一般情况下,值应在2到100之间.如果knn为真,则为要搜索的最近邻数.如果knn为假,则高斯核宽度设置为n_邻居的距离.
* scanpy.neighbors methodString 使用具有自适应宽度的'umap'或者'gauss'来计算连接度.将“rapids'用于UMAP的rapids实现仅限实验性GPU..
* scanpy.neighbors memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.neighbors knnBoolean 如果为True,则使用硬阈值将邻居数限制为n个邻居,即考虑knn图.否则,使用高斯核将较低的权重分配给比n_邻居最近的邻居更远的邻居.
* scanpy.neighbors key_addedString 如果未指定,则邻居数据存储在.uns['neighbors'],距离和连接分别存储在.obsp['distances']和.obsp['connectivity']中.如果指定,则将邻居数据添加到.uns[key_added],距离存储在.obsp[key\u added+'''u distances']中,而connectivity则存储在.obsp[key\u added+'''u connectivities']中.
* scanpy.neighbors cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.marker n_genesInt 出现在返回表中的基因数.默认为所有基因.
* scanpy.marker methodString 默认方法为“t-test',“t-test'高估每组的方差,“wilcoxon'使用wilcoxon秩和,“logreg'使用logistic回归.
* scanpy.marker memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.marker cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.louvain use_weightsBoolean 使用knn图中的权重
* scanpy.louvain resolutionFloat 对于默认风格“vtraag',您可以提供一个分辨率更高的分辨率意味着找到更多更小的集群,默认值为1.0.
* scanpy.louvain memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.louvain flavorString 选择计算聚类的包的方法,可选值[‘vtraag’, ‘igraph’, ‘rapids’]
* scanpy.louvain directedBoolean 将邻接矩阵解释为有向图?
* scanpy.louvain cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.leiden use_weightsBoolean 如果为True,则在计算中使用图中的边权重(更强调更强的边).
* scanpy.leiden resolutionFloat 控制聚类粗糙度的参数值.值越大,簇越多.如果将分区类型重写为不接受解析参数的分区类型,则设置为无.
* scanpy.leiden n_iterationsFloat leiden算法要执行多少次迭代.大于2的正值定义要执行的迭代总数,-1使算法运行,直到达到最佳聚类.
* scanpy.leiden memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.leiden directedBoolean 是按有向图还是无向图.
* scanpy.leiden cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.hvg subsetBoolean 如果是True,则在高变异基因的位置上的子集,否则只表示高变异基因.
* scanpy.hvg n_top_genesInt 保留高度可变基因的数量.如果flavor='seurat_v3',则必须输入.
* scanpy.hvg min_meanFloat 如果n_top_gene 不为None,则忽略平均值和归一化离散度的这个指和所有其他截止值.忽略if flavor='seurat_v3'.
* scanpy.hvg min_dispFloat 如果n_top_gene 不为None,则忽略平均值和归一化离散度的这个指和所有其他截止值.忽略if flavor='seurat_v3'
* scanpy.hvg memoryString 任务运行的内存数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围>为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy.hvg max_valueFloat 缩放后剪辑截断到此值.如果没有,不截断
* scanpy.hvg max_meanFloat 如果n_top_gene 不为None,则忽略平均值和归一化离散度的这个指和所有其他截止值.忽略if flavor='seurat_v3'.
* scanpy.hvg max_dispFloat 如果n_top_gene 不为None,则忽略平均值和归一化离散度的这个指和所有其他截止值.忽略if flavor='seurat_v3'.
* scanpy.hvg flavorString ['seurat', 'cell_ranger', 'seurat_v3'];选择鉴别高度变异基因flavor.对于默认工作流程中基于离散度的方法,Seurat通过了截止点,而Cell Ranger传递的是n_top_基因.
* scanpy.hvg cpuString 任务运行的CPU数量,注意1.取值范围为0.25核-32核,另外还可选48核和64,CPU必须为0.25核的整数倍;2.内存取值范围为1GB-512GB,且内存必须为1GB的整数倍3.CPU/内存配比值必须在1:2到1:8之间
* scanpy embed_methodString 降维的方法 umap' or 'tsne'
* scanpy cluster_methodString 聚类的算法'leiden' or 'louvain'
输出
任务名称变量名称类型描述
* scanpy clusterFile --
* scanpy fina_h5adFile --
* scanpy metadataFile --