探针寻找之旅(2)——与探针匹配的基因组序列的提取

2020-03-10  本文已影响0人  嗒嘀嗒嗒嘀嗒嘀嘀

目的是

根据现有探针,匹配到转座子,在转座子与探针匹配的位点的相邻区间寻找重复次数高的序列。

步骤

# 打点当前目录参数
cd $(pwd)
# 建库
makeblastdb -in csi.chromosome.fa -dbtype nucl -out csi.chromosome.fa -parse_seqids
# blastn比对 1个cpu
blastn -query fish.fa -db csi.chromosome.fa -num_threads 1 -outfmt 7 -out fish_csi.out7
# 探针名称 CL CL-1 CL-2 CL-3 CL-5 C1-6 C5-1 C7-1 CiclevCL2 CiclevCL17 CsCen1 CsCen2 CsCen3
less fish_csi.out7 | awk '$1=="CL" && $3>=80 && $4>=85{print $0}' > CL_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CL-1" && $3>=80 && $4>=114{print $0}' > CL-1_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CL-2" && $3>=80 && $4>=120{print $0}' > CL-2_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CL-3" && $3>=80 && $4>=118{print $0}' > CL-3_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CL-5" && $3>=80 && $4>=137{print $0}' > CL-5_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="C1-6" && $3>=80 && $4>=44{print $0}' > C1-6_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="C5-1" && $3>=80 && $4>=907{print $0}' > C5-1_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="C7-1" && $3>=80 && $4>=1377{print $0}' > C7-1_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CiclevCL1" && $3>=80 && $4>=112{print $0}' > CiclevCL1_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CiclevCL2" && $3>=80 && $4>=97{print $0}' > CiclevCL2_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CiclevCL17" && $3>=80 && $4>=367{print $0}' > CiclevCL17_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CsCen1" && $3>=80 && $4>=28{print $0}' > CsCen1_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CsCen2" && $3>=80 && $4>=40{print $0}' > CsCen2_Ident0.8Cover0.8
less fish_csi.out7 | awk '$1=="CsCen3" && $3>=80 && $4>=29{print $0}' > CsCen3_Ident0.8Cover0.8

# 将筛选后的文件转换为bed格式文件
for i in $(ls *Ident0.8Cover0.8)
do
        echo $i
        less $i | awk '{if($9<$10)print $2"\t"$9-1"\t"$10"\t"$1; else print $2"\t"$10-1"\t"$9"\t"$1}' > ${i}.bed
done
# 清点当前目录
cd $(pwd)
# 将TE的格式转为bed
less csi.repeat.gff3 | awk '{if($4<$5) print $1"\t"$4"\t"$5"\t"$9; else print $1"\t"$5"\t"$4"\t"$9}' > cs.te.bed

# bedtools intersect求与TE的交集
# 生成的文件只显示prob的注释
for i in $(ls ../blastId/*.bed)
do
        echo $i
        bedtools intersect -a $i -b cs.te.bed | sort > ${i%.*}.bedtools
done
# 生成的文件只显示TE的注释
for i in $(ls ../blastId/*.bed)
do
        echo $i
        bedtools intersect -a cs.te.bed -b $i | sort > ${i%.*}.tebedtools
done
# 提取序列
for i in $(ls *.bedtools)
do
        echo $i
        bedtools getfasta -fi csi.chromosome.fa -bed $i -fo $i.fasta
done
上一篇下一篇

猜你喜欢

热点阅读