RAILIN — это набор инструментов Python для автоматического назначения боковых цепей аминокислот на основе частот ядерного магнитного резонанса. Эту проблему можно сформулировать как задачу линейного назначения и решить с помощью методов оптимизации с ограничениями. RAILIN использует подход классификации MAP (maximum aposteriori) для оценки вероятности того, что резонансные частоты каждой спин-системы соответствуют одной из 21 аминокислоты. Предварительные знания предоставляются первичной структурой белка. Эта аминокислотная последовательность используется для формулирования задачи линейного присвоения с ограничениями, которая, в свою очередь, решается с помощью целочисленного линейного программирования. Задача целочисленного программирования — это программа математической оптимизации или осуществимости, в которой некоторые или все переменные ограничены целыми числами. Во многих случаях этот термин относится к целочисленному линейному программированию (ILP), в котором целевая функция и ограничения (кроме целочисленных ограничений) являются линейными.
usage: railin.py [-h] [--reffile REFFILE] [-a ASSIGNMENTS] [-t TOLERANCE]
[-s {Joint,JointNew,CplexILP,ILP,Single}] [-v]
resfile seqfile
positional arguments:
resfile Path to list of pseudo-residues in ASCII format.
seqfile Path to sequence file in FASTA format.
optional arguments:
-h, --help show this help message and exit
--reffile REFFILE Path to BMRB reference shifts in ASCII format.
-a ASSIGNMENTS, --assignments ASSIGNMENTS
Number of assignments to be computed (default: 100).
-t TOLERANCE, --tolerance TOLERANCE
Linking Tolerance in ppm (default: 0.6).
-s {Joint,JointNew,CplexILP,ILP,Single}, --strategy {Joint,JointNew,CplexILP,ILP,Single}
Assignment strategy (default: CplexILP).
-v, --verbose Turn on verbosity option.
RAILIN зависит от следующих пакетов:
numpy
-- требуется (numpy.scipy.org)scipy
-- требуется (scipy.org)matplotlib
— требуется (matplotlib.org)networkx
-- требуется (networkx.github.io/)IBM ILOG CPLEX Optimizer
— требуется (cplex-optimizer)Чтобы проверить, установлен ли какой-либо из вышеперечисленных пакетов в вашей системе, попробуйте:
$ python
>> > import numpy
>> > import scipy
>> > import matplotlib
>> > import networkx
>> > import cplex
ImportError означает, что пакет не установлен.
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scipy
$ sudo apt-get install python-matplotlib
$ sudo apt-get install python-networkx
В целях тестирования пробную версию можно найти здесь. Для получения полной функциональности вам необходимо зарегистрироваться на сайте ibm.com и получить лицензионную копию.