2023.1.1 宏基因组学习之数据质控
一.过滤宿主
软件以bowtie2为例
(1) 构建索引
命令行:
bowtie2-build host.fa(宿主基因组序列) host.fa(为索引路径或者说是索引前缀)
(1) bowtie2 比对过滤
命令行:
bowtie2 --seed 123456 -I 200 -X 1000 --phred33 --threads 4 -x host.fa -1 sample_paired_clean_1.fastq -2 sample_paired_clean_2.fastq --un-conc sample_filter_reference.fq -S aln.sam
参数解析:
-I/--minins <int> 设定最小的插入片段长度. Default: 0.
-X/--maxins <int> 设定最长的插入片段长度. Default: 500
--phred33 序列质量数据为 phred32 体系
--phred64: 序列质量数据为 phred64 体系
-x <bt2-idx> 由 bowtie2-build 所生成的索引文件的前缀。
-1 <m1> 双末端测寻对应的文件 1。可以为多个文件,并用逗号分开;多个文
件必须和 -2 <m2> 中制定的文件一一对应。比如:"-1 flyA_1.fq,flyB_1.fq -2
flyA_2.fq,flyB_2.fq". 测序文件中的 reads 的长度可以不一样。
-2 <m2> 双末端测寻对应的文件 2.
--un-conc <path> 将不能和谐比对的 paired-end reads 写入<path>
-S <hit> 所生成的 SAM 格式的文件前缀。默认是输入到标准输出。
-U <r> 非双末端测寻对应的文件。可以为多个文件,并用逗号分开。测序文件
中的 reads 的长度可以不一样。
--seed <int> 使用<int>作为随机数产生的种子(不知道有什么用)
订阅伪随机数,随机数种子seed
伪随机数,伪:假的,即假的随机数,说明并不是随机的
1. 计算机的伪随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就是固定的。
2. 只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。
百度百科
伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。伪随机数可以用计算机大量生成,在模拟研究中为了提高模拟效率,一般采用伪随机数代替真正的随机数。模拟中使用的一般是循环周期极长并能通过随机数检验的伪随机数,以保证计算结果的随机性。
输出结果说明:
sample_filter_reference.1.fq:过滤掉宿主序列后的 reads1 端 fastq 序列
sample_filter_reference.2.fq:过滤掉宿主序列后的 reads2 端 fastq 序列
aln.sam:比对结果 sam 格式文件
二.数据质控(以fastqc为例)
命令行:
fastqc -o outdir *.gz
参数解析:
-o --outdir 输出目录,需自己创建目录
--(no)extract 是否解压输出文件,默认是自动解压缩 zip 文件。加上–
noextract 不解压文件。
-f 指定输入文件的类型,支持 fastq|bam|sam 三种格式的文件,默认自动识
别。
-t --threads 选择程序运行的线程数,即同时处理的文件数目。
-c --contaminants,污染物选项,输入的是一个文件,格式是 Name [Tab]
Sequence,里面是可能的污染序列,如果有这个选项,FastQC 会在计算时候评估污染的情况,并在统计的时候进行分析,一般用不到。
结果文件:
一个数据文件处理后会得到 2 个文件,一个 html 格式文件和一个 zip 的压缩文 件,zip 解压后和 html 格式文件内容是一样的,只需要下载 html 格式文件到本地,用浏览器打开查看。
结果展示:
FastqC 有 3 种结果:绿色代表 PASS;黄色代表 WARN;红色代表 FAIL。当出
现黄色时说明需要查看结果。