生信100-1-FASTQ与FASTA

2023-01-06  本文已影响0人  森尼啊

1.1 掌握FASTQ格式

1.2 FASTA格式的构成是怎样的,有什么样的规律?

1.3 什么序列适合用FASTA保存,什么序列适合用FASTQ保存?

参考https://luohao-brian.gitbooks.io/gene_sequencing_book/content/di-2-8282-fasta-he-fastq.html

1.1 FASTQ-测序的图像数据转换过来

  1. 第一行:以‘@’开头,是这一条read的名字,这个字符串是根据测序时的状态信息转换过来的,中间不会有空格,它是 每一条read的唯一标识符 ,同一份FASTQ文件中不会重复出现,甚至不同的FASTQ文件里也不会有重复;
  2. 第二行:测序read的序列,由A,C,G,T和N这五种字母构成,这也是我们真正关心的DNA序列,N代表的是测序时那些无法被识别出来的碱基;
  3. 第三行:以‘+’开头,在旧版的FASTQ文件中会直接重复第一行的信息,但现在一般什么也不加(节省存储空间);
  4. 第四行:测序read的质量值,这个和第二行的碱基信息一样重要,它描述的是每个测序碱基的可靠程度,用ASCII码表示。
@DJB775P1:248:D0MDGACXX:7:1202:12362:49613 TGCTTACTCTGCGTTGATACCACTGCTTAGATCGGAAGAGCACACGTCTGAA

+

JJJJJIIJJJJJJHIHHHGHFFFFFFCEEEEEDBD?DDDDDDBDDDABDDCA @DJB775P1:248:D0MDGACXX:7:1202:12782:49716 CTCTGCGTTGATACCACTGCTTACTCTGCGTTGATACCACTGCTTAGATCGG

+

IIIIIIIIIIIIIIIHHHHHHFFFFFFEECCCCBCECCCCCCCCCCCCCCCC

phred值

Q = -10log(p_error)

image

为什么要用ASCII码来代表,直接用数字不行吗?

行!但不美观。为了格式存储以及处理时的方便,这个数字被直接转换成了ASCII码,并与第二行的read序列构成一一对应的关系——每一个ASCII码都和它正上面的碱基对应,这就很完美。

不过,值得一提的是,所有小于33的ASCII码值所表示的都是不可见字符,比如空格,换行符等,因此为了能够让碱基的质量值表达出来,必须避开所有这些不可见字符。最简单的做法就是加上一个固定的整数!也的确是这么干的。

但一开始对于要加哪一个整数,并没有什么指导标准,这就导致了在刚开始的时候,不同的测序平台加的整数也不同,总的来说有以下3种质量体系,演变到现在也基本只剩下第一种了,如下表:

image

现在一般都是使用Phred33这个体系,而且33也恰好是ASCII的第一个可见字符('!')。

#!/bin/bash
less $1 | head -n 1000 | awk '{if(NR%4==0) printf("%s",$0);}' \
| od -A n -t u1 -v \
| awk 'BEGIN{min=100;max=0;} \
  {for(i=1;i<=NF;i++) {if($i>max) max=$i; if($i<min) min=$i;}}END \
  {if(max<=126 && min<59) print "Phred33"; \
  else if(max>73 && min>=64) print "Phred64"; \
  else if(min>=59 && min<64 && max>73) print "Solexa64"; \
  else print "Unknown score encoding"; \
  print "( " min ", " max, ")";}'

1.2 FASTA -有顺序

  1. 序列头信息(有时包括一些其它的描述信息)和具体的序列数据头信息独占一行,以大于号(>)开头作为识别标记,其中除了记录该条序列的名字之外,有时候还会接上其它的信息。
  2. 紧接的下一行是具体的序列内容
  1. FASTA的头信息并没有被严格地限制,用一个空格把头信息分为两个部分,很多生信软件(如:BWA,samtools,bcftools,bedtools等)都是将第一个空格前面的内容认定为序列名字来进行操作的
  2. FASTA由于是文本文件,它里面的内容是否有重复是无法自检
>ENSMUSG00000020122|ENSMUST00000138518 CCCTCCTATCATGCTGTCAGTGTATCTCTAAATAGCACTCTCAACCCCCGTGAACTTGGT TATTAAAAACATGCCCAAAGTCTGGGAGCCAGGGCTGCAGGGAAATACCACAGCCTCAGT TCATCAAAACAGTTCATTGCCCAAAATGTTCTCAGCTGCAGCTTTCATGAGGTAACTCCA GGGCCCACCTGTTCTCTGGT
>ENSMUSG00000020122|ENSMUST00000125984 GAGTCAGGTTGAAGCTGCCCTGAACACTACAGAGAAGAGAGGCCTTGGTGTCCTGTTGTC TCCAGAACCCCAATATGTCTTGTGAAGGGCACACAACCCCTCAAAGGGGTGTCACTTCTT CTGATCACTTTTGTTACTGTTTACTAACTGATCCTATGAATCACTGTGTCTTCTCAGAGG CCGTGAACCACGTCTGCAAT
上一篇下一篇

猜你喜欢

热点阅读