Я пытаюсь отредактировать файл MSA (Multiple Sequence Alignment), созданный ClustalW, чтобы обрезать последовательности до консенсусного, используя BioPython.
xxx относится к другим основам, не относящимся к делу
Вот пример ввода / вывода:
ВХОД
ITS_primer_fw --------------------------------CGCGTCCACTMTCCAGTT
RBL67ITS_full_sequence CCACCCCAACAAGGGCGGCCACGCGGTCCGCTCGCGTCCACTCTCCAGTTxxxxxxxxxxxxxxxxxxxxxxx
PRL2010 ACACCCCCGAAAGGGCGTCC------CCTGCTCGCGTCCACTATCCAGTTxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BBF32_3 ACACACCCACAAGGGCGAGCAGGCG----GCTCGCGTCCACTATCCAGTTxxxxxxxxxxxxxx
BBFCG32 CAACACCACACCGGGCGAGCGGG-------CTCGCGTCCACTGTCGAGTTxxxxxxxxxxxxxxxxxxxxxx
ОЖИДАЕМЫЙ ВЫХОД
ITS_primer_fw CGCGTCCACTMTCCAGTT
RBL67ITS_full_sequence CGCGTCCACTCTCCAGTTxxxxxxxxxxxxxxxxxxxx
PRL2010 CGCGTCCACTATCCAGTTxxxxxxxxxxxxxxxxxxxxx
BBF32_3 CGCGTCCACTATCCAGTTxxxxxxxxxxxxxxxxxxx
BBFCG32 CGCGTCCACTGTCGAGTTxxxxxxxxxxxxxxxxxxxx
Документированный код для AlignIO
описывает просто способ извлечения последовательностей, рассматривая выравнивание как массив . В этом примере
align = AlignIO.read(input_file, "clustal")
sub_alignment = align[:,20:]
Мне удалось извлечь подстановку, сделанную всеми последовательностями (:), начиная с 20-го нуклеотида. Я ищу способ заменить 20
в примере положением первого нуклеотида консенсусной последовательности.