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 13:20] – [tl;dr] 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] -s <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:
Line 178: 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 303: Line 307:
 import getopt import getopt
 import re import re
 +import subprocess
  
 """ """
Line 389: 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 459: 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 650: 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 664: 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