转录组数据过滤

2023-04-28  本文已影响0人  路人里的路人

1.下载数据过滤软件fastp

conda create -n fastp
conda activate fastp
conda install fastp / conda install -c bioconda fastp
#上述代码实现了对fastp环境的设置和软件的安装,每次使用前需要conda activate fastp

2.使用fastp初步过滤数据

软件基本用法

fastp -i input.fq.gz -o output.fq.gz
#单末端测序数据过滤代码,-i 后是过滤前的数据名称,-o后是过滤后的数据名称
fastp -i input.R1.fq.gz -I input.R2.fq.gz -o output.R1.fq.gz -O output.R2.fq.gz  -h output.html
 awk '{print "fastp -i "$1"_1.gz -I "$1"_2.gz -o "$1"_1.fq.gz -O "$1"_2.fq.gz -h "$1".html"}' name.lst > fastp.sh
#双末端测序数据过滤代码,-i后是第一条数据过滤前名称,-I是第二条数据过滤前名称。-o是第一条数据过滤后名称,-O是第二条数据过滤后名称,-h后是总结的文件

一般我们需要处理的数据都有几十个,fastp过滤一个数据大约需要几十秒,一个一个的逐一键入代码去跑很麻烦,下面是一个名为fastp的shell脚本,可用于批量处理数据。

#!/bin/bash
  
# 定义输入和输出路径
input_dir="/home/monkeyflower/xiaodeng/transcripotom/filter_and_qc"
output_dir="/home/monkeyflower/xiaodeng/transcripotom/filter_and_qc/filtered"

# 创建输出目录
mkdir -p "$output_dir"

# 遍历所有fastq文件,并使用fastp进行过滤
for file in "$input_dir"/*.fastq; do
  # 提取文件名(不含路径和扩展名)
  filename=$(basename -- "${file%.*}")
  # 定义输出文件名(包含路径和新的扩展名)
  output_file="$output_dir/$filename"_out.fastq
  # 使用fastp进行过滤
  fastp -i "$file" -o "$output_file"
done

可以使用nohup sh fastp.sh这个命令运行脚本,即后台挂起进程。这样即使断开与服务器的连接也能继续运行

3.结果解读

Read1 before filtering:
total reads: 15774283
total bases: 1593202583
Q20 bases: 1380483483(86.6483%)
Q30 bases: 1297784422(81.4576%)

Read1 after filtering:
total reads: 14028126
total bases: 1414252489
Q20 bases: 1323828084(93.6062%)
Q30 bases: 1254695557(88.7179%)

Filtering result:
reads passed filter: 14028126
reads failed due to low quality: 1733821
reads failed due to too many N: 12081
reads failed due to too short: 255
reads with adapter trimmed: 485782
bases trimmed due to adapters: 28429663
第一部分说明了过滤前数据的总条数和总碱基数,Q20与Q30。第二部分说明了过滤后数据的总条数和总碱基数,Q20与Q30。第三部分说明了过滤掉的数据是什么原因被过滤的。Q20表示有93.6062%的数据错误率在1%以下,Q30表示有88.7179%的数据错误率在0.1%以下。

上一篇下一篇

猜你喜欢

热点阅读