生信搬运工-01

文章目录

  • 一、fastq文件
    • 1.介绍
    • 2.fastq转换为fasta
    • 3.测序的大致流程
  • 总结


一、fastq文件

1.介绍

首先在了解fastq,fasta之前,了解一下什么是质量值。Phred 功能是处理测序仪直接生成的色谱图,给出相应的碱基和质量值。不同的测序仪会给出不同的色谱文件,Phred 能够识别三种格式的色谱文件,SCF, ABI 和预先处理的 ESD 格式。 碱基的测序质量值 Q 和此碱基出错的概率 Pe 相关。公式:Q = -10 log10( Pe )。phred软件在对reads进行base calling的时候会给出每一个碱基的质量值,这个质量值的计算与测序预期错误率相关(estimated probability of error):

 Phred Quality Score     Probability of incorrect base call      Base call accuracy
         10                              1 in 10                        90 %              
         20                             1 in 100                        99 %              
         30                             1 in 1000                       99.9 %            
         40                             1 in 10000                      99.99 %           
         50                             1 in 100000                     99.999 %  

fastq格式是一种包含质量值的序列文件,其中的q为quality,一般用来存储原始测序数据,扩展名一般为fastq或者fq。目前illumina测序,BGISEQ,Ion Torrent,pacbio,nanopore都以fastq格式存储测序数据,其中illumina,BGISEQ一般是双末端测序,一般是一对文件,命名为*_R1.fq.gz与*_R2.fq.gz。通常fastq文件中每一个序列含有4行信息(如下):

第一行:以‘@’开头,是这一条read的名字,这个字符串是根据测序时的状态信息转换过来的,中间不会有空格,它是每一条read的唯一标识符,同一份FASTQ文件中不会重复出现,甚至不同的FASTQ文件里也不会有重复;
第二行:测序read的序列,由A,C,G,T和N这五种字母构成,这也是我们真正关心的DNA序列,N代表的是测序时那些无法被识别出来的碱基;
第三行:以‘+’开头,在旧版的FASTQ文件中会直接重复第一行的信息,但现在一般什么也不加(节省存储空间);
第四行:测序read的质量值,每个字符与第二行的碱基一一对应,按照一定规则转换为碱基质量得分,进而反映该碱基的错误率,因此字符数必须和第二行保持一致。对于每个碱基的质量编码标示,不同的软件采用不同的方案 。目前有5种:

1、Sanger,Phred quality score:值的范围从0到93,对应的ASCII码从33到126,但是对于测序数据(raw read data)质量得分通常小于60,序列拼接或者mapping可能用到更大的分数。
2、Solexa/Illumina 1.0, Solexa/Illumina quality score:值的范围从-5到62,对应的ASCII码从59到126,对于测序数据,得分一般在-5到40之间;
3、Illumina 1.3+,Phred quality score:值的范围从0到62对应的ASCII码从64到126,低于测序数据,得分在0到40之间;
4、Illumina 1.5+,Phred quality score:但是0到2作为另外的标示,详见http://solexaqa.sourceforge/questions.htm#illumina
5、Illumina 1.8+

不同的标准之间可以相互转化换。注意:第二行@字符,第三行+字符,在第四行质量值中会出现,有时也会在行首出现,因此在处理fastq格式的时候要格外的关注

1.1)如何打开fastq文件

有多种方式可以打开fq文件: 最为原始的是在Linux服务器上用查看文本的less命令或cat命令;同时也可以用pycharm软件打开fq文件,直接拖入打开即可;

less -S *.fq.gz  #less可以查看压缩格式
cat *.fq.gz  #cat容易乱码
zcat *.fq.gz | head  #可以查看压缩格式,head为了防止全部读取

1.2)获取fastq文件

将样本测序,就可以得到fastq格式文件,无论人,动物,植物,微生物,测序的是全基因组,还是外显子,捕获序列,抑或是RNA样本,FFPE样本最终得到的都是fatsq格式文件。注意,有些平台得到的是两个文件,reads1与reads2,有些平台得到的是一个文件。也可以在NCBI SRA数据库下载测序文件,使用sratools工具中的prefetch或者fastq-dump软件都可以下载fastq文件。

1.3)fastq文件统计

如果想对fastq文件进行统计,例如统计序列条数,碱基总数,reads读长分布等,可以使用seqkit工具进行操作。如果想统计fastq文件每条序列ATCG四种碱基组成以及质量值分布,可以使用seqtk comp工具来完成。

过滤短的序列:Ion Torrent,pacbio,nanopore测序的fastq文件序列长度并不相同,通常需要过滤较短的序列,例如过滤掉长度小于150bp的序列。可以使用seqtk seq或者seqkit seq进行操作。

将fastq格式转换为列表格式:可以使用seqkit fx2tb,为什么要做这一步处理呢,转换为列表,这样方便根据ID进行处理。将四行数据转换为一行三列,这样就可以使用常用的列表处理程序来进行处理,例如awk。当然处理完了,还可以使用tab2fx将列表转为换fastq格式

1.4)去除低质量

低质量主要是指去除测序质量错误率较高的位点,一般以Q20作为标准,如果一个碱基质量值低于Q20,则认为一个低质量,如果一条序列中低质量碱基达到一定比例,例如达到40%以上,则过滤掉此条序列。是过滤数据主要处理指标。seqtk工具seq功能通过-q,-n可以将低质量碱基进行标记,例如替换为小写字母或者其他字符,但是不进行过滤,有专门的数据过滤工具。

数据过滤:有很多软件可以一次性完成数据过滤工作,包括去除adapter,去除低质量,去除N碱基,去除duplication,截取reads,常用的包括fastp,trimmomatic,SOAPnuke等,不过这些软件都各有优缺点,SOAPnuke很好用,但是去除adapter需要提供一个adapter reads ID的列表,从网上下载的数据没有这个,fastp利用固定adapter序列,但是不能去除duplication,trimmomatic选项参数太长,而且也不是很好用。这里推荐使用fastp。
此外seqtk和seqkit工具都提供了排序、抽样、按照固定模式进行拆分文件功能。

2.fastq转换为fasta

如何将fastaq无损的转化成fasta文件?

在Linux服务器上用基础命令来实现这个转换:
zless -S SRR1039510_1.fastq.gz| paste - - - -|cut -f 1-2|tr '\t' '\n'|tr '@' '>' |less -S > SRR1039510_1.fasta
#结果为:
>SRR1039510.1 HWI-ST177:290:C0TECACXX:1:1101:1373:2104 length=63
TGGGAGGCTGAGGCAGGAGAATCACTTAAACCTGGGAGGCAGAGGTTACAGTGAGCCGAGATT
>SRR1039510.2 HWI-ST177:290:C0TECACXX:1:1101:1340:2124 length=63
AAAGAAGGCGACAGTGAGAAGGAGTCCGAGAAGAGTGATGGAGACCCAATAGTCGATCCTGAG
>SRR1039510.3 HWI-ST177:290:C0TECACXX:1:1101:1273:2183 length=63
CTGCTGGGCCCCAAGGTCCTCCTGGTCCCAGTGGTGAAGAAGGAAAGAGAGGCCCTAATGGGG
>SRR1039510.4 HWI-ST177:290:C0TECACXX:1:1101:1562:2147 length=63
CTTGGCTGCAGCCATCCCGCTTAGCCTGCCTCACCCACACCCGTGTGGTACCTTCAGCCCTGG
#同时生成SRR1039510_1.fasta文件。
#同时zcat SRR1039510_1.fastq.gz| paste - - - -|cut -f 1-2|tr '\t' '\n'|tr '@' '>' |less -S 也可实现这种转换

如果你不需要查看fq中的具体内容,可以用软件实现fq到fasta文件的转换,fastX_tool软件可以实现相同的功能,还有许多单独的程序,如seqtk、seqkit,演示如下:

fastq_to_fasta -Q33 -v -n -i SRR1039510_1.fastq -o SRR1039510_1.fasta
#其中-Q33是必须添加的参数

#seqtk工具
seqtk seq -A nanopore.fastq.gz
#seqkit工具
seqkit fq2fa nanopore.fastq.gz

3.测序的大致流程

测序得到的reads通过Bowtie2软件map到参考基因组上,得到比较完整的测序结果,用Samtools软件可以筛选掉低质量的reads,整理格式,初始文件是SRA格式,通过一些软件、工具转换成fastq格式的文件。


总结

原文链接:https://blog.csdn/XIUXIU179/article/details/110081972

更多推荐

生信搬运工-01-fastq文件的处理