RAILIN é um kit de ferramentas python para atribuição automatizada de cadeias laterais de aminoácidos a partir de frequências de ressonância magnética nuclear. Este problema pode ser formulado como um problema de atribuição linear e resolvido por técnicas de otimização restrita. RAILIN usa uma abordagem de classificação MAP (máximo a posteriori) para estimar a probabilidade de que as frequências de ressonância de cada sistema de spin correspondam a um dos 21 aminoácidos. O conhecimento prévio é fornecido pela estrutura primária da proteína. Esta sequência de aminoácidos é usada para formular um problema de atribuição linear restrita, que por sua vez é resolvido usando Programação Linear Inteira. Um problema de programação inteira é uma otimização matemática ou programa de viabilidade em que algumas ou todas as variáveis são restritas a números inteiros. Em muitos ambientes, o termo refere-se à programação linear inteira (ILP), na qual a função objetivo e as restrições (exceto as restrições inteiras) são lineares.
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 depende dos seguintes pacotes:
numpy
- obrigatório (numpy.scipy.org)scipy
- obrigatório (scipy.org)matplotlib
- obrigatório (matplotlib.org)networkx
- obrigatório (networkx.github.io/)IBM ILOG CPLEX Optimizer
– necessário (cplex-optimizer)Para verificar se algum dos pacotes acima já está instalado em seu sistema, tente:
$ python
>> > import numpy
>> > import scipy
>> > import matplotlib
>> > import networkx
>> > import cplex
ImportError significa que o pacote não está instalado.
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scipy
$ sudo apt-get install python-matplotlib
$ sudo apt-get install python-networkx
Para fins de teste, uma versão de teste pode ser encontrada aqui. Para obter funcionalidade completa, você precisa registrar-se em ibm.com e obter uma cópia licenciada.