Changeset 2020


Ignore:
Timestamp:
Sep 13, 2013, 11:13:42 AM (8 years ago)
Author:
Nicklas Nordborg
Message:

References #481: Register prepared flow cells

Preliminary wizards for flow cell creation and registration.

Location:
extensions/net.sf.basedb.reggie/trunk
Files:
4 added
7 edited

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/trunk/META-INF/servlets.xml

    r1911 r2020  
    7070  </servlet>
    7171  <servlet>
     72    <servlet-name>FlowCell</servlet-name>
     73    <servlet-class>net.sf.basedb.reggie.servlet.FlowCellServlet</servlet-class>
     74  </servlet>
     75  <servlet>
    7276    <servlet-name>CaseSummary</servlet-name>
    7377    <servlet-class>net.sf.basedb.reggie.servlet.CaseSummaryServlet</servlet-class>
  • extensions/net.sf.basedb.reggie/trunk/resources/index.jsp

    r1983 r2020  
    140140      url = 'Pool.servlet?ID=<%=ID%>&cmd=CountLibraryPlatesForPooling';
    141141    }
    142     else if (what == 'pools')
     142    else if (what == 'unregistered-pools')
    143143    {
    144144      url = 'Pool.servlet?ID=<%=ID%>&cmd=CountUnprocessedPools';
     145    }
     146    else if (what == 'unused-pools')
     147    {
     148      url = 'FlowCell.servlet?ID=<%=ID%>&cmd=CountUnusedPools';
     149    }
     150    else if (what == 'unregistered-flow-cells')
     151    {
     152      url = 'FlowCell.servlet?ID=<%=ID%>&cmd=CountUnprocessedFlowCells';
    145153    }
    146154   
     
    266274      var count = error ? -1 : response.count;
    267275      setCount('count.lib-plates-for-pooling', count, 'Lib plates', msg);
    268       startCounting('pools');
    269     }
    270     else if (currentCount == 'pools')
     276      startCounting('unregistered-pools');
     277    }
     278    else if (currentCount == 'unregistered-pools')
    271279    {
    272280      var msg = error || 'Number of pools waiting for registration';
     
    274282      setCount('count.pools.1', count, 'pools', msg);
    275283      setCount('count.pools.2', count, 'pools', msg);
     284      startCounting('unused-pools');
     285    }
     286    else if (currentCount == 'unused-pools')
     287    {
     288      var msg = error || 'Number of pools waiting for sequencing';
     289      var count = error ? -1 : response.count;
     290      setCount('count.pools.3', count, 'pools', msg);
     291      startCounting('unregistered-flow-cells');
     292    }
     293    else if (currentCount == 'unregistered-flow-cells')
     294    {
     295      var msg = error || 'Number of flow cells waiting for registration';
     296      var count = error ? -1 : response.count;
     297      setCount('count.flow-cells', count, 'flow cells', msg);
    276298    }
    277299   
     
    481503            <li><a href="libprep/pool_protocol.jsp?ID=<%=ID%>">Lab protocols for pooling</a> <span class="counter" id="count.pools.1" title="Counting..."><img src="images/loading-small.gif"></span>
    482504            <li><a href="libprep/pool_registration.jsp?ID=<%=ID%>">Register pooled libraries</a> <span class="counter" id="count.pools.2" title="Counting..."><img src="images/loading-small.gif"></span>
    483             <li><a href="libprep/flowcell_registration.jsp?ID=<%=ID%>" class="not-implemented">Register flow cells</a>
     505            <li><a href="libprep/create_flowcells.jsp?ID=<%=ID%>">Create flow cells</a> <span class="counter" id="count.pools.3" title="Counting..."><img src="images/loading-small.gif"></span>
     506            <li><a href="libprep/flowcell_registration.jsp?ID=<%=ID%>">Register flow cells</a> <span class="counter" id="count.flow-cells" title="Counting..."><img src="images/loading-small.gif"></span>
    484507            </ul>
    485508          </dd>
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/Annotationtype.java

    r2002 r2020  
    345345    in the process can be taken, but a value of "Failed" indicates a
    346346    complete failure and everything should be restarted at a previous level.
     347    Can also be used on a flow cell (physical bioassay).
    347348    @since 2.12
    348349  */
    349350  public static final Annotationtype PLATE_PROCESS_RESULT =
    350     new Annotationtype("PlateProcessResult", Type.STRING, Item.BIOPLATE);
     351    new Annotationtype("PlateProcessResult", Type.STRING, Item.BIOPLATE, Item.PHYSICALBIOASSAY);
    351352
    352353  /**
     
    437438 
    438439  /**
    439     Generic "Operator" annotation on bioplates.
     440    Generic "Operator" annotation on bioplates and physical bioassays
    440441    @since 2.12
    441442  */
    442443  public static final Annotationtype OPERATOR =
    443     new Annotationtype("Operator", Type.STRING, Item.BIOPLATE, Item.EXTRACT);
     444    new Annotationtype("Operator", Type.STRING, Item.BIOPLATE, Item.PHYSICALBIOASSAY, Item.EXTRACT);
    444445
    445446 
     
    519520  public static final Annotationtype POOL_MOLARITY =
    520521    new Annotationtype("PoolMolarity", Type.FLOAT, Item.EXTRACT);
     522 
    521523 
    522524  /**
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/PooledLibrary.java

    r1959 r2020  
    107107  }
    108108
     109  /**
     110    Find pooled libraries that have not yet been used on a flow cell. The query will
     111    look for extracts with the {@link Subtype#POOLED_LIBRARY} subtype that has remaining
     112    quantity equal to original quantity. The list is sorted by name.
     113  */
     114  public static List<PooledLibrary> findUnusedPools(DbControl dc)
     115  {
     116    List<PooledLibrary> pools = new ArrayList<PooledLibrary>();
     117   
     118    // Create a query that load all Lysate extracts without created date
     119    ItemQuery<Extract> query = Extract.getQuery();
     120    query.setIncludes(Reggie.INCLUDE_IN_CURRENT_PROJECT);
     121    // Filter on Lysate subtype
     122    Subtype.POOLED_LIBRARY.addFilter(dc, query);
     123    // Filter on created date != null and original=remaining quantity
     124    query.restrict(Restrictions.neq(Hql.property("ce", "eventDate"), null));
     125    query.restrict(Restrictions.eq(Hql.property("originalQuantity"), Hql.property("remainingQuantity")));
     126   
     127    // Join the creation event
     128    query.join(Hql.innerJoin(null, "creationEvent", "ce", true));
     129   
     130    // Sort by name
     131    query.order(Orders.asc(Hql.property("name")));
     132       
     133    return toList(query.list(dc));
     134  }
     135
    109136  private JSONObject jsonWell;
    110137 
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/Rna.java

    r1987 r2020  
    8787  */
    8888  public static final String FLAG_EXCLUDED_FROM_POOL = "ExcludedFromPool";
    89  
     89
     90
    9091  /**
    9192    The name of the RNA item in BASE that represents Generic Stratagene.
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/dao/Subtype.java

    r1992 r2020  
    218218
    219219  /**
     220    The definition of the "Cluster generation" protocol subtype. Should already exist
     221    in BASE.
     222    @since 2.13
     223  */
     224  public static final Subtype CLUSTER_PROTOCOL = new Subtype("Cluster generation", Item.PROTOCOL, false);
     225   
     226  /**
    220227    File subtype for BioAnalyzer PDF reports.
    221228    @since 2.12
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/InstallServlet.java

    r2004 r2020  
    158158        jsonChecks.add(checkSubtype(dc, Subtype.POOLING_PROTOCOL, createIfMissing));
    159159        jsonChecks.add(checkSubtype(dc, Subtype.POOLED_LIBRARY, createIfMissing, Subtype.LIBRARY, Subtype.POOLING_PROTOCOL));
    160         jsonChecks.add(checkSubtype(dc, Subtype.FLOW_CELL, createIfMissing, Subtype.POOLED_LIBRARY));
     160        jsonChecks.add(checkSubtype(dc, Subtype.CLUSTER_PROTOCOL, createIfMissing));
     161        jsonChecks.add(checkSubtype(dc, Subtype.FLOW_CELL, createIfMissing, Subtype.POOLED_LIBRARY, Subtype.CLUSTER_PROTOCOL));
    161162        jsonChecks.add(checkSubtype(dc, Subtype.BIOANALYZER_PDF, createIfMissing));
    162163        jsonChecks.add(checkSubtype(dc, Subtype.CALIPER_PDF, createIfMissing));
Note: See TracChangeset for help on using the changeset viewer.