extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/autoconfirm/WgsVariantCallAutoConfirmer.java

Code
Comments
Other
Rev Date Author Line
7438 16 Nov 23 nicklas 1 package net.sf.basedb.reggie.autoconfirm;
7438 16 Nov 23 nicklas 2
7438 16 Nov 23 nicklas 3
7438 16 Nov 23 nicklas 4 import net.sf.basedb.core.DbControl;
7438 16 Nov 23 nicklas 5 import net.sf.basedb.core.Job;
7438 16 Nov 23 nicklas 6 import net.sf.basedb.core.RawBioAssay;
7438 16 Nov 23 nicklas 7 import net.sf.basedb.core.SessionControl;
7438 16 Nov 23 nicklas 8 import net.sf.basedb.reggie.activity.ActivityDef;
7438 16 Nov 23 nicklas 9 import net.sf.basedb.reggie.dao.Annotationtype;
7438 16 Nov 23 nicklas 10 import net.sf.basedb.reggie.dao.Datafiletype;
7438 16 Nov 23 nicklas 11 import net.sf.basedb.reggie.dao.Rawbioassay;
7438 16 Nov 23 nicklas 12
7438 16 Nov 23 nicklas 13 /**
7438 16 Nov 23 nicklas 14   Auto-confirm implementation for alignments after running WGS variant calling.
7438 16 Nov 23 nicklas 15   
7438 16 Nov 23 nicklas 16   The rules are simple:
7438 16 Nov 23 nicklas 17   
7438 16 Nov 23 nicklas 18    * {@link RawBioAssay#getJob()} job status must be {@link net.sf.basedb.core.Job.Status#DONE}.
7438 16 Nov 23 nicklas 19    * A {@link Datafiletype#VCF} file must be attached to the {@link RawBioAssay}.
7438 16 Nov 23 nicklas 20   
7438 16 Nov 23 nicklas 21   @author nicklas
7438 16 Nov 23 nicklas 22   @since 4.50
7438 16 Nov 23 nicklas 23 */
7438 16 Nov 23 nicklas 24 public class WgsVariantCallAutoConfirmer 
7438 16 Nov 23 nicklas 25   extends AutoConfirmer<RawBioAssay> 
7438 16 Nov 23 nicklas 26 {
7438 16 Nov 23 nicklas 27   
7438 16 Nov 23 nicklas 28   public WgsVariantCallAutoConfirmer(RawBioAssay raw)
7438 16 Nov 23 nicklas 29   {
7438 16 Nov 23 nicklas 30     super(raw, raw.getJob());
7438 16 Nov 23 nicklas 31   }
7438 16 Nov 23 nicklas 32
7438 16 Nov 23 nicklas 33   /**
7438 16 Nov 23 nicklas 34     Passes if the rules described above are ok.
7438 16 Nov 23 nicklas 35   */
7438 16 Nov 23 nicklas 36   @Override
7438 16 Nov 23 nicklas 37   public boolean checkRules(DbControl dc, AutoConfirmManager manager) 
7438 16 Nov 23 nicklas 38   {
7438 16 Nov 23 nicklas 39     RawBioAssay raw = item(dc);
7438 16 Nov 23 nicklas 40     Job job = raw.getJob();
7438 16 Nov 23 nicklas 41     
7438 16 Nov 23 nicklas 42     if (job.getStatus() != Job.Status.DONE) return false;
7438 16 Nov 23 nicklas 43     if (Datafiletype.VCF.getFile(dc, raw) == null) return false;
7438 16 Nov 23 nicklas 44     
7438 16 Nov 23 nicklas 45     return true;
7438 16 Nov 23 nicklas 46   }
7438 16 Nov 23 nicklas 47   
7438 16 Nov 23 nicklas 48   /**
7438 16 Nov 23 nicklas 49     If we get here, the result should be accepted.
7438 16 Nov 23 nicklas 50   */
7438 16 Nov 23 nicklas 51   @Override
7438 16 Nov 23 nicklas 52   public boolean autoConfirm(DbControl dc, AutoConfirmManager manager) 
7438 16 Nov 23 nicklas 53   {
7438 16 Nov 23 nicklas 54     RawBioAssay raw = item(dc);
7438 16 Nov 23 nicklas 55     Annotationtype.ANALYSIS_RESULT.setAnnotationValue(dc, raw, Rawbioassay.FEATURE_EXTRACTION_SUCCESSFUL);
7438 16 Nov 23 nicklas 56
7438 16 Nov 23 nicklas 57     ActivityDef.WGS_VARIANT_CALLING_AUTOCONFIRMED.merge(dc, 1).setUser("Auto-confirm");
7438 16 Nov 23 nicklas 58     return true;
7438 16 Nov 23 nicklas 59   }
7438 16 Nov 23 nicklas 60
7438 16 Nov 23 nicklas 61   /**
7438 16 Nov 23 nicklas 62     No more steps.
7438 16 Nov 23 nicklas 63   */
7438 16 Nov 23 nicklas 64   @Override
7438 16 Nov 23 nicklas 65   public boolean startNextStep(SessionControl sc, AutoConfirmManager manager) 
7438 16 Nov 23 nicklas 66   {
7438 16 Nov 23 nicklas 67     return false;
7438 16 Nov 23 nicklas 68   }
7438 16 Nov 23 nicklas 69
7438 16 Nov 23 nicklas 70 }