COM HO FA?
El programa està estructurat en quatre parts:
Entrada de dades:
La matriu @Exons conté:
Algoritme central:
El programa es basa en un algoritme central que té en compte una sèrie de restriccions. Anirà recorrent els diferents exons amb dues variables: $i i $j.
L'algoritme central és:
$i=0;
while ($i < scalar(@Exons)) {                        # $i sigui més petit que el nombre total d'exons emmagatzemats en @Exons #
$j = 0;
&& $Exons[$j][8] == $Exons[$i][7]              # Que el remainder d'un exó sigui igual al frame del següent #
&& restriccio ($Exons[$j][2],$Exons[$i][2],($Exons[$i][3] - $Exons[$j][4]))) {  # Que la separació dels exons que van seguits                                                                                                                           estigui entre la mínima i la màxima #
$puns[$i] = $puns[$j];                            # Es van acumulant les puntuacions dels millors gens #
$gens[$i] = $j;                             # Es van acumulant les posicions dels exons que formen els millors gens #
}
}
$j = $j+1;
}
$puns[$i] = $puns[$i]+ $Exons[$i][5];                             # La puntuació del millor gen serà la suma de la puntuació de l'exó amb el que acaba + la $i = $i+1;
Sortida de dades:
Funcions:
Les funcions utilitzades en aquest programa són:
                        $Exons [$i] [0] - Columna on s'emmagatzema l'entrada de la seqüència
                        $Exons [$i] [1] - Columna amb el nom del programa de predicció d'exons
                        $Exons [$i] [2] - Tipus d'exó
                        $Exons [$i] [3] - Posició de l'acceptor de l'exó
                        $Exons [$i] [4] - Posició del donor
                        $Exons [$i] [5] - Puntuació
                        $Exons [$i] [6] - Strand on està predit l'exó (el nostre programa només té en compte la cadena +)
                        $Exons [$i] [7] - Pauta de lectura de l'exó
                        $Exons [$i] [8] - Remainder ( calculat pel nostre programa )
$puns[$i] = 0;                        # Vector que emmagatzema les puntuacions dels millors gens #
$gens[$i] = -1;                        # Vector que emmagatzema les posicions dels exons que formen el millor gen #
}
                                                                                          puntuació del millor gen que acaba abans d'aquest últim exó #