Changeset 6213


Ignore:
Timestamp:
Apr 15, 2021, 8:38:55 AM (2 years ago)
Author:
Nicklas Nordborg
Message:

References #1295: Registration of specimen handled by external lab

Added MergeType and DemuxType annotations to be used on Software/Protocol? items to make it possible to separate the external pipeline from the internal.

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

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/trunk/resources/analysis/demux_start.js

    r5613 r6213  
    394394    frm.debug.checked = debug || location.protocol != 'https:';
    395395
    396     Reggie.loadProtocols('DEMUX_PROTOCOL', 'demuxProtocol', 'PIPELINE', pipeline.name);
    397     Reggie.loadSoftware('DEMUX_SOFTWARE', 'demuxSoftware', 'PIPELINE,PARAMETER_SET', pipeline.name);
    398     Reggie.loadProtocols('MERGE_PROTOCOL', 'mergeProtocol', 'PIPELINE', pipeline.name);
    399     Reggie.loadSoftware('MERGE_SOFTWARE', 'mergeSoftware', 'PIPELINE,PARAMETER_SET', pipeline.name);
     396    Reggie.loadProtocols('DEMUX_PROTOCOL', 'demuxProtocol', 'PIPELINE,DEMUX_TYPE', pipeline.name+',Picard');
     397    Reggie.loadSoftware('DEMUX_SOFTWARE', 'demuxSoftware', 'PIPELINE,DEMUX_TYPE,PARAMETER_SET', pipeline.name+',Picard');
     398    Reggie.loadProtocols('MERGE_PROTOCOL', 'mergeProtocol', 'PIPELINE,MERGE_TYPE', pipeline.name+',Default');
     399    Reggie.loadSoftware('MERGE_SOFTWARE', 'mergeSoftware', 'PIPELINE,MERGE_TYPE,PARAMETER_SET', pipeline.name+',Default');
    400400
    401401    // Load open grid clusters
  • extensions/net.sf.basedb.reggie/trunk/resources/analysis/import_fastq.js

    r6180 r6213  
    103103    var numDoNotUse = 0;
    104104    var invalidPipeline = null;
     105    var missingRawFastq = null;
    105106   
    106107    Wizard.setInputStatus('mergedSequences');
     
    117118          invalidPipeline = Strings.encodeTags(ms.name+' ('+ms.pipeline)+') is not intended for the RNAseq pipeline.';
    118119        }
     120        if (ms.rawFastq.length == 0)
     121        {
     122          missingRawFastq = Strings.encodeTags(ms.name+' is missing RawFASTQ information');
     123        }
    119124      }
    120125    }
     
    130135      return;
    131136    }
     137    if (missingRawFastq)
     138    {
     139      Wizard.setInputStatus('mergedSequences', 'invalid', missingRawFastq);
     140      return;
     141    }
    132142    selectionIsValid = true;
    133143   
     
    152162    frm.debug.checked = debug || location.protocol != 'https:';
    153163
    154     Reggie.loadProtocols('MERGE_PROTOCOL', 'mergeProtocol', 'PIPELINE', 'RNAseq');
    155     Reggie.loadSoftware('MERGE_SOFTWARE', 'mergeSoftware', 'PIPELINE,PARAMETER_SET', 'RNAseq');
     164    Reggie.loadProtocols('MERGE_PROTOCOL', 'mergeProtocol', 'PIPELINE,MERGE_TYPE', 'RNAseq,Import');
     165    Reggie.loadSoftware('MERGE_SOFTWARE', 'mergeSoftware', 'PIPELINE,MERGE_TYPE,PARAMETER_SET', 'RNAseq,Import');
    156166   
    157167    // Load open grid clusters
  • extensions/net.sf.basedb.reggie/trunk/resources/batch/import-external-specimen.js

    r6212 r6213  
    191191    frm.debug.checked = debug || location.protocol != 'https:';
    192192
    193     Reggie.loadProtocols('MERGE_PROTOCOL', 'mergeProtocol', 'PIPELINE', 'RNAseq');
    194     Reggie.loadSoftware('MERGE_SOFTWARE', 'mergeSoftware', 'PIPELINE,PARAMETER_SET', 'RNAseq');
     193    Reggie.loadProtocols('MERGE_PROTOCOL', 'mergeProtocol', 'PIPELINE,MERGE_TYPE', 'RNAseq,Import');
     194    Reggie.loadSoftware('MERGE_SOFTWARE', 'mergeSoftware', 'PIPELINE,MERGE_TYPE,PARAMETER_SET', 'RNAseq,Import');
    195195
    196196    // Load open grid clusters
  • extensions/net.sf.basedb.reggie/trunk/resources/mipsanalysis/demux_start.js

    r5801 r6213  
    393393    frm.debug.checked = debug || location.protocol != 'https:';
    394394
    395     Reggie.loadProtocols('DEMUX_PROTOCOL', 'demuxProtocol', 'PIPELINE', pipeline.name);
    396     Reggie.loadSoftware('DEMUX_SOFTWARE', 'demuxSoftware', 'PIPELINE,PARAMETER_SET', pipeline.name);
     395    Reggie.loadProtocols('DEMUX_PROTOCOL', 'demuxProtocol', 'PIPELINE,DEMUX_TYPE', pipeline.name+',Picard');
     396    Reggie.loadSoftware('DEMUX_SOFTWARE', 'demuxSoftware', 'PIPELINE,DEMUX_TYPE,PARAMETER_SET', pipeline.name+',Picard');
    397397
    398398    // Load open grid clusters
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/autoconfirm/SequencingRunAutoConfirmer.java

    r6010 r6213  
    77import org.slf4j.LoggerFactory;
    88
     9import net.sf.basedb.core.Annotatable;
    910import net.sf.basedb.core.DbControl;
    1011import net.sf.basedb.core.DerivedBioAssay;
     
    3334import net.sf.basedb.reggie.servlet.DemuxMergeServlet;
    3435import net.sf.basedb.reggie.servlet.SequencingRunServlet;
     36import net.sf.basedb.util.filter.AllOfFilter;
     37import net.sf.basedb.util.filter.Filter;
    3538
    3639/**
     
    159162      Integer priority = (Integer)job.getParameterValue("priority");
    160163     
    161       Protocol demuxProtocol = (Protocol)Subtype.DEMUX_PROTOCOL.getLatestProjectDefault(dc, Annotationtype.PIPELINE.createFilter(pipelineName));
    162       Software demuxSoftware = (Software)Subtype.DEMUX_SOFTWARE.getLatestProjectDefault(dc, Annotationtype.PIPELINE.createFilter(pipelineName));
    163       Protocol mergeProtocol = (Protocol)Subtype.MERGE_PROTOCOL.getLatestProjectDefault(dc, Annotationtype.PIPELINE.createFilter(pipelineName));
    164       Software mergeSoftware = (Software)Subtype.MERGE_SOFTWARE.getLatestProjectDefault(dc, Annotationtype.PIPELINE.createFilter(pipelineName));
     164      Filter<Annotatable> pipelineFilter = Annotationtype.PIPELINE.createFilter(pipelineName);
     165      Filter<Annotatable> demuxFilter = new AllOfFilter<>(Arrays.asList(pipelineFilter, Annotationtype.DEMUX_TYPE.createFilter("Picard")));
     166      Filter<Annotatable> mergeFilter = new AllOfFilter<>(Arrays.asList(pipelineFilter, Annotationtype.MERGE_TYPE.createFilter("Default")));
     167      Protocol demuxProtocol = (Protocol)Subtype.DEMUX_PROTOCOL.getLatestProjectDefault(dc, demuxFilter);
     168      Software demuxSoftware = (Software)Subtype.DEMUX_SOFTWARE.getLatestProjectDefault(dc, demuxFilter);
     169      Protocol mergeProtocol = (Protocol)Subtype.MERGE_PROTOCOL.getLatestProjectDefault(dc, mergeFilter);
     170      Software mergeSoftware = (Software)Subtype.MERGE_SOFTWARE.getLatestProjectDefault(dc, mergeFilter);
    165171   
    166172      String flowCellType = (String)Annotationtype.FLOWCELL_TYPE.getAnnotationValue(dc, flowCell);
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/Annotationtype.java

    r6209 r6213  
    17621762
    17631763  /**
     1764    The "DemuxType" annotation, used for software/protocol items
     1765    of type Demuxing. It is a string enum annotation containing the
     1766    name of the merge software used.
     1767    @since 4.32
     1768  */
     1769  public static final Annotationtype DEMUX_TYPE =
     1770    new Annotationtype("DemuxType", Type.STRING, false, Item.SOFTWARE, Item.PROTOCOL);
     1771 
     1772  /**
     1773    The "MergeType" annotation, used for software/protocol items
     1774    of type Merging. It is a string enum annotation containing the
     1775    name of the merge software used.
     1776    @since 4.32
     1777  */
     1778  public static final Annotationtype MERGE_TYPE =
     1779    new Annotationtype("MergeType", Type.STRING, false, Item.SOFTWARE, Item.PROTOCOL);
     1780 
     1781  /**
    17641782    The "AlignmentType" annotation, used for software/protocol items
    17651783    of type Alignment. It is a string enum annotation containing the
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/FastqServlet.java

    r6187 r6213  
    9898        {
    9999          ms.loadAnnotations(dc, "pipeline", Annotationtype.PIPELINE, null);
     100          ms.loadAnnotations(dc, "rawFastq", Annotationtype.RAW_FASTQ, null);
    100101          Library lib = ms.getLibrary(dc);
    101102          lib.loadBioPlateLocation();
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/InstallServlet.java

    r6209 r6213  
    686686            new ValueOptions("GENE_REPORT", "PILOT_REPORT", "SCANB_REPORT"),
    687687            createIfMissing, effectivePermissionsUse));
     688        jsonChecks.add(checkAnnotationType(dc, Annotationtype.DEMUX_TYPE, 1,
     689            new ValueOptions("Picard", "bcl2fastq"),
     690            createIfMissing, effectivePermissionsUse));
     691        jsonChecks.add(checkAnnotationType(dc, Annotationtype.MERGE_TYPE, 1,
     692            new ValueOptions("Default", "Import"),
     693            createIfMissing, effectivePermissionsUse));
    688694        jsonChecks.add(checkAnnotationType(dc, Annotationtype.ALIGNMENT_TYPE, 1,
    689695            new ValueOptions("Tophat", "Hisat", "MIPs"),
     
    10701076       
    10711077        jsonChecks.add(checkAnnotationTypeCategory(dc, Subtype.DEMUX_SOFTWARE, createIfMissing,
    1072             Annotationtype.PARAMETER_SET, Annotationtype.PIPELINE, Annotationtype.EXTERNAL_REF
     1078            Annotationtype.PARAMETER_SET, Annotationtype.PIPELINE, Annotationtype.EXTERNAL_REF,
     1079            Annotationtype.DEMUX_TYPE
     1080          ));
     1081        jsonChecks.add(checkAnnotationTypeCategory(dc, Subtype.DEMUX_PROTOCOL, createIfMissing,
     1082            Annotationtype.PIPELINE, Annotationtype.DEMUX_TYPE
    10731083          ));
    10741084        jsonChecks.add(checkAnnotationTypeCategory(dc, Subtype.MERGE_SOFTWARE, createIfMissing,
    1075             Annotationtype.PARAMETER_SET, Annotationtype.PIPELINE
     1085            Annotationtype.PARAMETER_SET, Annotationtype.PIPELINE, Annotationtype.MERGE_TYPE
     1086          ));
     1087        jsonChecks.add(checkAnnotationTypeCategory(dc, Subtype.MERGE_PROTOCOL, createIfMissing,
     1088            Annotationtype.PIPELINE, Annotationtype.MERGE_TYPE
    10761089          ));
    10771090        jsonChecks.add(checkAnnotationTypeCategory(dc, Subtype.MASKING_SOFTWARE, createIfMissing,
Note: See TracChangeset for help on using the changeset viewer.