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)