blast+与blast的差异

很早就打算写一下blast+的差异,因为用的少了,所以草稿了很久,无意看到一篇介绍这方面的文章,写的挺好,就转载一下,作为补充了。

BLAST已经成为序列比对软件代名词,且其词性也已经开始变化,诸如BLASTing之类的词汇在各种论文中已是屡见不鲜,可见其影响之深,使用之广,如同分子生物学领域中的PCR。

自从1997年释出现有的BLAST版本后,这十多年来,BLAST经历了多次的升级,功能、性能一版比一版好,相应的其Source code也被修改的凌乱不堪,难于维护,极大的限制了对BLAST进一步 的修改、功能提升。再加上NCBI C++ Toolkit项目的开展,促使BLAST的维护者们决定从头开始,重新编写 BLAST代码。

2009年7月,NCBI发布了BLAST升级版——BLAST+,BLAST+使用了BLAST的核心算法,延 续了BLAST的优势功能,发展并增强了如BLAST的fastacmd程序,新增了如update_blastdb.pl等 程序。下面简单列举此次修改的主要内容: 继续阅读

使用速铂Aspera下载NGS数据

关于速铂Aspera

速铂Aspera是一套商业的高速文件传输解决方案,随着高通量数据的大量产生,从而对于大文件快速传输的需求,开始应用到生物领域,目前NCBI、EBI的SRA库都提供这样的服务。

传统的FTP、HTTP等数据传输协议都是基于TCP的,TCP在远距离数据传输中存在一些先天的不足,文件越大、距离越远,其丢包、延时等问题对于传输速度的影响就越大。速铂Aspera通过应用了一个名为fasp™ 的底层技术,替换了传统的TCP传输协议。它彻底克服了TCP固有瓶颈,实现了在各种共享和私有网络环境中传输速度的最大化。这种技术可以获得完美的传输效率,不为网络延迟和丢包所限制。并且,用户享有对传输速度以及不同传输流之间带宽共享的无以伦比的控制。不管网络距离和动态性能如何,即便是在最困难的网络条件下(例如卫星,无线和洲际远程链接),文件传输时间仍然可以得到保障。FASP具有内置的,完整的安全性,包括连接节点安全验证,传输中数据加密以及数据完整性验证。与FTP传输相比快了3-184倍。它可以灵活地部署在C/S 或B/S构架的应用上,并利用普通的IP网络最大限度地利用带宽进行高效传输。同时,它也有着极好的跨平台性,支持几乎所有的主要操作系统。该软件同时也 包含一种文件接力技术,使得在传输大量极小文件时,其效率与传输单个大尺寸文件有着相同的效率与速度。

一句话,远距离,大文件,Aspera优势巨大。

客户端的下载与安装

即便Aspera是商业软件,但是作为客户应用方(相对于NCBI),我们使用其客户对进行数据的上传与下载是不用支付费用的。

  • Aspera Connect下载, 下载地址:http://www.asperasoft.com/downloads,根据不同的操作系统,下载相应的版本。注意下载的是Aspera Connect。Aspera Connect
  • 安装,windows下直接双击,下一步,安装,注意安装目录有别与常规软件,安装目录为C:\Users\[usename]\AppData\Local\Programs\Aspera\Aspera Connect。linux下
sh aspera-connect-xx-linux-64.sh

浏览器下使用Aspera下载SRA数据(win 7) 继续阅读

RNA-seq拼接结果数据提交NCBI

RNA-seq的拼接结果也可以向NCBI提交,第一次提交,还是费了不少事,这里简单总结一下。RNA-seq的拼接结果应该提交到TSA库,TSA全称Transcriptome Shotgun Assembly Sequence Database,TSA is an archive of computationally assembled sequences from primary data such as ESTs, traces and Next Generation Sequencing Technologies.

对于注释信息的要求

TSA数据提交前,首先需要将原始的序列提交到SRA数据库,与提交普通核酸、EST类似,TSA还需要提供DBlink关于BioProject、SRA接收号、BioSample;提供拼接信息以及对于拼接过程的描述。

对于序列的要求

  • 必须是原始的测序结果的拼接数据
  • 需要去除载体或者测序引物
  • 序列长度不能少于200bp
  • 序列不能包括太多的N,少于10%或者小于14个N 继续阅读

Fastq格式详解

FASTQ是基于文本的,保存生物序列(通常是核酸序列)和其测序质量信息的标准格式。其序列以及质量信息都是使用一个ASCII字符标示,最初由Sanger开发,目的是将FASTA序列与质量数据放到一起,目前已经成为高通量测序结果的事实标准。

格式说明

FASTQ文件中每个序列通常有四行:

  1. 序列标识以及相关的描述信息,以‘@’开头;
  2. 第二行是序列
  3. 第三行以‘+’开头,后面是序列标示符、描述信息,或者什么也不加
  4. 第四行,是质量信息,和第二行的序列相对应,每一个序列都有一个质量评分,根据评分体系的不同,每个字符的含义表示的数字也不相同。
例如:
@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
+
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65

继续阅读

paired-end reads的拼接

Velvet中paired-end reads的拼接

文件格式

要将两头测序(paired-end)的reads放到同一个文件当中,fastq格式,必须成对的依次放置reads [interleaved],velvet是成对读取的,另外Velvet假设来自两头read是反向互补的,如果不是,需要用反向互补序列来代替第一个read。Fastq格式中paired-end reads的编号相同,但是其有/1或者/2的后缀,通过这种方式来标示paired-end reads。

如果两端测序的reads放在不同的两个文件中,可以使用Velvet提供的perl脚本shuffleSequences fasta.pl进行转换合并,命令格式如下:

> ./shuffleSequences_fasta.pl forward_reads.fa reverse_reads.fa output.fa

低质序列过滤

在拼接前,首要要进行去除低质序列、接头等预处理,比如使用FASTX-Toolkit中的fastq_quality_filter去除低质序列:

fastq_quality_filter  -q 20 –p 100 -i s_1_1_sequence.txt -o s_1_1_sequence.txt_filtered_q20_p100.fastq
fastq_quality_filter  -q 20 –p 100 -i s_1_2_sequence.txt -o s_1_2_sequence.txt_filtered_q20_p100.fastq

这样势必带来一个问题,有些paired-end的前面序列被剔除,有些后面的序列被剔除,paired-end序列无法成对的错落出现,下面需要做的就是必须将单独的reads挑出来,方法有很多,下面是其中一个: 继续阅读

文章来源数据拼接的一下实践

进来发现许多文章随之发表的都是其原始的二代测序的结果,很少将拼接好的序列一并发布,当然做可能有许多原因,比如编辑没有要求、拼接结果是此生数据、或者增加了工作量等等,所以需要用数据,还得拼一把,当然也是好事,可以用新的方法和文章中的处理方法进行比较,可以对于结果有一个验证。许多时候,我们自己的测序的拼接结果都是公司一起做的,我们拿到的就是拼接好的结果。而又或者对于自己的测序数据各方面了解的都非常清楚,完全下载的数据,如何进行拼接,需要注意什么样的问题,如何进行结果的比较,这里进行一些总结。以一篇以测序数据拼接与数据分析为主题的文章为例(Illumina RNA-seq测序),从NCBI SRA下载数据对其进行拼接,使用的拼接软件是velvet。

继续阅读

SAM格式定义

SAM是一种序列比对格式标准, 由sanger制定,是以TAB为分割符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,当然也可以表示任意的多重比对结果。

不同的软件,不同的时期,不同的研究方向,都会创建一种或者多种格式标准,当然根据当时的需要,创建符合需求的标准,也是最容易的事情,而反过来想要真正的理解标准,也必须理解为什么要创建这样的标准,解决什么样的需要。我前面的有篇文章已经对于现有的多重比对的格式进行总结,但其更多的站在比较基因组学的角度。当我们去了解sam标准格式是什么的时候,就要思考既然以及有了这么多得标准,为什么还要定义SAM标准,当然拿所有的格式进行比较也并非易事,但是简单的对比,就可以了解其中一二,比如aln格式,是比对视图化的展示,存储的信息不够结构化,无法方便的作为另外程序的输入;表示信息的有限性,如果100个多重比对序列放到一个文件中,查看维护就会非常困难;还有些格式标准挺强大,但是太繁琐,同时不够灵活。那么反过来就是SAM格式的优点,那么SAM如何做到这一点的呢? 继续阅读

Gbrowse权限管理

或许你的数据没有发布,你只想部分人员访问你的Gbrowse,这就涉及到了权限管理,GBrowse提供了多种机制,你可以限制访问者的主机、IP地址、域名,或者只有通过用户名密码登陆后才可以访问。
Gbrowse用户登录

Gbrowse 2.20以上的版本提供了以下三种权限管理的方式:

  1. 通过Apache提供的权限管理机制
  2. 构建自己的用户账户数据库
  3. 通过插件机制

继续阅读

二代测序数据预处理与分析

Next generation sequencing (NGS)

主要的测序技术及其产生数据的差异

常使用的工具列表

  • 质量控制Quality Control:FastQC、Fastx-toolkit
  • 拼接Aligner:BWA,Bowtie, Tophat, SOAP2
  • Mapper:Tophat, Cufflinks
  • 基因定量 Gene Quantification: Cufflinks, Avadis NGS
  • 质量改进 Quality improvement: Genome Analysis Toolkit(GATK)
  • SNP: Unified Genotyper,Glfmultiple, SAMtools, Avadis NGS
  • CNV: CNVnator
  • Indel: Pindel, Dindel, Unified Genotyper, Avadis NGS
  • Mapping to a gene: Cufflinks, Rsamtools, Genomic Features

继续阅读

KEGG Pathway数据结构

实体关系图

KEGG实体关系图

实体

名称 定义
Pathway specifies graph information stored in the KEGG pathway map 代谢通路图 path:ko00010
Entry The entry element contains information about a node of the pathway. 节点信息
Component a subelement of the entry element, and is used when the entry element is a complex node; namely, when the type attribute value of the entry element is “group”. 组件,一个复杂的节点,比如节点为Group类型时,包含的节点,可以存放到组件中
Graphics a subelement of the entry element, specifying drawing information about the graphics object. 节点在图位信息
Relation relationship between two proteins (gene products) or two KOs (ortholog groups) or protein and compound, which is indicated by an arrow or a line connecting two nodes in the KEGG pathways. 节点之间的关系
Subtype more detailed information about the nature of the interaction or the relation. 节点之间关系的更详细信息
Reaction chemical reaction between a substrate and a product indicated by an arrow connecting two circles in the KEGG pathways. 在KEGG通路中,用两个圆圈加箭头表示底物与产物之间的化学反应。 rn:(accession)rn:R02749
Substrate the substrate node of this reaction. 反应的底物 cpd:(accession)
gl:(accession)
Product the product node of this reaction. 产物 cpd:(accession)
gl:(accession)
Alt the alternative name of its parent element. 别名 cpd:(accession)
gl:(accession)

继续阅读