欢迎关注"生信修炼手册"

微卫星microsatellite, 又叫做简单重复序列(simple sequence repeats, SSR)或者短串联重复序列(short tandem repeats, STR), 指的是以2到10bp的短序列为单位,重复出现多次所构成的DNA序列。

重复的最小单位称之为motif, 示例如下

agagagagagag

上述片段就是一段SSR序列,motif为ag, 重复出现了6次。

微卫星DNA种类多,分布广,在基因组中平均50bp就有一个重复序列;在不同种族,不同人群中重复单位和重复次数都大不相同,构成了SSR遗传多态性。

SSRIT是一款识别简单重复系列的软件,官网如下:

http://archive.gramene.org/db/markers/ssrtool

该软件的官网提供了在线服务,用法如下

第一步,选择motif的最小长度和最小重复次数

参数a用于选择motif的最小长度,可选范围为2到10bp; 参数b用于选择最小重复次数,建议最小重复次数为5以上。

第二步,输入fasta格式的序列

在文本框中,输入fasta格式的序列,然后点击右下角的FIND SSRs提交即可。

输出结果如下

第一列为SSR区域的ID,由序列标识符和数字编号构成,第二列为Motif的碱基序列,第三列为重复次数,第四列和第五列对应SSR区域的起始和终止位置,第六列为输入序列的总长度。

也可以下载脚本本地运行,安装过程如下

wget ftp://ftp.gramene.org/pub/gramene/archives/software/scripts/ssr.pl

该软件采用perl语言开发,直接下载对应的perl脚本就可以了,这个perl脚本写的是比较简陋的,并没有提供帮助文档之类的信息。从源代码可以看出,用法如下

perl ssr.pl input.fasta  > ssr.txt

只需要提供fasta格式的输入文件就可以了,一次可以提供多个fasta文件,示例文件如下

>seq1
agagattaggatcgatcgcgctctctctctctctctcgatcgagatcgat
ggccatcatcatcatcatcattgagatatagcgcgatatcgagagatctc
agaatagatatcgcgctatagagagatcgagagagagtaga
>seq2
agagataggaatatgagatagcgggggggggggggcgctatacgcgctcg
gagagagatctctctctctcttatagagatcgatcgactagctagatata
agactcactcactcactcactcactcagcgcgat

输出结果通过重定向保存在ssr.txt文件中,该文件的内容如下

seq1 1 3 cat 6 54 71 141
seq2 1 4 actc 6 103 126 134

输出内容和在线服务基本一致,第2列和第三列不需要看。需要注意的是,同样的输入文件,在线服务识别到了4个SSR区域,而本地版只识别到了2个,这个是因为参数设定不同。

本地版的motif长度和重复序列次数只能通过修改源代码实现,对应代码如下

my @specs = ([2,9],  #dinucl. with >= 9 repeats[3,6],  #trinucl. with >= 6 repeats[4,5]); #tetranucl. with >= 5 repeats

默认情况下,对于2bp的motif, 要求最小重复次数为9次,ct这个motif只出现了8次,所以过滤掉了,如果想要和官网保持一致,可以修改源代码,然后再次运行就可以了。

扫描关注微信号,更多精彩内容等着你!

SSRIT:简单重复序列识别工具相关推荐

  1. 实用c语言函数源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  2. Nodejs开发简单的脚手架工具

    脚手架,这个名词对于作为前端的我们来说,也许并不陌生吧,像vue-cli,react-native-cli等,全局安装后,只需要在命令行中敲入一个简单的命令,便可帮我们快速的生成一个初始项目,如vue ...

  3. 使用 Node.js 开发简单的脚手架工具

    前言 像我们熟悉的 vue-cli,react-native-cli 等脚手架,只需要输入简单的命令 vue init webpack project,即可快速帮我们生成一个初始项目.在实际工作中,我 ...

  4. 用python画太阳花-python 简单的绘图工具turtle使用详解

    目录 1. 画布(canvas) 1.1 设置画布大小 2. 画笔 2.1 画笔的状态 2.2 画笔的属性 2.3 绘图命令 3. 命令详解 4. 绘图举例 4.1 太阳花 4.2 绘制小蟒蛇 4.3 ...

  5. 友善串口工具接收数据随机换行_使用Python3+PyQT5+Pyserial 实现简单的串口工具方法...

    练手项目,先上图 先实现一个简单的串口工具,为之后的上位机做准备 代码如下: pyserial_demo.py import sys import serial import serial.tools ...

  6. 海龟画图 python太阳花_python 简单的绘图工具turtle使用详解

    目录 1. 画布(canvas) 1.1 设置画布大小 2. 画笔 2.1 画笔的状态 2.2 画笔的属性 2.3 绘图命令 3. 命令详解 4. 绘图举例 4.1 太阳花 4.2 绘制小蟒蛇 4.3 ...

  7. c语言案例朗读工具源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  8. 【非常简单bug管理工具-TAPD 】

    推荐非常简单bug管理工具-TAPD 界面简单,易上手,

  9. 开始做一个简单的记账工具

    用VScode做一个简单的记账工具 内容保存在 https://leonchan0608.coding.net/public/bookkeeping/bookkeeping/git 下班学习,奋斗一年 ...

最新文章

  1. 看AI如何改变医疗影像学
  2. C#正则表达式:移除文本中所有方括号和其中的内容
  3. mysql相交_MySQL相交
  4. linux之多线程(1)
  5. (软件工程复习核心重点)第十二章软件项目管理-第四节:软件配置管理和能力成熟度模型
  6. Spring Data Elasticsearch案例详解
  7. 想了解“云+AI”究竟怎么“玩儿”,还要看这里、看这里!
  8. BAT等大厂十年研发经历,总结了12开发条经验(墙裂推荐)
  9. J-link 固件版本问题
  10. 实验二 任务二 体重测量
  11. i标签和em标签的区别
  12. ​Spring Cloud中统一异常处理是怎么做的?
  13. java 雷达反射面积_请问:如何使用基本反射率雷达图中的dBZ值判断天气情况?比如多云、雷雨、晴等。谢谢!...
  14. DevOps—持续部署Ansible(二)
  15. 腾讯逆地址解析php,腾讯地图逆地址解析,通过经纬度获取详细的信息数据
  16. 远程删除用户手机照片?拼多多回应
  17. 如何在 Linux 服务器上安装 Red5?
  18. Faiss(16):编译时添加对AVX512指令的支持
  19. ie java被阻止_解决IE屏蔽Java Applet问题的方法
  20. c语言感叹号放最后用法,感叹号的用法和注意事项

热门文章

  1. python评论数据分析_Python亚马逊智能产品评论数据分析
  2. 使用VTK引入基于物理的渲染
  3. (windows)超轻松的anaconda下tensorflow与tensorflow-federated联邦学习环境安装
  4. BS(三层)—增删改查——Web窗体(aspx)版本
  5. 计算机防雷安全标语,防雷防暴雨学校标语
  6. 昆仑健康增多多3号增额终身护理保险产品计划怎么样,好不好?
  7. Alfred 4创建自己的自定义搜索教程!
  8. 如何花更少的时间学习更多的知识
  9. web前端-表单的使用详解
  10. 图像处理深度学习经典基础算法