Объединение нескольких файлов нексуса в суперматрицу с помощью Biopython - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь использовать следующий код, предложенный в Bio python wiki веб-сайте , чтобы объединить несколько файлов Nexus для создания одной матрицы данных с разделами (кодировками) в конце документа.

from Bio.Nexus import Nexus

file_list = ['btCOI.nex', 'btCOII.nex', 'btITS.nex']
nexi =  [(fname, Nexus.Nexus(fname)) for fname in file_list]

combined = Nexus.combine(nexi)
combined.write_nexus_data(filename=open('btCOMBINED.nex', 'w'))

Это выглядит очень просто, но у меня есть два вопроса относительно двух ошибок, связанных с этим скриптом:

  1. Кажется, он отлично работает с моими файлами, но скрипт не работает. создать разделы в конце документа. Зачем? Я попытался найти что-то в Интернете, но нашел ноль.

2) Я предполагаю, что мои файлы идентичны (не по длине) тому, что предлагается на странице bio python . Однако, если их код работает с моими файлами нексуса (не полностью, см. Вопрос № 1), когда я пытаюсь использовать их файлы, объединенный вывод полностью пуст. Почему это происходит?

Могут ли эти две ошибки быть связаны с измененной версией моей биографии python? Моя версия 1.76, последняя выпущенная. Может быть, это слишком «новое» по отношению к предложенному модулю Nexus?

Большое спасибо за вашу помощь.

PS Пожалуйста, не советуйте мне использовать другой инструмент для конкатенации файлов nexus, Я знаю их и обычно использую их, но я просто хочу попытаться скомпилировать что-нибудь умнее и быстрее. Спасибо

...