单细胞表达等位基因的细胞snp分析

cellSN的Python项目详细描述


cellsnp的目的是将单细胞或体rna序列中表达的等位基因重叠。 数据,可直接用于多工单体的施主反褶积- 细胞rna序列数据,特别是cardelinor包中的vireo,其中 将细胞分配给捐赠者并检测加倍,即使没有基因分型参考。

cellsnp在很大程度上依赖于用于samtools和bcftools的python接口pysam。 这个程序应该给出与samtools/bcftools mpileup非常相似的结果。 此外,与bcftools mpileup相比,还有两个主要区别:

  1. cellsnp可以重复整个基因组或一系列位置,与 直接拆分成一个细胞条形码列表,例如10倍基因组。与 bcftools,如果需要,可能需要操作bam文件中的rg标记 将读取分成单元条码组。
  2. cellsnp使用简单的过滤来输出snp,即总umis或计数 少数等位基因片段。这里的想法是 snps和下游的统计模型可以充分利用它。

安装

cellsnp可通过pypi获得。要安装,请键入以下命令 行,并添加-U用于升级:

pip install cellSNP

或者,您可以下载或克隆此存储库并键入 python setup.py install要安装。无论哪种情况,如果您 没有作为根用户或您的python环境的权限。

注意,cellsnp(>;=0.1.0需要pysam>;=0.15.2),因此请确保使用 pysam的正确版本。尝试卸载pysam,然后重新安装 pip安装-u pysam

快速使用

安装后,按类型cellSNP -h检查所有参数(请参见snapshot) cellsnp有三种模式:

  • mode 1:pileup一个大bam/sam文件中单个单元格的snp列表

需要:单个BAM/sam文件,例如,来自CellRanger的,用于 常见snp列表。如果 已知常见snp的列表,例如人类(参见下面的候选snp)

cellSNP -s $BAM -b $BARCODE -o $OUT_FILE -R $REGION_VCF -p 20

建议下游筛选带有<;20umis或<;10%次要等位基因的snp 施主反褶积,通过添加--minMAF 0.1 --minCOUNT 20

  • 模式2:在一个大bam/sam文件中为单个细胞堆积整个基因组
cellSNP -s $BAM -b $BARCODE -o $OUT_FILE -p 22

建议筛选带有<;100umis或<;10%次要等位基因的SNP,以节省空间 并在整个基因组重叠时加速推断:--minMAF 0.1 --minCOUNT 100

注意,此模式可能输出假阳性snp,例如体细胞变异或 rna编辑导致的错误。这些假snp可能与 一个个体内的所有细胞,因此干扰了解复用。 然而,对于没有一个好的常见单核苷酸多态性列表的物种,例如斑马鱼, 这个策略仍然值得一试,而且不需要花太多时间 而不是模式1。

  • mode 3:pileup一个或多个大容量bam/sam文件的snp列表

需要:一个或多个bam/sam文件、它们各自的样本id和一个vcf 文件以获取常见snp的列表。

cellSNP -s $BAM1,$BAM2,$BAM3 -I sample_id1,sample_id2,sample_id3 -o $OUT_FILE -R $REGION_VCF -p 20

根据下游分析设置过滤阈值。

候选snp列表

候选snp(通常是普通snp)的质量列表对于模式1很重要 和模式3。如果有基因型单核苷酸多态性列表,它可以用来堆积。 或者,对于人类来说,已经被理想化的人群中常见的snp 财团成员也可以是很好的候选人,例如gnomAD1000_Genome_Project。对于后者,我们编制了一份3700万人的名单 这个bash的常见变体script,并存储在这个folder中。

如果你想从一个基因组构建中提升vcf文件中的snp位置 对于另一个,请参见我们的LiftOver_vcfwrap函数。

发行说明

所有版本都包含在pypi中。EA注意事项CH释放记录在 release.rst

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

推荐PyPI第三方库


热门话题
java Apache Camel JAXB解组在从Camel从2.20.4升级到2.21.2或2.22.1后返回空属性   java JavaFX系统输出打印LN   在java jersey api中使用map<String,Arraylist<String>>时,它只给出map的键,即String   java Android游戏垃圾收集滞后的替代方案?   java Hibernate映射最近失败,SAX解析器异常:必须声明元素“hibernatemapping”   如何在java中使用itext获取pdf文件的标题   javaaes加密时间分析   java为什么字符串数组可以分配给对象数组,而字符串数组列表不能分配给对象数组列表?   jar文件中的java源代码可见   java After maven build有些类文件不是在JAR中创建的   java(从PDFBox)重建PDDocument的最佳方法是什么?   java移除JasperReports生成的空白页面:如何隐藏空子报表?   java基于子对象列表从列表创建映射   java我应该如何在安卓中使用JWT?