存文本文件及其字符编码

网上也有许多关于纯文本的讨论,如果在搜索“乱码”,更是不尽其数。如果你开始命令行,开始编码,开始数据分析,开始操作中文,存文本及其字符编码便是最基础的东西。而往往基础的东西,真正弄懂更为不易,而或者你已经有了多年相关的经验,也不一定搞清楚了。

什么是存文本文件?

存文本由可打印字符组成,人可以直接阅读和理解其形式。

纯文本并非意味着文本是无结构的,HTML、SGML、XML等都是有良好结构定义的存文本,与直接的二进制编码相比,纯文本所处的层面往往更高。大多数二进制格式的问题在于,理解数据所必须的语境与数据本身是分离的,没有应用逻辑对其进行解释,这些数据绝对没有意义,但是通过存文本,可以获得自描述的、不依赖创建它的应用的数据流。对于大多数二进制文件,要成功的进行解析,你必须了解整个格式的所有细节。

缺点:

  • 与压缩的二进制格式相比,存储纯文本所需空间更多
  • 要解释与处理纯文本文件,计算上的代价可能更昂贵

优点:

Fastq格式详解

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

格式说明

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

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

Continue reading

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

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

Continue reading

SAM格式定义

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

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

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)

Continue reading

Genbank格式转换为GFF3格式

在处理数据的过程中,遇到最多的恐怕就是Genbank格式转换为GFF3格式,推荐使用脚本genbank2gff3.pl,官方脚本,速度快,使用灵活,转换的格式较为标准,注意要更新到最新的版本,先前的版本ID标志符使用基因的名称,这样会产生一个比较严重的问题,GBrowse对于有重复的基因显示错误,全部当做同一个基因。用法:

genbank2gff3.pl [options] filename(s)
   Options:
        --dir     -d  path to a list of genbank flatfiles GB格式文件所在的目录
        --outdir  -o  location to write GFF files 转换的GFF3文件保存的目录
        --zip     -z  compress GFF3 output files with gzip 转换的GFF3数据进行压缩
        --summary -s  print a summary of the features in each contig
        --filter  -x  genbank feature type(s) to ignore 过滤掉某些类型的feature
        --split   -y  split output to seperate GFF and fasta files for 
                      each genbank record  Genbank中每条记录单独
        --nolump  -n  seperate file for each reference sequence
                      (default is to lump all records together into one
                       output file for each input file)
        --ethresh -e  error threshold for unflattener
                      set this high (>2) to ignore all unflattener errors
        --help    -h  display this message

Continue reading

多重比对序列的格式及其应用

这里对多重序列比对格式(Multiple sequence alignment – MSA)进行总结。在做系统演化分析、序列功能分析、基因预测等,都需要涉及到多重序列比对。特别是当需要用不同软件对多重比对序列进行批量操作时,会遇到各种的格式,而这些格式是如何产生的,有什么区别,格式之间如何转换,从哪里可以下载到相关的格式序列,不同的格式又有什么特殊的用途等,本篇文章将就这些问题进行总结与讨论。因为涉及内容较多,不足之处,欢迎大家补充或者批判。

生物信息学的基础是基于这样的一个假设:序列相似,结构相似,功能相似。所以相似的一组序列,就可能同属于一个基因家族,而这样的一组序列相似的部分,就可能使其功能之所在,称其为结构域。这是对于基因家族分类的一种方式,将结构与功能进行联系,从而实现从结构预测功能(序列称为一级结构)。

多重序列数据分析流程
Continue reading

GFF格式说明

gff格式是Sanger研究所定义,是一种简单的、方便的对于DNA、RNA以及蛋白质序列的特征进行描述的一种数据格式,比如序列的那里到那里是基因,已经成为序列注释的通用格式,比如基因组的基因预测,许多软件都支持输入或者输出gff格式。目前格式定义的最新版本是版本3。原始定义见SONG website
gff是存文本文件,由tab键隔开的9列组成,以下是各列的说明: Continue reading