#python
#python
Вопрос:
Вывод программы
MARTKQTARKSTGGKAPRKQLATKAA
1. MARTKQTA
2. ARTKQTAR
3. RTKQTARK
4. TKQTARKS
и так далее, удалите все дубликаты значения с 1-м вхождением значения
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
с open(r»fasta file», «r») как f:
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)
Комментарии:
1. Привет, в чем ваш вопрос ?
2. здравствуйте, после получения списка всех kmer размером 8 из файла fasta. я просто хочу удалить все дубликаты kmer размером 8 с их 1-м появлением
3. Вы знаете, что такое a
set
?4. Нет, я не знаю, что установлено.