欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

5 trim_galore去接头(并行处理)

程序员文章站 2022-06-13 21:00:18
...

目的:想一次并行运算20个样本

参考

ls SRR85182.gz | while read id;do (nohup fastqc $id &);done
find SRR851819
.gz|xargs fastqc -t 20

1 安装trim-galore

进入wes环境,安装trim-galore

source activate wes
conda install -c bioconda trim-galore
trim_galore --help

trim_galore本身的用法很简单,但是样本大的时候,就需要想办法根据服务器的情况进行并行处理。

2 分离_1和_2文件

(wes) [email protected]:/project/raw_fq$ ls|grep _1.fastq.gz>gz1
(wes) [email protected]:/project/raw_fq$ ls|grep _2.fastq.gz>gz2
(wes) [email protected]:/project/raw_fq$ paste gz1 gz2>config
(wes) [email protected]:/project/raw_fq$ cat config|head
SRR7696207_1.fastq.gz   SRR7696207_2.fastq.gz
SRR8517853_1.fastq.gz   SRR8517853_2.fastq.gz
SRR8517854_1.fastq.gz   SRR8517854_2.fastq.gz
SRR8517855_1.fastq.gz   SRR8517855_2.fastq.gz
SRR8517856_1.fastq.gz   SRR8517856_2.fastq.gz
SRR8517857_1.fastq.gz   SRR8517857_2.fastq.gz
SRR8517858_1.fastq.gz   SRR8517858_2.fastq.gz
SRR8517859_1.fastq.gz   SRR8517859_2.fastq.gz
SRR8517860_1.fastq.gz   SRR8517860_2.fastq.gz
SRR8517861_1.fastq.gz   SRR8517861_2.fastq.gz

2 写脚本

2.1 第一种方法trim.sh(建议的方法)

vi trim.sh

写入以下内容

dir=/home/kelly/wesproject/4_clean/
cat config |while read id
do
      arr=(${id})
      fq1=${arr[0]}
      fq2=${arr[1]}
      nohup trim_galore -q 25 --phred33 --length 36 -e 0.1 --stringency 3 --paired -o $dir $fq1 $fq2 &
done

运行即可

2.2 第2种方法

vi qc.sh

写入

#!/bin/bash 
for f1 in *_1.fastq.gz
do
f2=${f1%%_1.fastq.gz}"_2.fastq.gz"
trim_galore -q 25 --phred33 --length 36 -e 0.1 --stringency 3 --paired --fastqc -o /home/kelly/wesproject/4_clean/  $f1 $f2
done

然后会依次进行处理,但是是一个一个样本处理,这不是我想要的。
如果样本相对较少,上面这个处理方法是可以的。


备注:我在这里出了三次错

  • 1 dir=/home/kelly/wesproject/4_clean/这里是不需要''/括起来的
  • 2 dir=/home/kelly/wesproject/4_clean/最后这个/必须有
  • 3 上面这个目录必须有写权限,否则无法写入,会一直报错