GC偏好

测序中的GC偏好指的是基因组上GC含量在50%左右的区域更容易被测到,产生的reads更多,这些区域的覆盖度更高,

在高GC或者低GC区域,不容易被测到,产生较少的reads,这些区域的覆盖度更少。

用基因组单位长度的bin中的GC含量作为横坐标,覆盖度作为纵坐标作图,可以明显的看到该趋势。这种趋势在100kb为单位的bin中依然存在。

如图A中可以看出随着GC含量的增加,counts是先增加后减少,bin的大小为10kb。图C可以看出大部分片断的GC含量0.4到0.6之间。

GC偏好也存在其他地方,比如基因编码区内密码子的最后一位,C碱基往往占优势;基因的长度和GC含量成相关性;

Aquifex aeolicus 的基因组整体GC含量是43%,而核糖体RNA操纵子的GC含量是65%。

如图,鸡(Gallus_gallus-5.0)基因组的GC含量与基因密度之间的散点图和拟合曲线,相关性非常明显。

影响

举个例子,

1)在检测拷贝数的时候,GC含量低或者高的区域,其覆盖度小于GC含量中等的,但不意味着仅仅根据测序的覆盖度,就认为GC含量中等的拷贝数比高/低GC含量区域的高。

2)在做RNA测序分析的时候,GC含量高/低的区域reads数少,并不一定说明这个基因的表达量低。

3)在做基因组拼接的时候,因为GC偏好的存在,高/低GC含量的区域被测的少,这些区域的拼接难度就较大。

来源

测序中GC偏好不均衡的结果来源于多个因素,比如对文库进行PCR扩增的时候,cluster簇扩增的时候,测序的时候,不同实验室之间,实验批次之间,不同的样本类型等等。

这些因素都会影响测序数据。

校正

因为GC偏好可能会对特定的分析结果造成影响,放大变异影响真实信息,所以需要校正。有一种简单的校正,就是先统计每个GC含量(0, 1, 2, 3,…, 100%)下的特定bin的平均覆盖度,再计算所有bin的平均覆盖度,用来校正测序得到的覆盖度。

特定bin校正后的覆盖度 = 该bin的原始覆盖度 *(所有bin的平均覆盖度/与该bin的有相同GC含量的所有bin的平均覆盖度)

还有算法计算了每个bin的GC含量与观察到的depth之间的关联性,拟合出一条趋势线,用原始的覆盖度减去该趋势。

结果

有研究表明在需要考虑GC偏好带来的影响的实验中,通过GC校正能显著改善结果。

参考:

Yoon, Seungtai, et al. “Sensitive and accurate detection of copy number variants using read depth of coverage.” Genome research 19.9 (2009): 1586-1592.
Benjamini, Yuval, and Terence P. Speed. “Summarizing and correcting the GC content bias in high-throughput sequencing.” Nucleic acids research 40.10 (2012): e72-e72.
Tilak, Marie-Ka, et al. “Illumina library preparation for sequencing the GC-rich fraction of heterogeneous genomic DNA.” Genome biology and evolution 10.2 (2018): 616-622.
https://en.wikipedia.org/wiki/GC-content
https://www.sciencedirect.com/topics/neuroscience/gc-content

GC偏好的更多相关文章

  1. GC偏好的校正与偏好程度的评估

    在二代测序仪上测出的数据,通常都会表现出测序深度与GC 含量的相关性,称为GC bias. GC bias校正 为了后续生物信息分析更加准确,通常需要做GC bias的校正. 2010 年 steve ...

  2. 10X Genomics vs. PacBio

    10X Genomics已经广泛应用于单细胞测序.组装领域,现在也是火的不行. 10X Genomics原理 通过将来自相同DNA片段(10-100kb)的reads加上相同的barcode,然后在i ...

  3. Pacbio 纯三代组装复活草基因组

    对于植物等真核生物基因组来说,重复序列, 多倍体,高杂合度等特征在利用二代数据进行组装的时候都会有很大的问题: 利用二代数据组装出来的基因组,大多达不到完成图的水准,通常只是覆盖到编码蛋白的基因区域, ...

  4. Java 8 VM GC Tunning Guide Charter 7-8-b

    第七章 并发gc Java 8提供两种并发gc,CMS和G1 Concurrent Mark Sweep (CMS) Collector This collector is for applicati ...

  5. GC参考手册 —— GC 调优(命令篇)

    运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer ...

  6. 46张PPT讲述JVM体系结构、GC算法和调优

    本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.(内嵌iframe,建议使用电脑浏览) 好东西当然要分享,PPT已上传可供下载 ...

  7. C++随笔:.NET CoreCLR之GC探索(4)

    今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize fre ...

  8. C++随笔:.NET CoreCLR之GC探索(3)

    有几天没写GC相关的文章了哈,今天我讲GC的方式是通过一个小的Sample来讲解,这个小的示例代码只有全部Build成功了才会有.地址为D:\coreclr2\coreclr\bin\obj\Wind ...

  9. C++随笔:.NET CoreCLR之GC探索(2)

    首先谢谢 @dudu 和 @张善友 这2位大神能订阅我,本来在写这个系列以前,我一直对写一些核心而且底层的知识持怀疑态度,我为什么持怀疑态度呢?因为一般写高层语言的人99%都不会碰底层,其实说句实话, ...

随机推荐

  1. span 不使用float 靠右对齐且垂直居中

    一般让div 里的span 靠右对齐用的方法比较多的是float:right. 这次由于各种原因我不想用float 先看效果: HTML 部分 <div class="customer ...

  2. Devops(三):Docker常用命令

    列出镜像列表(docker images) [root@master docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello ...

  3. Char.IsDigit与Char.IsNumber的区别

    需要判断Char是否为数字,查看了下MSDN,发现有三种方法: Char.IsDigit (aChar)              指示指定字符串中位于指定位置处的字符是否属于十进制数字类别 Char ...

  4. ISO/IEC 9899:2011 引言

    引言 1.伴随着新的设备以及扩展字符集的引入,可能会将新的特性添加到此国际标准中.在此语言和库条款中的子条款提醒了实现者与程序员可能会与将来所新增特性产生冲突的用法,尽管它们现在本身是合法有效的. 2 ...

  5. 联合主键SQL 联合索引

    联合主键索引 联合索引 ALTER TABLE [dbo].[Tb_Shop] ADD CONSTRAINT [shopno] UNIQUE NONCLUSTERED ( [ShopGid] ASC, ...

  6. Docker 安装 MySQL 并实现远程连接

    获取 MySQL 镜像 docker pull mysql:5.6 查看镜像列表 docker images 启动 MySQL 镜像 docker run -itd -P mysql:5.6 bash ...

  7. PAT 甲级 1075 PAT Judge (25分)(较简单,注意细节)

    1075 PAT Judge (25分)   The ranklist of PAT is generated from the status list, which shows the scores ...

  8. [LeetCode] 409. Longest Palindrome 最长回文

    Given a string which consists of lowercase or uppercase letters, find the length of the longest pali ...

  9. IDEA 2018 搭建 Spring MVC helloworld

    转自https://segmentfault.com/a/1190000017248622 网上看了不少idea搭建SpringMVC Helloworld的例子,但是一个个试下来都没有成功.我把他们 ...

  10. mongoDB杂项

    密码更改:db.changeUserPassword('tank2','test'); 在这里我遇到了一个问题: mongod: error while loading shared librarie ...