2015-09-18 8 views
1

Я пытаюсь получить доступ к строке SS_cons в выравнивании stockholm, который был создан с адским. Я использую AlignIO от biopython 1.63.Доступ к SS_cons через AlignIO

from Bio import AlignIO 
alignment = list(AlignIO.parse(sys.argv[1], "stockholm"))[0] 
print alignment.annotations 

Есть ли специальное свойство объекта выравнивания или возникла проблема с файлом выравнивания?

alignment file

+0

biopython имеет ошибку, и AlignIO (StockholmIO) не может читать «SS_cons» Структура вторичной консенсус в процессе синтаксического анализа .... ваш вклад ОКЕЙ –

ответ

0

Как я уже говорил, это не может быть сделано с помощью Biopython (из-за ошибки), Вы должны будете сделать это вручную, например:

ss_cons = "".join([line.split()[-1] for line in open("Acoela.aln") 
        if line.startswith("#=GC SS_cons")]) 

print(ss_cons) 

вы получите:

(((((((,,<<<<............._____~~~~~~~~~~~~~~~~~~~~~~~~~~~~>>>>,<<<<<_______~~~~~>>>>>.,,,,<<<<<....____~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>>>.>>))))))): 
+0

Спасибо за ответ. Тогда я сделаю это так. – Matthias

Смежные вопросы