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

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