Changeset 5935


Ignore:
Timestamp:
May 8, 2020, 2:45:42 PM (4 weeks ago)
Author:
Nicklas Nordborg
Message:

Fixes #1243: Improve status checking for NovaSeq?

The new values from novaseq_status.sh are now used by Reggie to generate the status.

File:
1 edited

Legend:

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

    r5898 r5935  
    174174      int swathCount = 0;
    175175      int tileCount = 0;
     176      int tileTags = 0;
    176177      int numReads = 0;
    177178     
     
    179180      String msg = null;
    180181      String novaSeqSerial = null;
     182      String flowCellMode = null;
    181183     
    182184      for (String line : lines)
     
    189191          String value = kv[1].trim();
    190192         
    191           if ("Config".equals(key))
     193          if ("RunInfoDate".equals(key))
    192194          {
    193195            startTime = SEQSTAT_DATE.convert(value).getTime() - timeAdjustment * 1000;
     
    220222            tileCount = Values.getInt(value);
    221223          }
     224          else if ("TileTags".equals(key))
     225          {
     226            tileTags = Values.getInt(key);
     227          }
    222228          else if ("Read1".equals(key) || "Read2".equals(key) || "IndexRead1".equals(key) || "IndexRead2".equals(key))
    223229          {
     
    227233          {
    228234            novaSeqSerial = Values.getStringOrNull(value);
     235          }
     236          else if ("FlowCellMode".equals(key))
     237          {
     238            flowCellMode = Values.getStringOrNull(value);
    229239          }
    230240          else if ("RTAComplete".equals(key))
     
    237247      }
    238248     
    239       if (progress < 100 && laneCount > 0 && numReads > 0 && cbclCount > 0)
    240       {
    241         // The count of *.cbcl files should equal:
    242         // laneCount * numReads
    243         // when completed. Lets say that the sequencing step start at 25% and go to 90%
    244         int finalCbclCount = laneCount * surfaceCount * swathCount * tileCount * numReads;
     249      if (progress < 100 && laneCount > 0 && numReads > 0 && cbclCount > 0 && tileTags > 0 && tileCount > 0)
     250      {
     251        // NovaSeq seems to create one *.cbcl file per lane and cycle for SP flow cells
     252        // and two *.cbcl files per lane and cycls for S1 flow cells.
     253        // The 'TileCount', 'SurfaceCount', 'SwathCount' are the same for both types (=2),
     254        // but the number of '<Tile>' tags are different (312 vs 624).
     255        // We also have 'FlowCellMode' parameter from runParameters.xml.
     256        int cbclPerCycle = tileTags / tileCount / swathCount;
     257        int finalCbclCount = cbclPerCycle * numReads;
    245258        if (cbclCount >= finalCbclCount)
    246259        {
     
    256269        {
    257270          progress = 25 + (cbclCount * 65) / finalCbclCount;
    258           int cycle = cbclCount / laneCount;
     271          int cycle = cbclCount / cbclPerCycle;
    259272          msg = "Sequencing... (cycle " + cycle + " of " +numReads+")";
    260273        }
Note: See TracChangeset for help on using the changeset viewer.