Python程序将大字符串拆分为8段子字符串,并删除第一次出现时所有可能的重复项
程序输出Python程序将大字符串拆分为8段子字符串,并删除第一次出现时所有可能的重复项,python,Python,程序输出 MARTKQTARKSTGGKAPRKQLATKAA 1. MARTKQTA 2. ARTKQTAR 3. RTKQTARK 4. TKQTARKS 依此类推,删除第一次出现值时的所有重复值 import operator unique_kmer = {} duplicate_kmer = {} def printSeq(name, seq): \\print name kmers = {} k = 8 \\window size 8 for i in range(l
MARTKQTARKSTGGKAPRKQLATKAA
1. MARTKQTA
2. ARTKQTAR
3. RTKQTARK
4. TKQTARKS
依此类推,删除第一次出现值时的所有重复值
import operator
unique_kmer = {}
duplicate_kmer = {}
def printSeq(name, seq):
\\print name
kmers = {}
k = 8
\\window size 8
for i in range(len(seq)-k +1):
kmer = seq[i:i+k]
\\ break string 1-8 char,then 2-9, 3-10 and so on
if kmer in unique_kmer:
continue
if kmer in duplicate_kmer:
duplicate_kmer[kmer] = ""
del duplicate_kmer[kmer]
else:
unique_kmer[kmer]= name
打开(r“fasta文件”,“r”)作为f:
您好,您有什么问题吗?您好,从fasta文件中获取了所有8码kmer的列表。我只想在第一次出现时删除所有重复的8码kmer。你知道什么是
set
吗?不,我不知道设置了什么。
seq = ""
key = ""
for line in f.readlines():
if line.startswith(">"):
if key and seq:
printSeq(key, seq)
key = line[1:].rstrip()
seq = ""
else:
seq += line.strip()
for k , v in unique_kmer.items():
print(k + " , " + v)