RAILIN ist ein Python-Toolkit für die automatisierte Zuordnung von Aminosäureseitenketten aus Kernspinresonanzfrequenzen. Dieses Problem kann als lineares Zuordnungsproblem formuliert und durch eingeschränkte Optimierungstechniken gelöst werden. RAILIN verwendet einen MAP-Klassifizierungsansatz (Maximum Aposteriori), um die Wahrscheinlichkeit abzuschätzen, dass die Resonanzfrequenzen jedes Spinsystems einer der 21 Aminosäuren entsprechen. Vorkenntnisse liefern die Protein-Primärstruktur. Diese Aminosäuresequenz wird verwendet, um ein eingeschränktes lineares Zuordnungsproblem zu formulieren, das wiederum mithilfe der ganzzahligen linearen Programmierung gelöst wird. Ein ganzzahliges Programmierproblem ist ein mathematisches Optimierungs- oder Machbarkeitsprogramm, bei dem einige oder alle Variablen darauf beschränkt sind, ganze Zahlen zu sein. In vielen Situationen bezieht sich der Begriff auf ganzzahlige lineare Programmierung (ILP), bei der die Zielfunktion und die Einschränkungen (außer den ganzzahligen Einschränkungen) linear sind.
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 ist auf folgende Pakete angewiesen:
numpy
– erforderlich (numpy.scipy.org)scipy
– erforderlich (scipy.org)matplotlib
– erforderlich (matplotlib.org)networkx
– erforderlich (networkx.github.io/)IBM ILOG CPLEX Optimizer
– erforderlich (cplex-optimizer)Um zu überprüfen, ob eines der oben genannten Pakete bereits auf Ihrem System installiert ist, versuchen Sie Folgendes:
$ python
>> > import numpy
>> > import scipy
>> > import matplotlib
>> > import networkx
>> > import cplex
ImportError bedeutet, dass das Paket nicht installiert ist.
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scipy
$ sudo apt-get install python-matplotlib
$ sudo apt-get install python-networkx
Zu Testzwecken finden Sie hier eine Testversion. Für den vollen Funktionsumfang müssen Sie sich bei ibm.com registrieren und eine lizenzierte Kopie erhalten.