Find Frequent Words with Mismatches and Reverse Complements
来源:互联网 发布:聊天表情软件下载 编辑:程序博客网 时间:2024/06/07 01:10
对于这道题的解法 和上一道题是类似的,只要先找出指定大小的kmer,然后判断满足汉明距离小于d而且其反响互补链的汉明距离也要小于d,满足这两个条件这两个链的相似kmer之和最多的链,结果肯定是成对出现的,
python代码:
def hanming(a, b): ham = 0 for i in range(len(a)): if a[i] != b[i]: ham += 1 return hamdef kmer(s,k): mer={} for i in range(len(s)-k+1): if s[i:i+k] not in mer.keys(): mer[s[i:i+k]]=1 else: mer[s[i:i+k]]+=1 return merdef reverse(ds): ds1='' for i in ds: if i=='A': ds1+='T' elif i=='C': ds1+='G' elif i=='G': ds1+='C' else: ds1+='A' return ds1[::-1]import itertoolsdna = input()k_h = list(map(int,input().split()))k=k_h[0]h=k_h[1]result={}dnas = [''.join(x) for x in itertools.product('ACGT', repeat=k)] #使用itertools迭代器产生所有kmerfor km in dnas: result[km]=0 for key in kmer(dna,k).keys(): r_km=reverse(km) if hanming(km,key)<=h: result[km]+=kmer(dna,k)[key] if hanming(r_km, key) <= h: #判断其反转是否也符号要求,如果是,就加上的value result[km]+=kmer(dna,k)[key]max_=max(result.values())for key,value in result.items(): if result[key]==max_: print(key,end=" ")
阅读全文
0 0
- Find Frequent Words with Mismatches and Reverse Complements
- Top K Frequent Words
- Reverse words
- Reverse Words
- Representing Words, Numbers, and Values with Variables
- 【LeetCode with Python】 Reverse Words in a String
- LeetCode - Reverse Integer - Frequent
- [刷题]Top K Frequent Words
- 692. Top K Frequent Words
- 692. Top K Frequent Words
- Problem B. Reverse Words
- Leetcode - Reverse Words
- K most frequent words from a file
- Top K Frequent Words问题及解法
- leetcode 692. Top K Frequent Words
- LeetCode 692. Top K Frequent Words
- LeetCode 692. Top K Frequent Words
- Reverse Proxy Web Sockets with Nginx and Socket.IO
- 文艺平衡树
- 真值表的遍历(C语言版)
- 第一次学习编程
- 【安全牛学习笔记】 AIRRACK-NG SUITE
- Hbase安装流程
- Find Frequent Words with Mismatches and Reverse Complements
- 获取select标签选中的值
- 第二十讲 Randomaccessfile使用、Properties工具类使用、文件压缩例子、装饰者模式、Path接口与Files工具类
- oracle中的exists 和not exists 用法详解
- PhpStorm内置的REST客户端 使用方法
- 彻底删除免安装版mysql
- 1066. 图像过滤(15) PAT乙级真题
- 线性表的插入C语言版
- vue2+vuex+vue-router 快速入门(二) 项目搭建