Changeset 3485


Ignore:
Timestamp:
Sep 15, 2015, 8:13:19 AM (8 years ago)
Author:
Nicklas Nordborg
Message:

References #809: Improve performance of demux+merge step

Added time measurements to the generated job script. It will output the current time after most steps and save that to the 'time.txt' file in the job results folder. The file is not imported back to BASE.

Location:
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/DemuxMergeServlet.java

    r3482 r3485  
    665665            // Start scripting for demux
    666666            script.comment("Demuxing " + demuxName);
     667            script.time("STARTING: Demux " + demuxName);
    667668            // Actual 'dataFolder' may be in 'run_archive/current' or 'run_archive/YYYY', so we
    668669            // need to find the actual folder first
     
    724725              extractCmd += " >> " + demuxName + "_" + lane + ".out";
    725726              script.cmd(extractCmd);
     727              script.time("DONE: ExtractIlluminaBarcodes; lane="+lane);
    726728             
    727729              // Copy demultiplex metrics back to job folder
     
    759761              fastqCmd += " >> " + demuxName + "_" + lane + ".out";
    760762                script.cmd(fastqCmd);
     763              script.time("DONE: IlluminaBasecallsToFastq; lane="+lane);
    761764                if (earlyCleanup)
    762765                {
     
    774777            script.cmd("rm -f fastq/AD0*");
    775778          }
     779         
     780          script.time("DEMUX COMPLETE");
    776781         
    777782          // Generate script for moving FASTQ files to project-archive
     
    795800           
    796801            script.progress(percent, "Consolidating FASTQ: " + mergeName);
     802            script.time("STARTING: Merge " + mergeName);
    797803            script.cmd("echo [" + mergeName + "] >> " + trimmomaticOut);
    798804            script.cmd("echo [" + mergeName + "] >> " + filesOut);
     
    805811              script.cmd("rm -f fastq/" + mergeName + "*");
    806812            }
     813            script.time("DONE: Merge " + mergeName);
    807814            script.newLine();
    808815
     
    820827            script.cmd(alignCmd);
    821828            script.cmd("./singlecolumnaverager.awk < fastq.aligned/" + SAM_name + " > fastq.aligned/" + fragments_name);
     829            script.time("DONE: Bowtie2 " + mergeName);
    822830            script.newLine();
    823831           
     
    853861            trimCmd2 += " >> "+trimmomaticOut;
    854862            script.cmd(trimCmd1);
     863            script.time("DONE: Trimmomatic 1 " + mergeName);
     864
    855865            script.cmd(trimCmd2);
     866            script.time("DONE: Trimmomatic 2 " + mergeName);
    856867            script.newLine();
    857868           
     
    862873            script.cmd("cp fastq.aligned/"+fragments_name + " " + fastqFolder + "/" + fragments_name);
    863874            script.cmd("gzip -c fastq.trimmomatic.2/" + R1_name + " > " + fastqFolder + "/"+R1_name + ".gz");
     875            script.time("DONE: gzip " + R1_name);
    864876            script.cmd("gzip -c fastq.trimmomatic.2/" + R2_name + " > " + fastqFolder + "/"+R2_name + ".gz");
     877            script.time("DONE: gzip " + R2_name);
    865878
    866879            script.cmd("ls -1 "+fastqFolder+"/*.fastq.gz >> " + filesOut);
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/ssh/ScriptBuilder.java

    r2890 r3485  
    5454  {
    5555    script.append("\n");
     56  }
     57 
     58  /**
     59    Output the comment and current time (hour:minute:second) into the 'time.txt' file in the
     60    job folder. Eg: 'Demux complete: 12:23:45'.
     61    @since 3.6
     62  */
     63  public void time(String comment)
     64  {
     65    script.append("echo \"").append(comment).append(": `date +%H:%M:%S`\" >> ").append(jobFolder).append("/time.txt\n");
    5666  }
    5767 
Note: See TracChangeset for help on using the changeset viewer.