1. 软件下载并安装
#下载misa软件
wget http://pgrc.ipk-gatersleben.de/misa/download/misa.pl
#下载配置文件
wget http://pgrc.ipk-gatersleben.de/misa/download/misa.ini
#下载3个perl脚本
wget http://pgrc.ipk-gatersleben.de/misa/download/est_trimmer.pl
wget http://pgrc.ipk-gatersleben.de/misa/download/p3_in.pl
wget http://pgrc.ipk-gatersleben.de/misa/download/p3_out.pl
# 搜索并安装primer3
conda search primer3
conda install -y primer3
#下载e-PCR并安装
wget http://ftp.debian.org/debian/pool/main/e/epcr/epcr_2.3.12-1.orig.tar.gz
tar xvf epcr_2.3.12-1.orig.tar.gz
cd e-PCR-2.3.12
make -j 4
echo 'PATH=$PATH:/home/wdd/biosoft/epcr/e-PCR-2.3.12/' >>~/.bashrc
source ~/.bashrc
e-PCR --help
2. 分析SSR
准备要提取的序列的bed文件chr5D_part2.bed,对应的分别是fasta中的染色体号,起始位置,终止位置
bedtools getfasta -fi Chinese_Spring_v1.0.fasta -bed chr5D_part2.bed -fo chr5D_part2.fa
#目标区段SSR分析
perl misa.pl chr5D_part2.fa
#提取SSR上下游各150bp的序列
cat chr5D_part2.fa.misa |awk 'NR>1 {print $1"\t"$6-150"\t"$7+150}' >chr5D_part2_ssr.bed
#使用bedtools工具提取重复序列
bedtools getfasta -fi chr5D_part2.fa -bed chr5D_part2_ssr.bed -fo chr5D_part2_ssr.fa
#再进行一次SSR查找
perl misa.pl chr5D_part2_ssr.fa
接下来就是修改p3_in.pl文件,这样使用它生成的文件就可以直接在primer3上面运行了,修改的内容可以参考primer3文件下的example文件,将p3_in.pl文件的输出内容和example的内容一致,我现在使用的版本的修改内容是:
print OUT "PRIMER_SEQUENCE_ID=$id"."_$ssr_nr\nSEQUENCE=$seq\n";
#改为
print OUT "SEQUENCE_ID=$id"."_$ssr_nr\nSEQUENCE_TEMPLATE=$seq\n";
perl p3_in.pl chr5D_part2_ssr.fa.misa
#然后使用primer3进行设计引物
primer3_core --default_version=1 -- output=chr5D_part2_ssr.fa.p3out chr5D_part2_ssr.fa.p3in
#primer3 引物结果输出文件整理
perl p3_out.pl CS_2B_0M-80M_ssr.fa.p3out CS_2B_0M-80M_ssr.fa.misa
3. e-PCR
#提取输出文件中的第一对引物作为e-PCR的输入文件
cat chr5D_part2_ssr.fa.results |awk 'NR>1 {print $1"\t"$8"\t"$11"\t"$1}' >chr5D_ssr.txt
#e-PCR输出文件
e-PCR chr5D_ssr.txt D=100-500 ~/huxin/genome/Triticum_aestivum.IWGSC.dna.toplevel.fa N=2 G=2 T=3 > CS_2B_0M-chr5D_ssr_ePCR.txt
4. R语言
#筛查e_pcr的唯一结果
setwd("C:\\Users\\Desktop\\")#切换目录
data0<-read.table("~/Home/TTD_chr7A_ssr_ePCR.txt",sep="\t",header=F,full=T)
data<-as.matrix(data0)
dup<-unique(data[duplicated(data[,2]),2])
num<-c()
for (k in 1:length(dup)) {
n<-which(data[,2]==dup[k])
num<-c(num,n)
}
res0<-data[-num,]
write.csv(res0,"chr5D_ssr_ePCR.csv",row.names=F)
5. 在线检测
将chr5D_ssr_ePCR.csv 与chr5D_part2_ssr.fa.results对应,提出第一对引物,在线检测