C语言 输出重复序列的序号,如何在FASTA序列中找到反向重复模式?

我是Python和生物信息学的新手,但我正在通过rosalind.info网站学习两种方法.您可以使用后缀树执行此操作.后缀树(见

http://en.wikipedia.org/wiki/Suffix_tree)是神奇的数据结构,它使生物信息学中的所有事情成为可能.您可以快速找到多个长序列中的公共子串.后缀树只需要线性时间,因此长度10,000,000是可行的.

所以首先找到序列的反向补码.然后将两者放入后缀树中,找到它们之间的公共子串(最小长度).

下面的代码使用了这个后缀树实现:http://www.daimi.au.dk/~mailund/suffix_tree.html.它是用C语言编写的,带有Python绑定.它不会处理大量的序列,但是两个没有问题.但是我不能说这是否会处理长度10,000,000.

from suffix_tree import GeneralisedSuffixTree

baseComplement = { 'A' : 'T', 'C' : 'G', 'G' : 'C', 'T' : 'A' }

def revc(seq):

return "".join([baseComplement[base] for base in seq[::-1]])

data = "AGGGTTTCCCTGACCTTCACTGCAGGTCATGCA"

# revc TGCATGACCTGCAGTGAAGGTCAGGGAAACCCT

# 012345678901234567890123456789012

# 1 2 3

minlength = 6

n = len(data)

tree = GeneralisedSuffixTree([data, revc(data)])

for shared in tree.sharedSubstrings(minlength):

#print shared

_, start, stop = shared[0]

seq = data[start:stop]

_, rstart, rstop = shared[1]

rseq = data[n-rstop:n-rstart]

print "Match: {0} at [{1}:{2}] and {3} at [{4}:{5}]".format(seq, start, stop, rseq, n-rstop, n-rstart)

这会产生输出

Match: AGGTCA at [23:29] and TGACCT at [10:16]

Match: TGACCT at [10:16] and AGGTCA at [23:29]

Match: CTGCAG at [19:25] and CTGCAG at [19:25]

它每次匹配两次,每次一次.那里也有反向回文!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大写汉字转阿拉伯数字c语言,阿拉伯数字转中文数字方法详解(C++实现)

阿拉伯数字与中文数字没有一一对应关系,不存在直接转换的公式化算法,因此需要根据两种数字体系的特点精心构造转换算法。中文计数有一个特点,就是“零”的使用变化多端。阿拉伯数字中数字的权位依靠数字在整个数字长度中的偏移位置确定&#…

android 自定义progressbar demo,Android 自定义进度条ColorfulProgressbar,原理简单、效果还行...

效果图:demo效果演示演示Demo特性与原生Progress相比,感觉更漂亮一点,可以显示进度值,背景凹凸感明显,进度条效果更加立体。原理说明额,挺简单的。不过感觉我的做法有点复杂了,我先自定义了一个…

android os自动安裝软件,[图]Bliss OS 12进入开发阶段:可在桌面设备上安装Android 10系统...

此外还对电池进行了优化,添加了额外的安全性选项和相关功能,支持大部分主流游戏手柄,兼容ARM / ARM64应用程序。目前Bliss OS 12已经进入早期开发阶段,有望让您在PC上运行最新的Android 10移动操作系统。Bliss OS开发人员说&#…

android安装eclipse插件,Android SDK安装及Eclipse插件安装.pdf

Android SDK 安装不 Eclipse 插件安装工具的下载开发 Android 需要用到的工具有:集成开发环境 Eclipse ,Android 的 SDK 以及Java SDKAndroid SDK 下载地址 :/sdk/index.html点击上图中的红色地址就可以下载Eclipse 下载地址:/dow…

android 添加随意拖动的桌面悬浮窗口,android 添加随意拖动的桌面悬浮窗口

用过新版本android 360手机助手都人都对 360中只在桌面显示一个小小悬浮窗口羡慕不已吧?其实实现这种功能,主要有两步:1.判断当前显示的是为桌面。这个内容我在前面的帖子里面已经有过介绍,如果还没看过的赶快稳步看一下哦。2.使用…

android+版本升级的时候会清楚数据马,android主进程销毁了,线程会不会也销毁?...

Android Activity 销毁后子线程会不会被GC回收曾想当然地认为页面被finish之后线程会被android 虚拟机的垃圾回收机制回收掉。于是用页面跳转做测试测试代码结果有点意外,页面被销毁后定时器依然在执行。退出应用定时器还在执行。UI线程被结束掉,UI线程里…

mate7安装android o,华为Mate7升级安卓6.0详细教程

来讲一下华为Mate7升级安卓6.0(EMUI4.0)M版本详细图文教程吧,新的一年了,大家都迫不及待的想升级一下EMUI4.0,但是很多朋友都不知道怎样来升级,下面刷机网小编就来给大家仔细说一说吧,教程都在下面己经整理好了&#x…

html自动图片尺寸,关于html:CSS背景图像适合宽度,高度应按比例自动缩放

我有body {background: url(images/background.svg);}期望的效果是该背景图像的宽度等于页面的宽度,高度变化以保持比例。 例如 如果原始图像恰好是100 * 200(任何单位)且正文宽度为600px,则背景图像最终应为1200px高。 如果调整窗口大小,高度…

html定位的所有属性,HTML CSS定位属性详解 嘿嘿嘿

定位属性:Position作用:检索或者设置元素的定位方式“(改变元素位置)定位的步骤:1.给元素添加position属性 证明该元素要做位置变2.确定参照物!(通过position的属性值来确定 )3.确定坐标 left right top bottomPosition的属性值&a…

html中表格与字对齐,html – 中心与表格单元格对齐

这是一个很好的起点。HTML:CSS:.containing-table {display: table;width: 100%;height: 400px; /* for demo only */border: 1px dotted blue;}.centre-align {padding: 10px;border: 1px dashed gray;display: table-cell;text-align: center;vertical…

postman响应html,Postman工具——请求与响应(示例代码)

两个内容: Request 请求和 Response 响应,下面就开始了。一、Request 请求Request 请求,我们只介绍常用的四种:GET、POST、PUT、DELETE,其他类型的就不展开介绍了。另外,我们今天测试的项目是基于 RESTful …

2021高考无准考证成绩查询,2021考研没有准考证号怎么查成绩

2021考研没有准考证号怎么查成绩2020-12-10 11:02:14文/徐克达考研初试结束后,大家最关心的就是成绩的事情了,那么考研没有准考证号怎么查成绩呢?下面是小编整理的详细内容,一起来看看吧!考研没有准考证号查成绩的方法…

c++ 如何确认网卡为无线网卡_笔记本无线网卡有哪几种 有必要升级吗

无线网卡是很多朋友购买笔记本时容易忽视的部分,相比较处理器、内存、显卡和硬盘,无线网卡几乎不可选,而且很少有厂商提到自家产品采用的无线网卡型号。大家可能遇到过这种情况:为什么手机可以连接到5Ghz,而自己的笔记…

计算机网络专业运动会入场式,运动会入场式解说词(精选10篇)

运动会入场式解说词(精选10篇)在学习、工作生活中,接触并使用解说词的人越来越多,解说词是依靠文字来对事物、事件或人物进行描述的口头说明解说的词。大家知道解说词的格式吗?以下是小编精心整理的运动会入场式解说词(精选10篇),…

gifcam使用缩小内存_Fedora 上的桌面环境内存占用测试 | Linux 中国

通常,根据功能、外观和其它品质,选择桌面是一件非常个人的偏好。但有时,你选择的桌面环境还会受到硬件限制。-- Troy DawsonFedora 中有 40 多种桌面环境(DE)。每种桌面环境都有自己的优点和缺点。通常,根据功能、外观和其它品质&…

优秀自我简介200字_全球战疫 翰墨传情——东方盛世杯网络公益书画展优秀作品【二】...

​本文纯手打原创,转发请标注出处!中国书画爱好者,是中华优秀传统文化的薪火传承者。他们用生命中最美好的时光与最深沉的情感,实践着伟大文化复兴而不自知。——书画家网经过评委的精心评选,“东方盛世杯”2020网络公…

html渐变编织背景,【报Bug】uniapp设置了css渐变背景色编译时会报错

详细问题描述css样式中设置了背景色的话在H5发行编译时会报错,不过在浏览器运行编译时未发生错误。错误日志:[HBuilder] 15:14:32.364 Module build failed (from ./node_modules/postcss-loader/src/index.js):[HBuilder] 15:14:32.365 TypeError: Cann…

fi sap 凭证冲销 稅_SAP 成本收集器与重复制造配置手册

1.检查产品成本收集器的评估变式OPN22.检查产品成本收集器的成本核算变式OKKN3.确定作业数量的成本核算变式4.内部作业估价的成本核算变式5.定义订单交货的货物接收评估6.定义利润分析码OKG17.定…

要怎么在计算机里清除桌面内存,电脑内存不足怎么办?怎么清理电脑内存?

当电脑内存不足,内存占用高,磁盘空间不够时,我们该如何对电脑进行清理呢?今天我们就一起来看看清理电脑内存的方法!一、结束进程中占用内存高的软件1.使用电脑组合键【CtrlShiftEsc】调出任务管理器,在【进…

python制作加密工具_Python制作钉钉加密/解密工具

又是很久没有写技术博客了,盖因最近都在学习知识,也没有总结出什么值得分享的内容,所以一直停笔至今。最近的工作和钉钉的开发打上了交到,官方并没有提供任何Python的SDK,于是只能全部自己写。现在我将其中实现起来相对…