Changeset 5772
- Timestamp:
- Dec 3, 2019, 11:56:24 AM (4 years ago)
- Location:
- extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/Subtype.java
r5684 r5772 324 324 public static final Subtype VARIANT_CALLING_JOB = new Subtype("Variant calling", null, null, null, Item.JOB, false); 325 325 326 /** 327 The definition of the variant calling job. 328 @since 4.25 329 */ 330 public static final Subtype VARIANT_STATISTICS_JOB = new Subtype("Variant statistics", null, null, null, Item.JOB, false); 331 326 332 /** 327 333 The definition of the "Sequencer" hardware subtype. Should already exist in BASE. -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/JobCompletionHandlerFactory.java
r5684 r5772 103 103 action = new VariantCallingJobCreator.VariantCallJobCompletionHandler(); 104 104 } 105 else if (jobType.equals(Subtype.VARIANT_STATISTICS_JOB.get(dc))) 106 { 107 action = new VariantStatisticsJobCreator.VariantStatisticsJobCompletionHandler(); 108 } 105 109 } 106 110 finally -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/grid/VariantStatisticsJobCreator.java
r5770 r5772 27 27 import net.sf.basedb.core.snapshot.SnapshotManager; 28 28 import net.sf.basedb.opengrid.JobDefinition; 29 import net.sf.basedb.opengrid.JobStatus; 29 30 import net.sf.basedb.opengrid.OpenGridCluster; 31 import net.sf.basedb.opengrid.OpenGridSession; 30 32 import net.sf.basedb.opengrid.ScriptBuilder; 31 33 import net.sf.basedb.opengrid.config.ClusterConfig; 32 34 import net.sf.basedb.opengrid.config.JobConfig; 33 35 import net.sf.basedb.opengrid.filetransfer.StringUploadSource; 36 import net.sf.basedb.opengrid.service.JobCompletionHandler; 34 37 import net.sf.basedb.reggie.Reggie; 35 38 import net.sf.basedb.reggie.XmlConfig; … … 104 107 // Create job 105 108 Job statJob = Job.getNew(dc, null, null, null); 106 // statJob.setItemSubtype(Subtype.VARIANT_CALLING_JOB.get(dc));109 statJob.setItemSubtype(Subtype.VARIANT_STATISTICS_JOB.get(dc)); 107 110 statJob.setPluginVersion("reggie-"+Reggie.VERSION); 108 111 statJob.setSendMessage(Values.getBoolean(sc.getUserClientSetting("plugins.sendmessage"), false)); … … 124 127 statCmd += " ${WD}/vcflist.txt"; 125 128 statCmd += " ${WD}/progress"; 129 statCmd += " ${WD}/mut_stats.log"; 126 130 statCmd += " > mut_stats.vcf"; 127 131 script.cmd(statCmd); 132 script.progress(95, "Sorting and indexing..."); 128 133 script.cmd(bedtools_path+" sort -header -i mut_stats.vcf | bgzip -c > mut_stats.vcf.gz"); 129 134 script.cmd("tabix mut_stats.vcf.gz"); … … 195 200 } 196 201 197 202 public static class VariantStatisticsJobCompletionHandler 203 implements JobCompletionHandler 204 { 205 206 public VariantStatisticsJobCompletionHandler() 207 {} 208 209 @Override 210 public String jobCompleted(SessionControl sc, OpenGridSession session, Job job, JobStatus status) 211 { 212 String jobName = status.getName(); 213 String log = session.getJobFileAsString(jobName, "mut_stats.log", "UTF-8"); 214 Stats stat = Stats.parse(log); 215 216 return "Parsed " + stat.numVcf + " VCF files for " + stat.numPatients + " patients." + 217 " Found "+Reggie.formatCount(stat.numVariants) + " variants."; 218 } 219 } 220 221 static class Stats 222 { 223 int numVcf = 0; 224 int numPatients = 0; 225 int numVariants = 0; 226 227 static Stats parse(String statsOut) 228 { 229 Stats s = new Stats(); 230 for (String line : statsOut.split("\n")) 231 { 232 String[] stat = line.split(":", 2); 233 String key = stat[0].strip(); 234 int val = Values.getInt(stat[1].strip()); 235 if ("NumberOfVCF".equals(key)) 236 { 237 s.numVcf = val; 238 } 239 else if ("NumberOfPatients".equals(key)) 240 { 241 s.numPatients = val; 242 } 243 else if ("NumberOfVariants".equals(key)) 244 { 245 s.numVariants = val; 246 } 247 } 248 return s; 249 } 250 } 198 251 } -
extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/InstallServlet.java
r5725 r5772 332 332 jsonChecks.add(checkSubtype(dc, Subtype.MBAF_JOB, null, createIfMissing)); 333 333 jsonChecks.add(checkSubtype(dc, Subtype.VARIANT_CALLING_JOB, null, createIfMissing)); 334 jsonChecks.add(checkSubtype(dc, Subtype.VARIANT_STATISTICS_JOB, null, createIfMissing)); 334 335 jsonChecks.add(checkSubtype(dc, Subtype.REPORT_SOFTWARE, null, createIfMissing)); 335 336 jsonChecks.add(checkSubtype(dc, Subtype.REPORT_JOB, null, createIfMissing));
Note: See TracChangeset
for help on using the changeset viewer.