搜索
查看: 8562|回复: 19

生信人必会数据格式持续收集

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2016-9-1 17:49:13 | 显示全部楼层 |阅读模式
最常见的就是fastq,fasta,sam,bam,vcf,gff,gtf,bed,MAF~~~~啦!
还有很多是对应特殊的软件工具而创造的数据格式,只是因为某些软件特别出名,所以它的数据格式也成了必须了解的基础知识!





上一篇:生信人必会经典数据库NCBI-UCSC-ENSEMBL~~~
下一篇:生信人必须了解的各种ID表示方式
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 06:53:33 | 显示全部楼层
vcf 格式

vcf(variant calling format)用来表示突变的信息。

vcf格式以两部分组成。

第一部分:头行(vcf header),以##开头,有文件格式,使用软件信息,参考序列信息,重叠群(contig)的相关信息(拼接时reads之间的overlap区域)等等。

第二部分:具体的突变信息,共有八列。

1 染色体名称(chromosome),哪一个参考序列上发现了突变,如MAL1

2 发生突变的位置,以1开始计算,如265854

3 突变的ID

4 参考序列上的碱基,如T

5 发生突变的碱基,如C

6 发生突变的碱基质量,如6.2

7 过滤后的状态

8 额外的信息

[Bash shell] 纯文本查看 复制代码
##fileformat=VCFv4.1
##samtoolsVersion=0.1.19-44428cd
##reference=file://3D7.version2.1.4.fasta
##contig=<ID=MAL1,length=643292>
##contig=<ID=MAL10,length=1687655>
##INFO=<ID=DP,Number=1,Type=Integer,Description="Raw read depth">
##INFO=<ID=DP4,Number=4,Type=Integer,Description="# high-quality ref-forward bases, ref-reverse, alt-f
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
##FORMAT=<ID=GL,Number=3,Type=Float,Description="Likelihoods for RR,RA,AA genotypes (R=ref,A=alt)">
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="# high-quality bases">
##FORMAT=<ID=DV,Number=1,Type=Integer,Description="# high-quality non-reference bases">
##FORMAT=<ID=SP,Number=1,Type=Integer,Description="Phred-scaled strand bias P-value">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="List of Phred-scaled genotype likelihoods">
#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT  cam10.sorted.bam
MAL1    265854  .       T       C       6.2     .       DP=37;VDB=2.699794e-03;RPB=-2.646189e+00;AF1=0.4999;AC1=1;DP4=5,3,9,0;MQ=36;FQ=8.65;PV4=0.082,2.4e-10,0.18,0.37 GT:PL:DP:SP:GQ  0/1:35,0,127:17:11:36


参考:http://www.iwhgao.com/?p=1304

https://en.wikipedia.org/wiki/Variant_Call_Format





回复 支持 3 反对 0

使用道具 举报

8

主题

55

帖子

336

积分

版主

Rank: 7Rank: 7Rank: 7

积分
336
发表于 2016-9-8 12:36:05 | 显示全部楼层
本帖最后由 dulunar 于 2016-9-8 12:37 编辑

我直接传一个文件吧,我昨晚做的一个ppt~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我的微博:dulunar
回复 支持 1 反对 0

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 04:38:56 | 显示全部楼层
本帖最后由 bioinfo何婷 于 2016-9-7 06:15 编辑

fastq格式


fastq格式也是文本格式。但是它有对应序列字符的质量分数,出于简洁的目的用ASCII字符来表示,所以fastq格式常用于高通量测试数据的存储。

fastq格式常以四部分组成。

第一部分:以 @ 开始紧接着是序列的标识符和可选择的描述信息,和fasta格式的头行很相似。

第二部分:是原始序列信息。

第三部分:以 + 开始,后面可再接与第一部分的相同的序列标识符或者描述信息。

第四部分:以ASCII字符表示第二行碱基序列的测序质量。! 表示最低的质量而 ~ 表示最高质量。

[Bash shell] 纯文本查看 复制代码
@IL38_2670:1:42:1707:2025/2
CTTTTTTTTTTTTTTTTTTTTTTTTTGTTCTTTTTTTCTTTTTTTTTTTTTTTT
+
())+22;;99-A0B=/=--<=?4+;*=*+A,A<?992()==9<9---=9?A@>@


附:格式转换代码:

fastq转换fasta格式:

[Bash shell] 纯文本查看 复制代码
zcat input_file.fastq.gz | awk 'NR%4==1{printf ">%s\n", substr($0,2)}NR%4==2{print}' > output_file.fa


参考:https://en.wikipedia.org/wiki/FASTQ_format






回复 支持 1 反对 0

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 03:59:24 | 显示全部楼层
本帖最后由 bioinfo何婷 于 2016-9-7 05:09 编辑

fasta 格式

fasta格式是生物信息最基本的文本格式,用来展示碱基序列或者氨基酸序列。fasta格式的简洁性有利于文本编辑工具和脚本语言如:Python,Rudy,Perl的编辑操作。

在fasta文件的第一行(header line)通常以";" 或者 ">"开头,用来分割不同的序列。

[Bash shell] 纯文本查看 复制代码
>MAL1
CTAAACCTAAACCTAAACCCTGAACCCTAAACCCTAAACCCTGAACCCTAAACCCTGAAC
CCTGAACCCTAAACCCTGAACCCTAAACCCTGAACCCTGAACCCTAAACCCTAAACCCTA

下面的代码中,

第一部分:NCBI用seqID定义了一个唯一的标识在header line并且指出了序列来源的数据库等信息,即 >gi|55417888|dbj|BA000005.3|。一个空格符之后的 Homo sapiens genomic DNA, chromosome 21q 为描述信息。

第二部分:即是氨基酸或者碱基序列。

[Bash shell] 纯文本查看 复制代码
>gi|55417888|dbj|BA000005.3| Homo sapiens genomic DNA, chromosome 21q
CATGTTTCCACTTACAGATCCTTCAAAAAGAGTGTTTCAAAACTGCTCTATGAAAAGGAATGTTCAACTC
TGTGAGTTAAATAAAAGCATCAAAAAAAAGTTTCTGAGAATGCTTCTGTCTAGTTTTTATGTGAAGATAT


参考:https://en.wikipedia.org/wiki/FASTA_format

回复 支持 1 反对 0

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 02:15:16 | 显示全部楼层
小白前来补充,边巩固一遍知识,边整理。
回复 支持 反对

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 06:13:21 | 显示全部楼层
本帖最后由 bioinfo何婷 于 2016-9-7 06:14 编辑

sam 格式

sam格式是文本格式,用来表示短序列片段比对参考序列片段的结果(reads map reference genome)。(Heng Li大侠出品!必属佳品!)在高通量测序时经常使用。

sam格式以两部分组成。

第一部分:头行(header line)以 @ 开始,紧接着一个或两个字母,比如下列代码中的 SQ 表示参考序列信息,SN表示参考序列名称,LN表示参考序列长度,PG表示软件,ID表示项目记录号(唯一),PN表示软件名称,VN表示软件版本,CL表示命令行等等(全部解释信息可见参考链接)。

    第二部分:比对结果部分(alignment section),每一行表示片段比对信息,共有十一列。

        1 查询序列名称(query template name),是字符串类型,即下列代码的 IL38_2670:1:42:1707:2025  
        2 标识(flag)以整数的形式表示比对的结果,如 16
        3 参考序列的名称(reference sequence name),如 MAL1
        4 第一个碱基比对上的位置(position),没有比对上用0表示,比对上了从1开始计数,如 153717
        5 比对质量(mapping quality),用-10log 10 Pr{mapping position is wrong}计算,粗略近似为从0开始的整数,如:0
        6 CIGAR字符串,是比对的详细信息,使用数字加字母表示比对结果,如31M1D23M 表示31个比对上了1个缺失了最后23个比对上了(还有I表示相对 参考序列是插入的碱基,N跳过了这个区域??(什么叫skip掉?不懂求大神解释和deletion有什么区别),P有缺口等等)
        7 测序中下一个短片段比对上参考序列的名称,没有用*表示,和上一个相同用=表示,如下列代码的*
        8 测序中下一个短片段比对上参考序列的位置,没有用0表示,如下列代码的0
        9 序列模板长度(signed observed template length),如果同一个片段都比对上了同一个参考序列,为最左边的碱基位置到最右边的碱基位置(左为正,右为负),当是single-segment比对上或者不可用时记为0
        10 短序列(reads/segments)的信息,如下图中的AAAAAAAAAAAAAAAAGAAAAAAAGAACAAAAAAAAAAAAAAAAAAAAAAAAAG
        11 比对的质量和fastq文件中记录的相同,如下图的@>@A?9=---9<9==)(299?<A,A+*=*;+4?=<--=/=B0A-99;;22+))(
        最后还有可以选择的信息用TAG:TYPE:VALUE表示

[Bash shell] 纯文本查看 复制代码
@SQ     SN:MAL1 LN:643292
@SQ     SN:MAL10        LN:1687655
@SQ     SN:MAL11        LN:2038337
@SQ     SN:MAL12        LN:2271477
@SQ     SN:MAL13        LN:2895605
@SQ     SN:MAL14        LN:3291871
@SQ     SN:MAL2 LN:947102
@SQ     SN:MAL3 LN:1060087
@SQ     SN:MAL4 LN:1204112
@SQ     SN:MAL5 LN:1343552
@SQ     SN:MAL6 LN:1418244
@SQ     SN:MAL7 LN:1501717
@SQ     SN:MAL8 LN:1419563
@SQ     SN:MAL9 LN:1541723
@PG     ID:bwa  PN:bwa  VN:0.7.12-r1039 CL:/export/common/programs/bwa-0.7.12 samse -f cam10.sam 3D7.version2.1.4.fasta cam10.sai cam10.fastq
IL38_2670:1:42:1707:2025        16      MAL1    153717  0       54M     *       0       0       AAAAAAAAAAAAAAAAGAAAAAAAGAACAAAAAAAAAAAAAAAAAAAAAAAAAG  @>@A?9=---9<9==)(299?<A,A+*=*;+4?=<--=/=B0A-99;;22+))(  XT:A:R  NM:i:2  X0:i:3  X1:i:2  XM:i:2  XO:i:0  XG:i:0  MD:Z:27A17G8



参考:http://samtools.github.io/hts-specs/SAMv1.pdf
回复 支持 反对

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 06:24:58 | 显示全部楼层
bam 格式

bam是sam的二进制格式,为了减少sam文件的储存量。

附格式转换:

sam格式转换成bam格式:

[Bash shell] 纯文本查看 复制代码
samtools view -bS toy.sam > toy.bam


回复 支持 反对

使用道具 举报

0

主题

4

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2016-9-7 10:12:59 | 显示全部楼层
bioinfo何婷 发表于 2016-9-7 06:24
bam 格式

bam是sam的二进制格式,为了减少sam文件的储存量。

微博粉丝前来顶你~加油共勉
回复 支持 反对

使用道具 举报

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
 楼主| 发表于 2016-9-7 11:34:51 | 显示全部楼层
ws34sd 发表于 2016-9-7 10:12
微博粉丝前来顶你~加油共勉

(*@ο@*) 哇~微博居然还有这样的效果,好厉害!
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复 支持 反对

使用道具 举报

10

主题

59

帖子

269

积分

版主

Rank: 7Rank: 7Rank: 7

积分
269
发表于 2016-9-7 23:38:58 | 显示全部楼层
ws34sd 发表于 2016-9-7 10:12
微博粉丝前来顶你~加油共勉

老感动了!一起加油!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树    

GMT+8, 2019-6-16 19:38 , Processed in 0.037938 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.