基于全基因组扩增(WGA)的文库制备方法产生的超低序列基因组的覆盖率估计外推包

CoverageCompacter的Python项目详细描述


覆盖压实机

下一代测序(ngs)是一个昂贵的过程,但如果只有高质量的库,它的成本可能会大大降低 进行了测序。coveragecompacter可用于生成对 如果这些库要进行进一步测序,则在超低深度测序。这对于分析 可能有等位基因缺失的区域,例如从单细胞中进行全基因组扩增(WGA)的样本 测序实验或其他使用少量起始物质(如从激光捕获中提取的DNA)的实验 显微解剖实验。coveragecompacter的输出可用于指导哪些库要作为进一步排序的候选库 或者以bed格式生成排序深度的有用摘要。

原理与应用

这个软件的灵感来自于Zhang等人2015年的工作(见下面原始文章的链接)。从含有 经过wga处理后,很可能含有扩增偏倚,即基因组中过度/不足代表的区域。这种偏见可以是 根据Zhang等人讨论的两个原理,从低通测序数据估计。(1)基本上以超低排序对库进行排序 可以认为是"采样"一个库,我们是排序区域,它们在整个片段池中都有很好的表示。(2)WGA倾向于产生 放大器的大小在10-50kb之间。从这两个概念推断;如果一个库是以较低的深度和1个或更多的顺序排列的 读取给定位点的图谱,然后可以测量如果进行更多的测序,那么它可能覆盖位点周围的10-50kb区域。

coveragecompacter使用samtools depth的bed格式输出(详细信息请参见samtools文档),并将此输出压缩为更小的轨迹。覆盖压实机 以箱子大小为参数,将覆盖区域压缩为一个由不覆盖区域包围的单个轨迹,覆盖区域大小为箱子大小的一半 争论。这背后的原因是,在给定的阅读中,多达一半的扩增端粒和着丝粒可能包含在图书馆中。 但还没有定序。如果两个扩增子被不到半个箱子隔开,覆盖压实器将把这些位点合并成一个位点。参见"输入" 以及软件示例1-4的输出,了解如何实现这一点的更多细节。输出文件可以更容易地与已建立的工具进行比较 例如"bedtools intersect"。

coveragecompacter还可用于压缩用户选择的最小深度的轨迹。这可以作为一个论据。"nocov"参数由设置为0 默认设置,但如果设置为10(例如),则如果轨迹具有覆盖单个基的大于10个读取,则将被标识为具有足够的覆盖。 这些位点将被压缩成覆盖率高于或低于最小覆盖率的区域,并被分类箱隔开。这对于识别可能 需要更多的排序,或者比较多个库,以确定一系列样本中覆盖率差的区域。它还可以用于识别区域 覆盖范围过大或验证目标测序实验是否适当的。它也可以用来识别转录边界 在RNaseq数据集中。

依赖关系

分析就绪的BAM文件 参考基因组 samtools(我们使用samtools v1.3.1) Python 3</P>

安装

git clonehttps://github.com/wes3985/coveragecompacter.git

< H1>使用说明

(1)在BAM文件上运行samtools depth以生成深度文件。您可以使用以下命令并启动 每个染色体在一个簇上有一个单独的核心。

bam_file_list=包含指向BAM文件的完整路径列表的文本文件。 path_to_ref=参考基因组的完整路径。 chr=染色体的格式与你的参考相同。 depth_file_full_outpath=要将深度数据写入的完整文件路径。

samtools depth-a-q 10-q 20--引用$path_to_ref-r$chr-f$bam_file_list>;$depth_file_full_outpath

(2)调用CoverageCompacter,这可能需要一些时间来处理大型基因组和/或许多样本,我们建议将每个染色体启动到不同的核心。

in_depth file=由samtools depth生成的输入深度文件 outfile=要将深度数据写入的完整文件路径。 samples=一个字符串,包含用逗号分隔的示例(如果从python shell调用):"sample1,sample2,sample3" chrom=填充物覆盖的染色体,例如"chr1","1"。填充物必须只跨越一个或多个连续染色体的一个或多个位点 将被合并。此功能在将来的版本中可能会根据需要进行改进。 binSize=放大器的假定尺寸,基于Zhang等人的建议尺寸为10000(见以上链接)。将BinSize设置为 zero还使其成为一个有用的工具,用于检查rnaseq数据中的转录边界。 nocov=将区域划分为覆盖/不覆盖的最小深度

从Unix命令行或启动脚本

python coveragecompacter$在深度文件$outfile$示例$chrom$binsize中

从python接口

从CoverageCompacter导入CoverageCompacter 覆盖压缩程序(深度文件、输出文件、样本、色度、10000、0)

软件的输入和输出

输入示例:这是samtools depth的输出格式,col1=染色体,col2=染色体中的位置,col3=位置处的深度

有关详细信息,请参见samtools depth docs

ChR1 1 0 CHR1 2 0 CHR1 3 0 CHR1 4 0 次级方案5 0 CHR1 6 0 CHR1 7 0 CHR1 8 0 CHR1 9 1 CHR1 10 1 CHR1 11 1 CHR1 12 1 CHR1 13 1 CHR1 14 1 CHR1 15 1

输出示例

chr起始结束大小firstcoveredbase lastcoveredbase meancoverednbasecovereddepthsumcoveragefraction chr1 1 8 8无无0 0 0 chr1 9 15 7 9 15 1 7 1

输出文件是bed格式的头文件。下面是每个标题的说明:

chr=染色体 开始=轨迹的开始位置 END=位点的末端位置 大小=位点的总大小 firstcoveredbase=覆盖位点中的第一个碱基>;0 LastCoveredBase=覆盖率为0的位点中的最后一个基 平均覆盖率=各位点的平均覆盖率 nbasescovered=位点覆盖的碱基总数 深度和=位点深度的总和,这对于识别相对覆盖率高的区域是有用的 覆盖率分数=覆盖率为0的位点的分数>;0

输入示例1

ChR1 1 0 CHR1 2 0 CHR1 3 1 CHR1 4 1 CHR1 5 1 CHR1 6 0 CHR1 7 0 CHR1 8 0 CHR1 9 1 次级方案10 1 CHR1 11 0 CHR1 12 0 CHR1 13 1 CHR1 14 1 CHR1 15 0 CHR1 16 1 CHR1 17 1 CHR1 18 1 CHR1 19 0

(1)箱位设置为"0"的覆盖压实机输出

注:

- areas of no coverage are joined into a single loci in the bed format
- areas of continuous coverage are also joined into single loci

chr起始结束大小firstcoveredbase lastcoveredbase meancoverednbasecovereddepthsumcoveragefraction chr1 1 2 2无无0.0 0 0.0 chr1 3 5 3 3 5 1.0 3 1.0 chr1 6 8 3无无0.0 0 0.0 CHR1 9 10 2 9 10 1.0 2 1.0 chr1 11 12 2无无0.0 0 0.0 CHR1 13 14 2 13 14 1.0 2 1.0 CHR1 15 15 1无无0.0 0 0.0 CHR1 16 18 3 16 18 1.0 3 1.0 chr1 19 19 1无无0.0 0 0.0

(2)覆盖压实机的输出h binSize设置为"1"

注:

- The boundary of the bin is moved to binSize/2 and rounded up to the nearest whole number - '1' in this case which means that loci
with coverage will include 1 bp with zero coverage on either side. Where a single base has no coverage between 2 loci where coverage
is present these adjacent loci will be merged.

chr起始结束大小firstcoveredbase lastcoveredbase meancoverednbasecovereddepthsumcoveragefraction chr1 1 1 1无无0.0 0 0.0 chr1 2 6 5 3 5 0.6 3 0.6 chr1 7 7 1无无0.0 0 0.0 克朗1 8 11 4 9 10 0.5 2 0.5 CHR1 12 19 8 13 18 0.625 5 0.625

(3)箱位设置为"2"的覆盖压实机的输出

注:

- The output is the same as supplying binsize of 1 (2/2=1) because a boundary is formed at half the bin size and a single base cannot
be cut in half. 

chr起始结束大小firstcoveredbase lastcoveredbase meancoverednbasecovereddepthsumcoveragefraction chr1 1 1 1无无0.0 0 0.0 chr1 2 6 5 3 5 0.6 3 0.6 chr1 7 7 1无无0.0 0 0.0 克朗1 8 11 4 9 10 0.5 2 0.5 CHR1 12 19 8 13 18 0.625 5 0.625

(4)箱位设置为"3"的覆盖压实机的输出

注:

  • 6号位置和8号位置之间的区域有3个BP,覆盖范围为零,以防出现可以合理适应 两个相邻的基因座,基因座被分割,额外的非覆盖基被分配给先前的基因座

chr起始结束大小firstcoveredbase lastcoveredbase meancoverednbasecovereddepthsumcoveragefraction CHR1 1 7 3 5 0.42857142857142855 3 0.42857142857142855 CHR1 8 19 12 9 18 0.5833333333334 7 0.5833333333334

输入示例2:

ChR1 1 0 CHR1 2 0 CHR1 3 1 CHR1 4 2 CHR1 5 1 CHR1 6 0 CHR1 7 0 CHR1 8 0 CHR1 9 1 CHR1 10 1 CHR1 11 2 CHR1 12 2 CHR1 13 1 CHR1 14 1 CHR1 15 0 CHR1 16 1 CHR1 17 1 CHR1 18 1 CHR1 19 0

(4)BinSize设置为"0"、NoCoV设置为"1"的CoverageCompacter的输出

chr起始结束大小firstcoveredbase lastcoveredbase meancoverednbasecovereddepthsumcoveragefraction chr1 1 3 3无无0.0 0 0.0 CHR1 4 1 4 4 2.0 1 2 1.0 chr1 5 10 6无无0.0 0 0.0 CHR1 11 12 2 11 2.0 2 4 1.0 chr1 13 19 7无无0.0 0 0.0

未来更新

(1)添加一个可由用户指定的参数,以从输出文件中排除没有覆盖范围的区域。

支架

如有任何问题,请联系"w.woollard@ucl.ac.uk"

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

推荐PyPI第三方库


热门话题
我们应该在测试java代码时模拟黄瓜测试吗。我们应该在多大程度上使用黄瓜?   Hibernate Weblogic 10.3.4 java。lang.NoSuchMethodError:javax/persistence/spi/PersistenceUnitInfo。getValidationMode()Ljavax/persistence/ValidationMode;   java如何在main()中访问私有静态实例变量   java JMockit无法模拟类的公共final字段   java是否可以返回特定控制器操作的输出(html)?   java如何返回正确类型的列表?   rest-OpenUI/Swagger-java-to-API   java组织。springframework。豆。工厂NoSuchBeanDefinitionException或加载ApplicationContext失败   java使用POST将参数从JSP发送到Servlet   java如何监听特定的按钮按下和主视图用户交互?   java如何让gradle在本地maven repo中覆盖库?   如何在Java中“合并”两个URI?   java如何制作一个方法来移动数组中的字符?   使用来自java的命令启动powershell窗口   java垃圾收集器和匿名类   java如何为CellTable(GWT 2.4)中的ImageResourceCell创建PanelPopup?