RAILIN es un conjunto de herramientas de Python para la asignación automatizada de cadenas laterales de aminoácidos a partir de frecuencias de resonancia magnética nuclear. Este problema puede formularse como un problema de asignación lineal y resolverse mediante técnicas de optimización restringida. RAILIN utiliza un enfoque de clasificación MAP (máximo a posteriori) para estimar la probabilidad de que las frecuencias de resonancia de cada sistema de espín correspondan a uno de los 21 aminoácidos. El conocimiento previo lo proporciona la estructura primaria de la proteína. Esta secuencia de aminoácidos se utiliza para formular un problema de asignación lineal restringida, que a su vez se resuelve mediante programación lineal entera. Un problema de programación entera es un programa de optimización o viabilidad matemática en el que algunas o todas las variables están restringidas a ser números enteros. En muchos entornos, el término se refiere a la programación lineal entera (ILP), en la que la función objetivo y las restricciones (distintas de las restricciones enteras) son lineales.
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 de los siguientes paquetes:
numpy
- requerido (numpy.scipy.org)scipy
- requerido (scipy.org)matplotlib
- requerido (matplotlib.org)networkx
- requerido (networkx.github.io/)IBM ILOG CPLEX Optimizer
- requerido (cplex-optimizer)Para comprobar si alguno de los paquetes anteriores ya está instalado en su sistema, intente:
$ python
>> > import numpy
>> > import scipy
>> > import matplotlib
>> > import networkx
>> > import cplex
ImportError significa que el paquete no 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 fines de prueba, puede encontrar una versión de prueba aquí. Para obtener una funcionalidad completa, debe registrarse en ibm.com y obtener una copia con licencia.