Come codificare la stringa di formato fasta con trattino per raggruppare tutti i Nucleotidi e i trattini consecutivi e encode them as run length.Conteggio alfabeti e trattini consecutivi e codifica come lunghezza di esecuzione
Considera la mia sequenza come "ATGC ---- CGCTA ----- G ---". La stringa ha una sequenza di Nucleotide seguita da una sequenza di trattini. Sto cercando di raggruppare tutti i nucleotidi consecutivi come la lettera M
e i trattini consecutivi come lettera D
e aggiungerlo come prefisso alla dimensione della sequenza secondaria.
Il risultato finale di questa codifica deve essere 4M4D5M5D1M3D
.
Il seguente grafico pittorica spiega ulteriormente
ATGC----CGCTA-----G---
| | | | | |
V V V V V V
4M 4D 5M 5D 1M 3D
Quando uso Counter
o list.count()
, ottengo "M":10 "D":12
:
from collections import Counter
seq="ATGC----CGCTA-----G---"
M=0
D=0
cigar=[]
for char in seq:
if char.isalpha():
M+=1
cigar.append("M")
else:
D+=1
cigar.append("D")
print Counter(cigar)
qual è la tua domanda? –
Domanda: sto cercando di ottenere qualcosa come 4M4D5M5D1M3D – gthm