1.简介
SSRMMD (Simple Sequence Repeat Molecular Marker Developer) 是用Perl语言编写的软件,可以从组装序列(FASTA格式,例如:基因组或转录组)中检测完美的SSR位点和候选的多态性SSR。该软件还包含了一个名为connectorToPrimer3的程序,此程序提供了SSRMMD到Primer3的接口,使得可以轻松地进行批量SSR引物设计。
相关论文链接:https://www.frontiersin.org/articles/10.3389/fgene.2020.00706
2.软件下载与安装
下载地址:https://github.com/GouXiangJian/SSRMMD
安装方法:不管是在linux还是在windows中运行,都是解压即用。
3.软件使用:SSR位点检测
3.1在linux中运行
[重要参数]
解压软件后,将当前工作目录切进软件内部(cd SSRMMD-master
),在命令行输入perl SSRMMD.pl -h
,即可查看该软件的帮助文档,其中有几个参数对于SSR位点的检测比较重要,例如:
-f1 : 用于检测SSR位点的FASTA格式的文件 (必须提供该参数!)
-e : 指定检测SSR位点的方法 (默认设置: 0, 可选的值: 0 [这种方法速度更快], 1 [这种方法类似于MISA软件使用的方法])
-mo : SSR基序的阈值 (默认设置: 1=10,2=7,3=6,4=5,5=4,6=4 [其中, 等号左边是基序的长度, 等号右边是最小重复次数])
-l : SSR的侧翼序列的长度 (默认设置: 100)
-ss : 是否输出SSR的统计文件 (默认设置: 0, 可选的值: 0 [表示不输出], 1 [表示输出])
-t : 运行软件时使用的线程数 (默认设置: 1)
[运行示例]
以软件自带的例子文件example1.fa举例,如果想要:(1) 修改SSR基序的阈值设置,(2) 将SSR的侧翼序列设置为200bp,(3) 输出SSR的统计文件,(4) 使用2线程来运行程序,则命令行可以这样输入:
perl SSRMMD.pl -f1 example/input/example1.fa -mo 2=6,3=5,4=4 -l 200 -ss 1 -t 2
[运行输出]
运行完成后,会在当前目录下创建一个名为SSRMMDOUT
的目录,里面包含SSR信息文件example1.fa.SSRs
,以及SSR统计文件example1.fa.stat
。
3.2在windows中运行
如果想在windows中用上述同样的命令运行SSRMMD,则需要事先安装Perl的解释器,下载地址为:https://www.perl.org/。好消息是,该软件包中提供了一个已经编译好的版本SSRMMD.exe
,位于bin目录中。因此,可以直接使用它而不必再安装Perl的解释器了。
解压软件后,将当前工作目录切进软件内部(cd SSRMMD-master/bin
),在命令行输入SSRMMD.exe -h
,即可查看该软件的帮助文档。
[运行示例]
若用上述同样的参数配置来运行,则命令行可以这样输入:
SSRMMD.exe -f1 ../example/input/example1.fa -mo 2=6,3=5,4=4 -l 200 -ss 1 -t 2
[运行输出]
类似地,运行完成后,会在当前目录下创建一个名为SSRMMDOUT
的目录,里面包含SSR信息文件example1.fa.SSRs
,以及SSR统计文件example1.fa.stat
。
4.软件使用:多态性SSR筛选
4.1在linux中运行
[重要参数]
如果想要进一步筛选多态性SSR,则必须准备两个fasta格式的组装文件。SSRMMD会在这两个文件之间,对SSR的侧翼序列率先进行保守性评估,随后进行唯一性评估。
类似地,帮助文档中有几个参数对于多态性SSR筛选比较重要,例如:
-me : 指定检测侧翼序列保守性的算法 (默认设置: NO, 可选的值: NO [仅仅使用HASH, 该方法非常快, 但是只能检索出侧翼序列绝对保守的SSR], LD [使用Levenshtein-Distance算法], NW [使用Needleman–Wunsch算法])
-d : 当参数-me设置为LD时, 设置由Levenshtein-Distance算法计算的侧翼序列保守性的阈值 (默认设置: 0.05)
-i : 当参数-me设置为NW时, 设置由Needleman-Wunsch算法计算的侧翼序列保守性的阈值 (默认设置: 0.95)
-st : 指定检测侧翼序列唯一性的计算方式 (默认设置: 0, 可选的值: 0 [节约时间], 1 [节约内存])
[运行示例]
以软件自带的例子文件example1.fa和example2.fa举例,如果想要:(1) 使用Needleman–Wunsch算法来评估侧翼序列的保守性,(2) 以节约时间的方式来评估侧翼序列的唯一性,(3) 使用2线程来运行程序,则命令行可以这样输入:
perl SSRMMD.pl -f1 example/input/example1.fa -f2 example/input/example2.fa -p 1 -me NW -st 0 -t 2
[运行输出]
运行完成后,会在当前目录下创建一个名为SSRMMDOUT
的目录,里面包含SSR信息文件example1.fa.SSRs
和example2.fa.SSRs
,以及多态SSR记录文件example1.fa-and-example2.fa.compare
。
4.2在windows中运行
[运行示例]
若用上述同样的参数配置来运行,则命令行可以这样输入:
SSRMMD.exe -f1 ../example/input/example1.fa -f2 ../example/input/example2.fa -p 1 -me NW -st 0 -t 2
[运行输出]
类似地,运行完成后,会在当前目录下创建一个名为SSRMMDOUT
的目录,里面包含SSR信息文件example1.fa.SSRs
和example2.fa.SSRs
,以及多态SSR记录文件example1.fa-and-example2.fa.compare
。
5.软件使用:批量SSR引物设计
5.1在linux中运行
目录connectorToPrimer3中的脚本connectorToPrimer3.pl可以轻松地将SSRMMD与Primer3结合起来,以实现批量SSR引物设计。在命令行输入perl connectorToPrimer3/connectorToPrimer3.pl -h
,即可查看该脚本的帮助文档。
若用默认的参数配置设计引物,则命令行可以这样输入:
#Design primers for all SSRs (SSRMMD option '-p' = 0)
perl connectorToPrimer3/connectorToPrimer3.pl -i SSRMMDOUT/example1.fa.SSRs -o all.txt
#Design primers for candidate polymorphic SSRs (SSRMMD option '-p' = 1)
perl connectorToPrimer3/connectorToPrimer3.pl -i SSRMMDOUT/example1.fa-and-example2.fa.compare -o poly.txt -s 2
5.2在windows中运行
类似地,脚本connectorToPrimer3.pl也有一个已经编译好的版本connectorToPrimer3.exe
,位于bin目录中。
若用默认的参数配置设计引物,则命令行可以这样输入:
#Design primers for all SSRs (SSRMMD option '-p' = 0)
connectorToPrimer3.exe -i SSRMMDOUT/example1.fa.SSRs -o all.txt
#Design primers for candidate polymorphic SSRs (SSRMMD option '-p' = 1)
connectorToPrimer3.exe -i SSRMMDOUT/example1.fa-and-example2.fa.compare -o poly.txt -s 2