利用ONT测序检测真核生物全基因组甲基化状态
摘要
甲基化在真核生物基因组序列中广泛存在,其中5mC最为普遍,在真核生物基因组中也有发现6mA。捕获基因组中的甲基化状态的常用技术是全基因组甲基化测序(WGBS)和简化甲基化测序(RRBS),而随着第三代测序技术的完善,ONT单分子纳米孔测序可以从单分子的角度来检出甲基化的胞嘧啶和腺嘌呤电流的变化,从而实现由基因组中的一段序列中检出5mC和6mA,然而精确地从单碱基级别检出5mC和6mA扔具有挑战。本文利用第三代ONT测序技术获得的序列及其电信号来检出真核生物全基因组范围的5mC和6mA甲基化状态。
背景
DNA甲基化主要发生在脱氧核糖核苷酸的第五位的胞嘧啶和第六位的腺嘌呤,前者普遍存在于真核生物,后者在原核生物中广泛存在,也有研究报道6mA存在于真核生物。这样的甲基化状态在ONT测序仪捕捉到的电流信号中,不仅单碱基的电流会发生改变,而且其上下文的一段基因组序列也会发生改变。基于此,一些生物信息学软件先后被开发出来针对于这两种甲基化的检出有各自的优缺点。有研究指出在真核基因组中检出5mC和6mA准确度较高的软件分别为nanopolish[1]和tombo[2]。
利用nanopolish检出真核生物基因组中5mC的甲基化位置
材料和方法
利用minION平台对目标生物血液提取的DNA不打断建库并进行全基因组测序,获得12G序列及其电信号文件。安装nanopolish(v0.13.2)。
步骤
- 建立索引
nanopolish index -d fast5_files/ output.fastq
- 比对
minimap2 -a -x map-ont reference.fasta output.fastq | samtools sort -T tmp -o output.sorted.bam
samtools index output.sorted.bam
- Calling methylation
nanopolish call-methylation --progress -q cpg -t NCPU --verbose -r reads.fastq -b output.sorted.bam -g reference_genome.fasta > nanopolish_call_methylation.tsv
- 筛选高置信度的甲基化和未甲基化位点
calculate_methylation_frequency.py[3]
nanopore-methylation-utilities/mtsv2bedGraph.py[4]
scripts/calculate_methylation_frequency.py -c 2 methylation_calls.tsv > methylation_frequency.tsv
# or
python nanopore-methylation-utilities/parseMethylbed.py frequency -i methylation_calls.tsv -o methylation_calls_freq.tsv --verbose -m cpg -u 2 -l -2
- IGV可视化或UCSC可视化
IGV可视化[5]
python nanopore-methylation-utilities/mtsv2bedGraph.py --verbose -c 2 -i methylation_calls.tsv -q cpg -g reference_genome.fasta | sort -k1,1 -k2,2n | bgzip > methylation_calls.bed.gz
tabix -p methylation_calls.bed.gz
python nanopore-methylation-utilities/convert_bam_for_methylation.py -t 100 --verbose --remove_poor -c methylation_calls.bed.gz -f reference_genome.fasta -b output.sorted.bam | samtools sort -o methylation_calls.bed.remove_no_or_poor_methylation_reads.bam
# if all reads' coverage was needed, remap all reads to reference to find out
samtools index methylation_calls.bed.remove_no_or_poor_methylation_reads.bam
# now bam file can be loaded to igv via their bisulfite mode to see methylation sites and unmethylation sites.

利用ONT测序检测真核生物全基因组甲基化状态的更多相关文章
- 全基因组测序 Whole Genome Sequencing
全基因组测序 Whole Genome Sequencing 全基因组测序(Whole Genome Sequencing,WGS)是利用高通量测序平台对一种生物的基因组中的全部基因进行测序,测定其 ...
- cfDNA(circulating cell free DNA)全基因组测序
参考资料: [cfDNA专题]cell-free DNA在非肿瘤疾病中的临床价值(好) ctDNA, cfDNA和CTCs有什么区别吗? cfDNA你懂多少? 新发现 | 基因是否表达,做个cfDNA ...
- 全基因组测序 从头测序(de novo sequencing) 重测序(re-sequencing)
全基因组测序 全基因组测序分为从头测序(de novo sequencing)和重测序(re-sequencing). 从头测序(de novo)不需要任何参考基因组信息即可对某个物种的基因组进行测序 ...
- PacBio全基因组测序和组装
PacBio公司的业务范围也就5个(官网): Whole Genome Sequencing Targeted Sequencing Complex Populations RNA Sequencin ...
- WGS 全基因组测序数据分析
1. DNA测序技术 https://www.jianshu.com/p/6122cecec54a 2.FASTA和FASTQ文件格式 https://www.jianshu.com/p/50ff30 ...
- GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing
现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...
- 如何鉴定全基因组加倍事件(WGD)
目前鉴定全基因组加倍(whole-genome duplication events)有3种 通过染色体共线性(synteny) 方法是比较两个基因组的序列,并将同源序列的位置绘制成点状图,如果能在点 ...
- 【GWAS文献解读】疟原虫青蒿素抗药性的全基因组关联分析
英文名:Genetic architecture of artemisinin-resistant Plasmodium falciparum 中文名:疟原虫青蒿素抗药性的全基因组关联分析 期刊:Na ...
- Genome-wide Complex Trait Analysis(GCTA)-全基因组复杂性状分析
GCTA(全基因组复杂性状分析)工具开发目的是针对复杂性状的全基因组关联分析,评估SNP解释的表型方差所占的比例(该网站地址:http://cnsgenomics.com/software/gcta/ ...
随机推荐
- 下载: www.bitmover.com/lmbench,最新版本3.0-a9
软件说明: lmbench是个用于评价系统综合性能的多平台开源benchmark,能够测试包括文档读写.内存操作.进程创建销毁开销.网络等性能,测试方法简单.Lmbench是个多平台软件,因此能够对同 ...
- 源码安装Python3
源码安装Python3 一.安装Python3需要的依赖包 [root@localhost ~]# yum install -y gcc make wget openssl openssl-devel ...
- 【待写Java线程之线程终止 Interrupt 】
参考:https://bbs.csdn.net/topics/280082639 interrupt()方法不会中断一个正在运行的线程.这一方法实际上完成的是,在线程受到阻塞时抛出一个中断信号,这样线 ...
- MyBatis 映射文件详解(六)
MyBatis 配置文件类型 MyBatis配置文件有两种类型,如下: 全局配置文件(如 mybatis-config.xml) Mapper XML 映射文件(如 UserMapper.xml) 上 ...
- INFJ名言
财富是由什么构成的? 按世俗的观点,就是占有金钱和财宝. 但如果我们用除金钱之外的其他方式来衡量财富, 那么许多在物质上匮乏的人在精神上却是富有的, 许多在物质上富有的人在精神上却是匮乏的. The ...
- vue相关面试知识点总结
vue v-for循环中为什么要用key?为什么index不能作为key? key 的特殊 attribute 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes.如 ...
- SSM框架的配置整合(包含配置文件代码)
由于SSM框架学习都要去网上或者以前的项目拷贝相同的代码,所以我在此把自己用到的配置文件全放在这里,帮助自己,帮助别人 首先开始前导入依赖和处理静态资源导出问题 <dependencies> ...
- MongoDB学习笔记:Python 操作MongoDB
MongoDB学习笔记:Python 操作MongoDB Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...
- ELK技术栈之-Logstash详解
ELK技术栈之-Logstash详解 前言 在第九章节中,我们已经安装好Logstash组件了,并且启动实例测试它的数据输入和输出,但是用的是最简单的控制台标准输入和标准输出,那这节我们就来深入的 ...
- GO语言异常处理03---自定义异常
package main import ( "fmt" "time" ) /* type error interface { Error() string } ...