Làm cách nào để mã hóa chuỗi định dạng dấu gạch nối nối tiếp để nhóm tất cả các Nucleotide và dấu gạch ngang liên tiếp và encode them as run length.Đếm các bảng chữ cái và dấu gạch ngang liên tiếp và mã hóa chúng dưới dạng chiều dài chạy
Xem xét chuỗi của tôi là "ATGC ---- CGCTA ----- G ---". Chuỗi có chuỗi là Nucleotide theo sau là chuỗi dấu gạch nối. Tôi đang cố gắng nhóm tất cả Nucleotide liên tiếp dưới dạng chữ cái M
và dấu gạch ngang liên tiếp dưới dạng chữ cái D
và đặt trước nó với kích thước của chuỗi phụ.
Kết quả cuối cùng của mã hóa này phải là 4M4D5M5D1M3D
.
Các đồ họa bằng hình ảnh sau đây giải thích nó hơn nữa
ATGC----CGCTA-----G---
| | | | | |
V V V V V V
4M 4D 5M 5D 1M 3D
Khi tôi sử dụng Counter
hoặc list.count()
, tôi nhận được "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)
câu hỏi của bạn là gì? –
Câu hỏi là: Tôi đang cố gắng đạt được điều gì đó như 4M4D5M5D1M3D – gthm