!/bin/bash
复制所有数据到同一文件夹
ca=/media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/2.cleandata
复制目标所有fq.gz文件到指定文件夹
nohup find $ca -name "*.gz" | xargs -i cp {} /media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/cleanall
6.2 比对:hisat2
# Hisat2构建索引
nohup hisat2-build GRCh38.dna.genome.fa GRCh38.dna.genome > transindex.log 2>&1 &
# 输入输出定义文件夹
index=/home/zk/project/reference/grch38_genome_release101/GRCh38.dna.genome
inputdir=/media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/cleanall
outdir=/media/zk/crlm/map
# 单个样本比对
nohup hisat2 -p 16 -x ${index} -1 ${inputdir}/10-changN_FRAS202378803-1r_1.clean.fq.gz\
-2 ${inputdir}/10-changN_FRAS202378803-1r_2.clean.fq.gz \
-S ${outdir}/10-changN.Hisat_aln.sam >map.log 2>&1 &
# sam转bam
nohup samtools sort -@ 10 -o 10-changN.Hisat_aln.sorted.bam 10-changN.Hisat_aln.sam > tobam.log 2>&1 &
# 对bam建索引
samtools index SRR1039510.Hisat_aln.sorted.bam SRR1039510.Hisat_aln.sorted.bam.bai
#首先复制所有fq文件值alldata文件夹
ca=/media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/2.cleandata
nohup find $ca -name "*.gz" | xargs -i cp {} /media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/cleanall >cp.log 2>&1 &
#获得所有样本的名称用作下面的id
ls /media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/cleanall |cat >1.list
#首先踢出完全相同字段
cut -d _ -f 1,2 1.list |cat >2.list
#按照数字大小排序后筛选唯一值后生成最终list
sort -n list | uniq |cat > id.list
#删除前面产生的中间文件1.list及2.list.
rm 1.list 2.list
#最终我们需要的id.list的绝对地址为
/media/zk/crlm/map/id.list
#审定循环需要的的变量
index=/home/zk/project/reference/grch38_genome_release101/GRCh38.dna.genome
inputdir=/media/zk/crlm/CRLM_RNAseq/Result-P101SC18100875-01-J014-B14-21/cleanall
outdir=/media/zk/crlm/map
nohup hisat2 -p 16 -x ${index} -1 ${inputdir}/10-changN_FRAS202378803-1r_1.clean.fq.gz\
-2 ${inputdir}/10-changN_FRAS202378803-1r_2.clean.fq.gz \
-S ${outdir}/10-changN.Hisat_aln.sam >map.log 2>&1 &
# 多个样本批量进行比对,排序,建索引
# Hisat.sh内容
cat /media/zk/crlm/map/test3.list | while read id
do
echo "hisat2 -p 16 -x ${index} -1 ${inputdir}/${id}_1.clean.fq.gz -2 ${inputdir}/${id}_2.clean.fq.gz 2>${id}.log | samtools sort -@ 1 -o ${outdir}/${id}.Hisat_aln.sorted.bam - && samtools index ${outdir}/${id}.Hisat_aln.sorted.bam ${outdir}/${id}.Hisat_aln.sorted.bam.bai"
done >Hisat.sh
# 提交后台运行
nohup sh Hisat.sh >Hisat.log 2>&1 &
# 统计比对情况
multiqc -o ./ *1r.log
网友评论