当前位置: 首页 > news >正文

生信算法4 - 获取overlap序列索引和序列的算法

生信序列基本操作算法

建议在Jupyter实践,python版本3.9

1. 获取overlap序列索引和序列的算法实现

# min_length 最小overlap碱基数量3个
def getOverlapIndexAndSequence(a, b, min_length=3):""" Return length of longest suffix of 'a' matchinga prefix of 'b' that is at least 'min_length'characters long.  If no such overlap exists,return 0. """# 开始位置start = 0  while True:# 在序列a中查找b的最小长度后缀start = a.find(b[:min_length], start)  # 如果没有匹配到则返回0if start == -1:  return 0# 如果存在overlap序列,则输出a序列开始索引以及overlap序列# 即序列b的开始 min_length 个碱基与a序列的 min_length 个碱基的后缀序列相同if b.startswith(a[start:]):return len(a)-start, a[start:]# 右移1个碱基start += 1  

2. 算法测试

getOverlapIndexAndSequence('TTACGT', 'CGTGTGC')
# (3, 'CGT') overlap序列开始索引和对应序列碱基getOverlapIndexAndSequence('TTACGT', 'GTGTGC')
# 0
http://www.lryc.cn/news/261843.html

相关文章:

  • springboot 学习网站
  • 论文笔记:A review on multi-label learning
  • 接口文档 YAPI介绍
  • LeetCode 300最长递增子序列 674最长连续递增序列 718最长重复子数组 | 代码随想录25期训练营day52
  • Improving IP Geolocation with Target-Centric IP Graph (Student Abstract)
  • 华为技面三轮面试题
  • Linux arm架构下构建Electron安装包
  • 【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 NLP 部分
  • 推免那些事
  • 华清远见嵌入式学习——QT——作业2
  • C# Winfrm 编写一个天气查看助手
  • 基于SpringBoot和微信小程序的农场信息管理系统
  • Linux统计网卡流量
  • 设计可编辑表格组件
  • 低代码是美食!!!
  • 计算机网络网络层(期末、考研)
  • LCR 120. 寻找文件副本
  • git切换分支
  • Android 在UploadEventService使用ThreadPoolManager线程管理传递数据给后台
  • 网络(十)ACL和NAT
  • JavaScript算法46- 最长连续序列(leetCode:128middle)
  • 提升 API 可靠性的五种方法
  • 【K8S 系列】认识k8s、k8s架构
  • 通过这5步,快速成为数据分析师
  • 深入解析 Spring 和 Spring Boot 的区别
  • Python日期范围按旬和整月以及剩余区间拆分
  • windows安装sqlserver2008后连接失败问题
  • mysql innodb知识记录
  • 在排序数组中查找元素的第一个和最后一个位置(Java详解)
  • k8s 安装firewalld导致的网络疑难问题处理