NGS之数据格式

举报
DrugAI 发表于 2021/07/15 04:20:55 2021/07/15
【摘要】 生物信息中常见的几种数据格式有:fasta、fastq、bam、sam、vcf、bed、gff。 参考:http://www.biotrainee.com/thread-42-1-1.html FASTQ 参考:https://en.wikipedia.org/wiki/FASTQ_format fastq格式是文本格式。它有对应序列字符的质量分数,出于简洁的目的用AS...

生物信息中常见的几种数据格式有:fasta、fastq、bam、sam、vcf、bed、gff。

参考:http://www.biotrainee.com/thread-42-1-1.html

FASTQ

参考:https://en.wikipedia.org/wiki/FASTQ_format
fastq格式是文本格式。它有对应序列字符的质量分数,出于简洁的目的用ASCII字符来表示,所以fastq格式常用于高通量测试数据的存储。

fastq格式常以四部分组成。

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

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

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

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


  
  1. @IL38_2670:1:42:1707:2025/2
  2. CTTTTTTTTTTTTTTTTTTTTTTTTTGTTCTTTTTTTCTTTTTTTTTTTTTTTT
  3. +
  4. ())+22;;99-A0B=/=--<=?4+;*=*+A,A<?992()==9<9---=9?A@>@

fastq转换fasta格式:

zcat input_file.fastq.gz | awk 'NR%4==1{printf ">%s\n", substr($0,2)}NR%4==2{print}' > output_file.fa
 

FASTA


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

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


  
  1. >MAL1
  2. CTAAACCTAAACCTAAACCCTGAACCCTAAACCCTAAACCCTGAACCCTAAACCCTGAAC
  3. CCTGAACCCTAAACCCTGAACCCTAAACCCTGAACCCTGAACCCTAAACCCTAAACCCTA

下面的代码中,

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

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


  
  1. >gi|55417888|dbj|BA000005.3| Homo sapiens genomic DNA, chromosome 21q
  2. CATGTTTCCACTTACAGATCCTTCAAAAAGAGTGTTTCAAAACTGCTCTATGAAAAGGAATGTTCAACTC
  3. TGTGAGTTAAATAAAAGCATCAAAAAAAAGTTTCTGAGAATGCTTCTGTCTAGTTTTTATGTGAAGATAT

SAM


参考:http://samtools.github.io/hts-specs/SAMv1.pd
sam格式是文本格式,用来表示短序列片段比对参考序列片段的结果(reads map reference genome)。在高通量测序时经常使用。

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表示。

BAM


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

附格式转换:

sam格式转换成bam格式:

samtools view -bS toy.sam > toy.bam
 

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 额外的信息


  
  1. ##fileformat=VCFv4.1
  2. ##samtoolsVersion=0.1.19-44428cd
  3. ##reference=file://3D7.version2.1.4.fasta
  4. ##contig=<ID=MAL1,length=643292>
  5. ##contig=<ID=MAL10,length=1687655>
  6. ##INFO=<ID=DP,Number=1,Type=Integer,Description="Raw read depth">
  7. ##INFO=<ID=DP4,Number=4,Type=Integer,Description="# high-quality ref-forward bases, ref-reverse, alt-f
  8. ##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
  9. ##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
  10. ##FORMAT=<ID=GL,Number=3,Type=Float,Description="Likelihoods for RR,RA,AA genotypes (R=ref,A=alt)">
  11. ##FORMAT=<ID=DP,Number=1,Type=Integer,Description="# high-quality bases">
  12. ##FORMAT=<ID=DV,Number=1,Type=Integer,Description="# high-quality non-reference bases">
  13. ##FORMAT=<ID=SP,Number=1,Type=Integer,Description="Phred-scaled strand bias P-value">
  14. ##FORMAT=<ID=PL,Number=G,Type=Integer,Description="List of Phred-scaled genotype likelihoods">
  15. #CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT  cam10.sorted.bam
  16. 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


  
  1. @SQ     SN:MAL1 LN:643292
  2. @SQ     SN:MAL10        LN:1687655
  3. @SQ     SN:MAL11        LN:2038337
  4. @SQ     SN:MAL12        LN:2271477
  5. @SQ     SN:MAL13        LN:2895605
  6. @SQ     SN:MAL14        LN:3291871
  7. @SQ     SN:MAL2 LN:947102
  8. @SQ     SN:MAL3 LN:1060087
  9. @SQ     SN:MAL4 LN:1204112
  10. @SQ     SN:MAL5 LN:1343552
  11. @SQ     SN:MAL6 LN:1418244
  12. @SQ     SN:MAL7 LN:1501717
  13. @SQ     SN:MAL8 LN:1419563
  14. @SQ     SN:MAL9 LN:1541723
  15. @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
  16. 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

 


参考:

https://blog.csdn.net/Doris_xixi/article/details/80935603

 

文章来源: drugai.blog.csdn.net,作者:DrugAI,版权归原作者所有,如需转载,请联系作者。

原文链接:drugai.blog.csdn.net/article/details/88606306

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。