17

转-NGS测序的几个基本概念-插入片段等

YGC是我非常喜欢的一个博客,但是之前都是英文,所以我没怎么看,余老师还在R领域很有建树,个人发表了5个R在生信方面的包,我后面有空会一个个试用学习。

本文转自http://ygc.name/2014/08/27/insertion-size/

里面详细解释了NGS测序的几个基本概念,也是我之前一直弄混淆的概念,包括插入片段、单端测序,双端测序,配对测序,contig,scaffold等等

在进行测序的时候,需要将DNA打断,构建library,这些fragment需要接上adaptor,好进行扩增,illumina的测序,可以有single end和paired end两种,分别从一端和两端进行测序。

fragment                  ========================================
fragment + adaptors    ~~~========================================~~~
SE read                   --------->
PE reads                R1--------->                    <---------R2
unknown gap                         ....................

insertion并不是指R1和R2之间的unknown gap,早在NGS之前,当我们在使用ecoli构建载体的时候,这个概念就已经形成,它是adaptors之间的序列。而unknown gap则称之为inner mate:

PE reads      R1--------->                    <---------R2
fragment     ~~~========================================~~~
insert          ========================================
inner mate                ....................


显然我们不希望看到大量的unknown gap,所以要制造短的fragment,而且技术不断发展,测序长度也越来越长,于是可以测通fragment:

fragment          ~~~========================================~~~
insert               ========================================
R1                   ------------------------->                    
R2                                   <-----------------------
overlap                              ::::::::::
stitched SE read     --------------------------------------->

这样R1和R2就有overlap,合并一致序列,就可以得到完整的fragment,使用短的fragment,也就是insertion size比较小的library,测序的结果coverage比较大,因为我们可以测通fragment.

虽然adaptor不会被测序,但如果fragment太短,被读通了,则另一端的adaptor就会被测到。

tiny fragment       ~~~~========================~~~~
insert                  ========================
R1                      -------------------------->                    
R2                   <--------------------------
read-through         !!!                        !!!

如果MiSeq设置正确的话,读通的adaptor是会被切除了,这样就会获得长度不一致的short reads,也可以使用N来替换adaptor序列,这样长度一样,但会在5' end看到很多N。如果没设置好,reads里含有adaptor序列,那么必须要通过软件去除,否则后续的分析都会有问题。

所以insertion size小有个好处,测序的genome coverage高,但是在进行de novo assembly的时候,有一个问题,如果基因组含有比read length还要长的重复元件时,就无法拼接,所以得到的是很多的contigs,它们之间的gap要长于insertion size且无法确定。这个问题是相当普遍的,即使是相对简单的ecoli基因组,也有一定数量的重复元件。

这个问题需要使用大的insertion size进行paired end测序来解决。

fragment + adaptors    ~~~========================================~~~
PE reads                R1--------->                    <---------R2
unknown gap                         ....................

在这种insertion size比较大的情况下,我们可以估计R1和R2之间的距离,只要有一个片段能够被mapped到unique position的话,那么另一个片段的大致位置就可以确定。所以为了达到好的拼接效果,长fragment的library也是必须的,它有可能给出 contigs间的相对位置。

所以理想的情况是使用multiple insert libraries,short-insert library可以保证获得足够的coverage,它可以告诉你contigs之间的序列,但信息是local的,它没办法告诉你怎么拼;而long- insert libary则可以告诉你一些相对global的信息。

2014-08-27-194009_712x380_scrot

在上面这个测试的数据中,加了long-insert libary虽然在coverage上没多少变化,但N50和最大的contig都显著提高,4.5Mb已经覆盖了~98%的ecoli基因组。

- See more at: http://ygc.name/2014/08/27/insertion-size/#sthash.fKmWKoaf.dpuf

17

转录组cummeRbund操作笔记

转录组cummeRbund操作笔记

这是跟tophat和cufflinks套装紧密搭配使用的一个R包,能出大部分文章要求的标准化图片。

一:安装并加装该R包

安装就用source("http://bioconductor.org/biocLite.R") ;biocLite("cummeRbund")即可,如果安装失败,就需要自己下载源码包,然后安装R模块。

转录组cummeRbund操作笔记220

然后把cuffdiff输出的文件目录拷贝到R的工作目录,或者自己设置工作目录

 

二:读取FN目录下面的所有文件。

转录组cummeRbund操作笔记239

可以看到把cuffdiff下面的文件夹所有的文件都读取到了,里面有如下文件,包括genes,isoforms,cds,tss这四种差异情况都读取了。

转录组cummeRbund操作笔记316

 

三:表达水平分布图

转录组cummeRbund操作笔记328

转录组cummeRbund操作笔记330
四、表达水平箱线图

csBoxplot(genes(cuff_data))

转录组cummeRbund操作笔记371
五、画基因表达差异热图

转录组cummeRbund操作笔记386

画出热图如下

转录组cummeRbund操作笔记396

 

六、得到差异的genes,isoforms,TSS,CDS等等

 

  • 得到上调下调基因列表

diffData <- diffData(myGenes )

转录组cummeRbund操作笔记430

转录组cummeRbund操作笔记474

 

只有一百个有表达差异的基因

转录组cummeRbund操作笔记490

 

 

最后贴出一个综合性的代码,算了,太浪费空间了,把整个空间搞得不好看,就不贴了。

这个代码可以自动运行出图;

转录组cummeRbund操作笔记3781

16

转录组edgeR分析差异基因

转录组edgeR分析差异基因

edgeR是一个研究重复计数数据差异表达的Bioconductor软件包。一个过度离散的泊松模型被用于说明生物学可变性和技术可变性。经验贝叶斯方法被用于减轻跨转录本的过度离散程度,改进了推断的可靠性。该方法甚至能够用最小重复水平使用,只要至少一个表型或实验条件是重复的。该软件可能具有测序数据之外的其他应用,例如蛋白质组多肽计数数据。可用性:程序包在遵循LGPL许可证下可以从Bioconductor网站。

一:下载安装该软件

下载安装edgeR这个R包,因为这是一次讲R包的下载,我就啰嗦一点,这种生物信息学的包不同于普通的R包,是需要用biocLite来安装的,命令如下

转录组edgeR分析差异基因304

 

Continue reading

16

转录组HTseq对基因表达量进行计数

转录组HTseq对基因表达量进行计数

一:下载安装该软件

下载htseq这个python模块安装解压包,依赖于很多python的其它安装包及库,模块,我最讨厌python了,在有些电脑上特别难安装,而且服务器还有权限的问题。

解压进入该目录,输入 python setup.py   install  --user  记住,是- - 而不是—

这样只是把这个软件安装到自己的目录

安装完毕后,会出现这两个程序,在自己的python库里面,可以直接调用这两个程序的,我这里它们的路径是 .local/bin ,很奇怪的一个路径,我也是用find命令才找到的

转录组HTseq对基因表达量进行计数451

Continue reading

15

仿写fastqc软件的一些功能-R代码

仿写fastqc软件的一些功能(下)

文件来自于上面perl代码的输出文件,好像算法有点问题,26G的文件居然处理近一个小时才出数据!

仿写fastqc软件的一些功能-下-R代码263

R语言本身自带的画图工具都很丑,懒得说了,可以用ggplot2来重新画一个,不是项目要求没有报酬我就懒得画了,大家面前看看画图原理即可。

Continue reading

14

转录组cufflinks套装的使用

转录组cufflinks套装的使用

cufflinks套装有很多,我们主要使用的只有三个

Cufflinks是用来处理tophat的输出的bam文件然后输出gtf文件

cuffmerge把多个样本的gtf文件合并的,也没啥子用,主要是测多个样本可能会需要

cuffdiff算出分组的bam文件里面的差异基因。

一:下载安装该软件

是二进制版本,找到网址,然后用wget下载,解压即可使用

转录组cufflinks套装的使用428

Continue reading

14

转录组比对软件tophat的使用

转录组比对软件tophat的使用

为什么要用这个软件?:因为转录组reads比对到基因组reads用bwa和bowtie的效果都不够好,所以我们选择tophat

它做了什么?:tophat把测序的转录组的原始reads比对到了参考基因组上面,并且输出了bam(二进制的sam)文件比对结果给我们。(fastq--->bam)

一:下载安装该软件

其实一般的生信服务器自然会有高手给安装好了,你只需调用即可,这里我给大家演示一下如何安装。

wget   http://ccb.jhu.edu/software/tophat/downloads/tophat-2.0.13.Linux_x86_64.tar.gz

Continue reading

14

仿写fastqc软件的部分功能-perl代码

  仿写fastqc软件的部分功能(上)

前面我们介绍了fastqc这个软件的使用方法 http://www.bio-info-trainee.com/?p=95 ,这是一个java软件,但是有些人服务器没有配置好这个java环境,导致无法使用,这里我贴出几个perl代码,也能实现fastqc的部分功能

统一测试文件是illumina的phred33格式的fastq文件,共100000/4=25000条reads,读长都是101个碱基

程序名-fastq2quality.pl

使用命令:perl fastq2quality.pl SRR504517_1.fastq >quality.txt

功能: 把fastq格式的每条原始reads的第四行ascii码质量值,转换为Q值并输出一个矩阵,有多少条reads就有多少行,每条reads的碱基数就是列数。

Continue reading

12

生信菜鸟养成手册

生信菜鸟养成手册

背景:生物小本,懂做一些分子实验,了解一些生物背景知识。

目标:成为生信菜鸟,找到一份生物信息学相关的工作。

1、计算机基础(linux+perl+R 或者 python+matlab)

2、生信基础知识(测序+数据库+数据格式)

3、生信研究领域(全基因组,全转录组,全外显子组,捕获目标区域测序)

4、生信应用领域(肿瘤筛查,产前诊断,流行病学,个性化医疗)

Continue reading

12

Trinity进行转录组组装的使用说明

Trinity进行转录组组装的使用说明

一:下载安装该软件

去官网下载trinity并解压安装   http://trinityrnaseq.github.io/

安装非常简单,一个make即可

这个软件比较大,约150M。所以安装需要一会时间,以下是安装进程日志,可以看出trinity这个软件安装的同时还附带着好几个测序一起安装进来了。

Trinity转录组组装软件说明书452

Continue reading

11

菜鸟建站教程三部曲

菜鸟建站教程三部曲   

门牌号(域名)——房间(主机)——装修(网站源码)

在没有拥有自己网站之前,我曾无数次害怕过这个过程,以为会有各种各样的麻烦,需要学html、sql、php、javascript、Dreamweaver、需要花大量的时间写程序,需要花大笔的金钱去买域名买空间,而且买到域名和空间也不知道还会有哪些步骤,一切的一切都看起来是那么的困难。而今回首,才发现,整个过程居然只有一个小时即可!!!

Continue reading

10

NCBI的taxid简单介绍

 NCBI的taxid简单介绍

物种的信息集合都在它的NCBI的taxid号里面,在NCBI里面关于它的英文介绍地址如下 http://www.ncbi.nlm.nih.gov/guide/taxonomy/ ,NCBI人为的给自然界所有的物种都给了一个编号,这个编号就是taxid,是根据计算机里面树这种数据结构来编码的,其中人类的编号是 9606,7227是果蝇,我们只需要进入这个物种的taxid里面就能看的关于它的一切NCBI存在并且收集好的信息。

NCBI的taxid简单介绍288

 

Continue reading

07

搜索学习其他学者的RNA数据处理流程(包括原始数据、脚本、中间文件)

搜索其他学者的RNA数据处理流程(包括原始数据、脚本、中间文件)

一:原始数据

是谷歌里面无意中搜索到的,是某个物种的RNA数据,不是很大,但是里面有所有的分析流程,非常方便,对原始reads进行了组装,和注释。

http://moana.dnsalias.org/~sgeib/Anth_RNAseq/Run2.1/RawData/

打开网址可以看到raw data的下载链接

QQ截图20150309220349

 

Continue reading

07

阅读文献并下载原始数据知illumina的Chip-seq数据

阅读文献并下载原始数据知illumina的Chip-seq数据

目录

一:阅读文献找到总实验项目

二:在根据实验项目地址找到所有实验数据的下载地址

三:构造脚本并下载

四:用sra-toolkit工具解压

正文

一:阅读文献找到总实验项目

该chip-seq数据其实隶属于一个大的实验项目组,其下载地址如下http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE52964

阅读文献并下载原始数据知illumina的Chip-seq数据482 Continue reading