This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
genetica:wgs [2020/05/20 08:19] osotolongo [Troubleshooting] |
genetica:wgs [2020/08/04 10:58] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
El objetivo es definir un procedimiento que procese un numero grande de secuencias WGS en el menor tiempo posible. Para ello,una vez definido el pipeline deberemos automatizar las tareas e integrarlas en el schedule manager del cluster ([[: | El objetivo es definir un procedimiento que procese un numero grande de secuencias WGS en el menor tiempo posible. Para ello,una vez definido el pipeline deberemos automatizar las tareas e integrarlas en el schedule manager del cluster ([[: | ||
+ | ** Nota: Aunque el script de ejecución final está integrado en el cluster de Fundació ACE, puede ser modificado fácilmente para integrarlo en cualquier otro cluster que use [[https:// | ||
===== tl;dr ===== | ===== tl;dr ===== | ||
< | < | ||
Line 207: | Line 208: | ||
</ | </ | ||
- | < | + | < |
$orderfile = $outdir.'/ | $orderfile = $outdir.'/ | ||
open ORD, "> | open ORD, "> | ||
Line 467: | Line 468: | ||
</ | </ | ||
++++ | ++++ | ||
- | + | {{: | |
- | 8-) | + | 8-)}} |
===== Ejecucion ===== | ===== Ejecucion ===== | ||
Line 526: | Line 527: | ||
Pueden ocurrir multitud de problemas en la ejecucion del script. Afortunadamente un fallo en uno de las tareas afecta solamente al sujeto individual sobre el que se realiza la tarea. El resto de sujetos se procesara correctamente. | Pueden ocurrir multitud de problemas en la ejecucion del script. Afortunadamente un fallo en uno de las tareas afecta solamente al sujeto individual sobre el que se realiza la tarea. El resto de sujetos se procesara correctamente. | ||
- | Al ocurrir un fallo en algun script, el sistema enviara un email informando del fallo y el //jobid// asociado. Toda la informacion ira en el //subject// del email. | + | Al ocurrir un fallo en algun script, el sistema enviara un email informando del fallo y el //jobid// asociado. Toda la informacion ira en el //subject// del email. |
+ | |||
+ | ==== ejemplo 1 ==== | ||
+ | Aqui se informa que la tarea con //jobid = 154540// ha fallado. Tambien sabemos que esta relacionada con el sujeto // | ||
< | < | ||
Line 566: | Line 570: | ||
El nombre del log nos dice que ha fallado alguno de los //bwa//. En caso de querer depurar mas lo que ha pasado podemos leer el log y encontrar cual de los comandos ha fallado exactamente. | El nombre del log nos dice que ha fallado alguno de los //bwa//. En caso de querer depurar mas lo que ha pasado podemos leer el log y encontrar cual de los comandos ha fallado exactamente. | ||
- | Otro ejemplo | + | ==== ejemplo |
+ | |||
+ | Algo menos basico, recibimos un email con subject, | ||
< | < | ||
Line 613: | Line 619: | ||
Este error desencadena todos los demas errores. | Este error desencadena todos los demas errores. | ||
+ | Dado que sabemos que este log corresponde al script // | ||
+ | |||
+ | < | ||
+ | [osotolongo@brick03 WGS]$ grep MarkDuplicates slurm/ | ||
+ | java -Djava.io.tmpdir=/ | ||
+ | </ | ||
+ | |||
+ | e intentar reparar lo que este mal. | ||
+ | |||
+ | ==== Opciones extra ==== | ||
+ | |||
+ | === lista de inclusion === | ||
+ | |||
+ | Digamos que de un pool de sujetos han fallado 2 o 3. No queremos tener que ejecutar el analisis para todos los sujetos, solo para los que han fallado. No queremos mover los sujetos que han fallado a un nuevo directorio pues atenta contra la organizacion del trabajo y el uso correcto del tiempo. | ||
+ | |||
+ | Para esto existe la opcion //-cut// que indica al script que se analice exclusivamente los sujetos contenidos en un archivo de input. | ||
+ | |||
+ | La forma correcta de utilizarlo es la siguiente. Ejemplo, si solo queremos que se ejecute el analisis en los sujetos //seq-8// y //seq-27//, hacemos el siguiente archivo, | ||
+ | |||
+ | < | ||
+ | [osotolongo@brick03 WGS]$ cat / | ||
+ | seq-8 | ||
+ | seq-27 | ||
+ | </ | ||
+ | |||
+ | y tras esto ejecutamos algo como, | ||
+ | |||
+ | < | ||
+ | $ ./wgs.pl -cut / | ||
+ | </ | ||
+ | |||
+ | que hara todo el procedimiento pero solo para estos sujetos. | ||
+ | |||
+ | === debug === | ||
+ | |||
+ | Para ayudar en la localizacion de errores existe la opcion //-g//, para indicar que no se borren los archivos temporales. El comando, | ||
+ | |||
+ | < | ||
+ | $ ./wgs.pl -g -o / | ||
+ | </ | ||
+ | deja un subdirectorio //tmp// por cada sujeto con sus archivos temporales correspondientes. Ejemplo para seq-5, estos archivos estarian en // / |