前面几天ChIP-seq练习,主要针对我自己的cfDNA数据(双端)和下载的ChIP数据(单端)进行各种练习。后面继续应用这些数据。
在脚本调试中,可以打开winscp来修改.sh文件,在xshell中运行,千万不要在xshell中用vim来修改。。。
一、取sample名的一些脚本
ls ~/ChIP-seqtest/rawdata/*.gz | while read id
do
file=$(basename $id) #basename是提取文件名,也就是把前面那些路径去掉
sample=${file%%.*} #%%这个符号是去掉后缀的意思。
echo $file $sample
done
image.png
这一串命令可以把文件的名称调取出来,还去掉了后缀,挺有趣。
二、bowtie2索引的建立
day12已经理论上详细学了bowtie2,可以自己构建索引。
我通常只需要人和小鼠的,所以不用自己构建啦。
下载之后上传。
scp /Users/meraner/Downloads/mm10.zip zds209@222.28.163.113:~/database
scp /Users/meraner/Downloads/hg19.zip zds209@222.28.163.113:~/database
三、bowtie2 运行
双端
bowtie2_index=/data/zds209/database/hg19/hg19 #最后一个hg19是前缀的名称
project=/data/zds209/ssresult
ls $project/clean/*.gz | grep "_val_1" > tempgz1
ls $project/clean/*.gz | grep "_val_2" > tempgz2
paste tempgz1 tempgz2>tempconfig_file
cat tempconfig_file | while read id
do
sample_dir="$project/clean"
output_dir="$project/bam"
arr=($id)
fq1=${arr[0]}
fq2=${arr[1]}
file=$(basename $fq1)
sample=${file%%_*}
bowtie2 -x $bowtie2_index -1 $fq1 -2 $fq2 | samtools sort -O bam -@ 5 -o - > $project/bam/$sample.bam
done
#sort:对bam文件进行排序(不能对sam文件进行排序)
#-O:--output format (SAM, BAM)
#-@:samtools中设置排序和压缩的线程数,默认单线程
改了很多个错:1,index那个地方要注明前缀。2,那几个temp会在运行目录下生成几个文本文件,但之前如果有同名文件,就会报错。所以要把上一次运行的temp文件删除掉(rm temp)3,最后的bam文件要标注清楚输出路径。4,要提前试一下bowtie2 -help
和samtools
命令的时候是不是能显示两个软件的基本信息。5,运行之后也会在e文件中提示:samtools: /usr/lib64/liblzma.so.5: no version information available (required by samtools)
,但是似乎不影响运行。
数据终于运行了,看大神们的教程说似乎要运行很久的样子哈。2022.6.3端午快乐。
单端
bowtie2_index=/data/zds209/database/gh19
ls /data/zds209/ssresult/clean/*.gz | while read id
do
file=$(basename $id)
sample=${file%%.*}
bowtie2 -p 5 -x $bowtie2_index -U $id | samtools -O bam-@ 5 -o - > $sample.bam #-U为单端数据
网友评论