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 上面这个目录必须有写权限,否则无法写入,会一直报错
上一篇: 前端提供一个接口或者调用后台接口,这个接口具体指什么
下一篇: C#回顾学习笔记三十四:接口