В итоге я использовал BioPython для извлечения последовательностей, а затем отредактировал реализацию Ильи Стеанова, чтобы удалить методы argparse.
import imp
seqs = []
lcsm = imp.load_source('lcsm', '/path/to/ukkonen.py')
for record in SeqIO.parse('/path/to/sequences.txt', 'fasta'):
seqs.append(record)
lcsm.main(seqs)
Для алгоритма я main()
принимал один аргумент, его strings
переменную, но это отправляет алгоритму список специальных объекты BioPython Sequence, которые не нравятся модулю re. Поэтому мне пришлось извлечь строку последовательности
suffix_tree.append_string(s)
to
suffix_tree.append_string(str(s.seq))
который кажется хрупким, но это все, что у меня есть на данный момент.
person
Niels
schedule
05.06.2015