User Tools

Site Tools


genetica:pywgs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
genetica:pywgs [2020/10/10 12:55] – [Opciones extra] osotolongogenetica:pywgs [2020/10/21 09:12] – [Programatic tree] osotolongo
Line 6: Line 6:
 ===== tl;dr ===== ===== tl;dr =====
 <code> <code>
- ./wgs.py -o <output_dir> [-cut <list.txt>] [-g] <input_dir>+ ./wgs.py -o <output_dir> [-<list.txt>] [-g] -s <input_dir> 
 +</code> 
 +
 +<code> 
 + ./wgs.py --output=<output_dir> [--cut=<list.txt>] [--debug] --source=<input_dir>
 </code> </code>
 Opciones: Opciones:
-  * <input_dir> : (Mandatory) Directorio donde se encuentran todas las secuencias. El script buscara los sujetos y sus archivos dentro de este directorio.+  * -s <input_dir> : (Mandatory) Directorio donde se encuentran todas las secuencias. El script buscara los sujetos y sus archivos dentro de este directorio.
   * -o <output_dir> : (Opcional) Directorio donde se escribiran los resultados. En caso de obviarse se escribiran en el directorio desde el cual se lanza el script.   * -o <output_dir> : (Opcional) Directorio donde se escribiran los resultados. En caso de obviarse se escribiran en el directorio desde el cual se lanza el script.
   * -cut <list.txt> : (Opcional) Dice al script que analice SOLO los sujetos incluidos en el archivo que se suministra <list.txt>. Este archivo debe ser una listasimple de los sujetos a analizar.   * -cut <list.txt> : (Opcional) Dice al script que analice SOLO los sujetos incluidos en el archivo que se suministra <list.txt>. Este archivo debe ser una listasimple de los sujetos a analizar.
   * -g : Indica que no se borren los archivos temporales. Por defecto se borran, a no ser que se ponga este switch.   * -g : Indica que no se borren los archivos temporales. Por defecto se borran, a no ser que se ponga este switch.
  
 +=== Ejemplo ===
 +<code>
 +[osotolongo@brick03 wgs]$ bin/wgs.py -o /home/osotolongo/wgs/temp -c only.txt -s /the_dysk/BGI_exome/F18FTSEUET0180/HUMehbE/
 +Submitted batch job 1708
 +Submitted batch job 1709
 +Submitted batch job 1710
 +Submitted batch job 1711
 +Submitted batch job 1715
 +Submitted batch job 1716
 +Submitted batch job 1717
 +Submitted batch job 1718
 +Submitted batch job 1722
 +Submitted batch job 1723
 +Submitted batch job 1724
 +Submitted batch job 1725
 +Submitted batch job 1729
 +[osotolongo@brick03 wgs]$ squeue
 +             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON) 
 +              1712      fast sam_seq- osotolon PD       0:00      1 (Dependency) 
 +              1713      fast verify_s osotolon PD       0:00      1 (Dependency) 
 +              1714      fast validate osotolon PD       0:00      1 (Dependency) 
 +              1719      fast sam_seq- osotolon PD       0:00      1 (Dependency) 
 +              1720      fast verify_s osotolon PD       0:00      1 (Dependency) 
 +              1721      fast validate osotolon PD       0:00      1 (Dependency) 
 +              1726      fast sam_seq- osotolon PD       0:00      1 (Dependency) 
 +              1727      fast verify_s osotolon PD       0:00      1 (Dependency) 
 +              1728      fast validate osotolon PD       0:00      1 (Dependency) 
 +              1729      fast  wgs_end osotolon PD       0:00      1 (Dependency) 
 +              1708      fast sam_seq- osotolon  R       0:10      1 brick01 
 +              1709      fast sam_seq- osotolon  R       0:10      1 brick01 
 +              1710      fast sam_seq- osotolon  R       0:10      1 brick01 
 +              1711      fast sam_seq- osotolon  R       0:10      1 brick01 
 +              1715      fast sam_seq- osotolon  R       0:10      1 brick01 
 +              1716      fast sam_seq- osotolon  R       0:07      1 brick01 
 +              1717      fast sam_seq- osotolon  R       0:07      1 brick01 
 +              1718      fast sam_seq- osotolon  R       0:07      1 brick01 
 +              1722      fast sam_seq- osotolon  R       0:07      1 brick02 
 +              1723      fast sam_seq- osotolon  R       0:07      1 brick02 
 +              1724      fast sam_seq- osotolon  R       0:07      1 brick02 
 +              1725      fast sam_seq- osotolon  R       0:07      1 brick02 
  
 +</code>
 ===== Pipeline ===== ===== Pipeline =====
  
Line 138: Line 182:
     ord_content += '#SBATCH --mail-type=FAIL,TIME_LIMIT,STAGE_OUT\n'     ord_content += '#SBATCH --mail-type=FAIL,TIME_LIMIT,STAGE_OUT\n'
     ord_content += '#SBATCH --mail-user='+os.environ.get('USER')+'\n'     ord_content += '#SBATCH --mail-user='+os.environ.get('USER')+'\n'
-    ord_content += bwa+' mem  -t 4 -R "@RG\tID:'+fq_name+'_'+fqid+'\tSM:'+pname+'\tPL:BGI\tPI:380" -M '+ref_dir+'/Homo_sapiens_assembly38 '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_1.fq.gz '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_2.fq.gz > '+tmpdir+'/'+pname+_+str(i)+'.sam\n'+    ord_content += bwa+' mem  -t 4 -R "@RG\\tID:'+fq_name+'_'+fqid+'\\tSM:'+pname+'\\tPL:BGI\\tPI:380" -M '+ref_dir+'/Homo_sapiens_assembly38 '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_1.fq.gz '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_2.fq.gz > '+tmpdir+'/'+pname+'_'+str(i)+'.sam\n'
     osf = open(orderfile, 'w')     osf = open(orderfile, 'w')
     osf.write(ord_content)     osf.write(ord_content)
Line 263: Line 307:
 import getopt import getopt
 import re import re
 +import subprocess
  
 """ """
Line 349: Line 394:
     ord_content += '#SBATCH --mail-type=FAIL,TIME_LIMIT,STAGE_OUT\n'     ord_content += '#SBATCH --mail-type=FAIL,TIME_LIMIT,STAGE_OUT\n'
     ord_content += '#SBATCH --mail-user='+os.environ.get('USER')+'\n'     ord_content += '#SBATCH --mail-user='+os.environ.get('USER')+'\n'
-    ord_content += bwa+' mem  -t 4 -R "@RG\tID:'+fq_name+'_'+fqid+'\tSM:'+pname+'\tPL:BGI\tPI:380" -M '+ref_dir+'/Homo_sapiens_assembly38 '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_1.fq.gz '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_2.fq.gz > '+tmpdir+'/'+pname+_+str(i)+'.sam\n'+    ord_content += bwa+' mem  -t 4 -R "@RG\\tID:'+fq_name+'_'+fqid+'\\tSM:'+pname+'\\tPL:BGI\\tPI:380" -M '+ref_dir+'/Homo_sapiens_assembly38 '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_1.fq.gz '+src_dir+'/'+pollo+'/'+fq_name+'_'+fqid+'_2.fq.gz > '+tmpdir+'/'+pname+'_'+str(i)+'.sam\n'
     osf = open(orderfile, 'w')     osf = open(orderfile, 'w')
     osf.write(ord_content)     osf.write(ord_content)
Line 419: Line 464:
 ord_content += '#SBATCH --mail-type=END\n' ord_content += '#SBATCH --mail-type=END\n'
 ord_content += '#SBATCH --mail-user='+os.environ.get('USER')+'\n' ord_content += '#SBATCH --mail-user='+os.environ.get('USER')+'\n'
-if(debug):+if not debug:
   ord_content += 'rm -rf '+wdir+'/*/tmp\n'   ord_content += 'rm -rf '+wdir+'/*/tmp\n'
 else: else:
Line 610: Line 655:
  
 <code> <code>
-$ ./wgs.py -cut /nas/osotolongo/wgs/only.txt -o /the_dysk/BGI_exome/F18FTSEUET0180/WGS -s  /the_dysk/BGI_exome/F18FTSEUET0180/HUMehbE+$ ./wgs.py -/nas/osotolongo/wgs/only.txt -o /the_dysk/BGI_exome/F18FTSEUET0180/WGS -s  /the_dysk/BGI_exome/F18FTSEUET0180/HUMehbE
 </code> </code>
  
Line 624: Line 669:
  
 deja un subdirectorio //tmp// por cada sujeto con sus archivos temporales correspondientes. Ejemplo para seq-5, estos archivos estarian en // /the_dysk/BGI_exome/F18FTSEUET0180/WGS/seq-5/tmp/ //. deja un subdirectorio //tmp// por cada sujeto con sus archivos temporales correspondientes. Ejemplo para seq-5, estos archivos estarian en // /the_dysk/BGI_exome/F18FTSEUET0180/WGS/seq-5/tmp/ //.
 +
 +===== Usando containers =====
 +
 +He logrado crear un container con todas las herramientas del pipeline. Tal y como esta construido el script para que funcione bastaria con cambiar los paths del sistema para incluir el container. Esto es, arriba del todo cambiar las lineas,
 +
 +<code python>
 +ref_dir = '/the_dysk/BGI_exome/reference'
 +container = 'singularity run --cleanenv -B /nas:/nas -B /the_dysk:/the_dysk /nas/osotolongo/wgs/bin/wgs.sif'
 +bwa = container+' bwa'
 +picard = container+' java -Djava.io.tmpdir=/nas/'+os.environ.get('USER')+'/tmp/ -Xmx8g -jar /opt/picard.jar'
 +samtools = container+' samtools'
 +verifybamib = container+' verifyBamID'
 +gatk3 = container+' gatk3'
 +gatk4 = container+' gatk --java-options "-DGATK_STACKTRACE_ON_USER_EXCEPTION=true -Xmx16G"'
 +gatk4_l = container+' gatk --java-options "-DGATK_STACKTRACE_ON_USER_EXCEPTION=true -Xmx16G -XX:+UseConcMarkSweepGC"'
 +</code>
 +
 +en principio todo los demas es igual,
 +
 +<code>
 +[osotolongo@brick03 wgs]$ bin/cwgs.py -o /home/osotolongo/wgs/temp -c only.txt -s /the_dysk/BGI_exome/F18FTSEUET0180/HUMehbE/
 +Submitted batch job 76
 +Submitted batch job 77
 +Submitted batch job 78
 +Submitted batch job 79
 +Submitted batch job 83
 +Submitted batch job 84
 +Submitted batch job 85
 +Submitted batch job 86
 +Submitted batch job 90
 +Submitted batch job 91
 +Submitted batch job 92
 +Submitted batch job 93
 +Submitted batch job 97
 +[osotolongo@brick03 wgs]$ squeue
 +             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON) 
 +                80      fast sam_seq- osotolon PD       0:00      1 (Dependency) 
 +                81      fast verify_s osotolon PD       0:00      1 (Dependency) 
 +                82      fast validate osotolon PD       0:00      1 (Dependency) 
 +                87      fast sam_seq- osotolon PD       0:00      1 (Dependency) 
 +                88      fast verify_s osotolon PD       0:00      1 (Dependency) 
 +                89      fast validate osotolon PD       0:00      1 (Dependency) 
 +                94      fast sam_seq- osotolon PD       0:00      1 (Dependency) 
 +                95      fast verify_s osotolon PD       0:00      1 (Dependency) 
 +                96      fast validate osotolon PD       0:00      1 (Dependency) 
 +                97      fast  wgs_end osotolon PD       0:00      1 (Dependency) 
 +                76      fast sam_seq- osotolon  R       0:08      1 brick01 
 +                77      fast sam_seq- osotolon  R       0:08      1 brick01 
 +                78      fast sam_seq- osotolon  R       0:08      1 brick01 
 +                79      fast sam_seq- osotolon  R       0:07      1 brick01 
 +                83      fast sam_seq- osotolon  R       0:05      1 brick01 
 +                84      fast sam_seq- osotolon  R       0:05      1 brick01 
 +                85      fast sam_seq- osotolon  R       0:05      1 brick01 
 +                86      fast sam_seq- osotolon  R       0:05      1 brick01 
 +                90      fast sam_seq- osotolon  R       0:05      1 brick02 
 +                91      fast sam_seq- osotolon  R       0:05      1 brick02 
 +                92      fast sam_seq- osotolon  R       0:05      1 brick02 
 +                93      fast sam_seq- osotolon  R       0:05      1 brick02 
 +</code>
 +
genetica/pywgs.txt · Last modified: 2020/10/27 16:12 by osotolongo