目的是
根据现有探针,匹配到转座子,在转座子与探针匹配的位点的相邻区间寻找重复次数高的序列。
步骤
- 1st blast提取匹配序列ID
# 打点当前目录参数
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
-
2nd 对照转座子序列ID,提取与转座子ID重合的区段
-
3rd 通过重合区段的序列ID提取基因组序列
# 清点当前目录
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
- 下一步怎么办呢?
- 多序列比?对好像没有什么用处
- 每条序列前后各推200bp然后多序列比对?
网友评论