Opened 11 years ago

Closed 10 years ago

Last modified 10 years ago

#502 closed task (fixed)

Design flow cells

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: critical Milestone: Reggie v2.13
Component: net.sf.basedb.reggie Keywords:
Cc:

Description

Was part of ticket #481, but split up into a design and a registration phase.

The design wizard select pool for loading into flow cells. The default configuration is that 4 pools are loaded into 2 flow cells. Each pool is loaded in 2 lanes per flow cell.

It should also be possible to use other design with a different number of pools or flow cells.

In this step, a preliminary "ReadString" is also specified. Default value is: Y54N1I6J1Y53N1

Change History (15)

comment:1 by Nicklas Nordborg, 11 years ago

(In [2020]) References #481: Register prepared flow cells

Preliminary wizards for flow cell creation and registration.

NOTE! Initially only part of #481, but was later split into this ticket and #481.

comment:2 by Nicklas Nordborg, 10 years ago

Status: newassigned

comment:3 by Nicklas Nordborg, 10 years ago

(In [2028]) References #502: Design flow cells

Added "ReadString" field and cleaned up code somewhat. The default volume to use from the pool when clustering should now be easier to find (as a javascript constant defined near the top of the page).

comment:4 by Nicklas Nordborg, 10 years ago

(In [2029]) References #502: Design flow cells

Re-enable call to dc.commit() which had been disabled for debugging.

comment:5 by Nicklas Nordborg, 10 years ago

(In [2045]) References #502: Design flow cells

Added support for adding comments to the flow cells.

comment:6 by Nicklas Nordborg, 10 years ago

(In [2085]) References #502: Design flow cells

Replaced ReadString with SequenceString. The wizard is using 3 separate input fields for Read 1, Index read and Read 2. The values are concatenated and stored in the SequenceString annotation as read1-index-read2. Default values are: 55-7-54

comment:7 by Nicklas Nordborg, 10 years ago

(In [2087]) References #502 and #501. Renamed SequenceString to SequencingCycles since it should better describe what is stored in that annotation. Changes to the text in the registration interface and lab protocol as well.

comment:8 by Nicklas Nordborg, 10 years ago

(In [2090]) References #502: Design flow cells

Display library plate names in the pool list. Up to two plates are displayed, if the pool comes from more plates, the rest are displayed as a tooltip popup.

comment:9 by Nicklas Nordborg, 10 years ago

(In [2093]) References #502: Design flow cells

Only display pool name (not libplate names) in the layout section in the second step. Rearranged the input fields for sequencing cycles.

comment:10 by Nicklas Nordborg, 10 years ago

Resolution: fixed
Status: assignedclosed

comment:11 by Nicklas Nordborg, 10 years ago

(In [2102]) References #502: Design flow cells

Removed ReadString annotation from FlowCell subtype. Expected to be re-used later on so definition is kept in the code.

comment:12 by Nicklas Nordborg, 10 years ago

(In [2109]) References #502 and #481.

Added PooledLibraryAliquot subtype which must be used by the intermediary aliquots connecting flow cells with pooled libraries. This is required so that we can maintain an unbroken link of related subtypes. The previous version linked FlowCell directly to PooledLibrary which was incorrect.

The registration wizard now also sets the creation date for the aliquots to the ClusterDate.

Existing aliquot items should be updated manually or by a batch importer to set subtype=PooledLibraryAliquot and creation date=ClusterDate (taken from the flow cell the aliquot is used on).

comment:13 by olle, 10 years ago

(In [2110]) Refs #502. Bug fixed that prevented registering a flow cell, when pools had been manually selected. The problem was caused by the id value of the pools being sent as a string instead of a number in the JSONObject sent to the servlet:

  1. JSP script create_flowcells.jsp in reggie/resources/libprep/ updated in function setPoolCallback(id, name) to send value for key 'id' for the pool as parseInt(id) in the JSON object.

comment:14 by olle, 10 years ago

Design update:

  • One or more empty lanes in a flow cell should be allowed. However, at least one lane in flow cells created together must contain a pool, i.e. all lanes must not be empty.

Implementation:

JSP script create_flowcells.jsp in reggie/resources/libprep/ update:

  1. Function gotoStep2() should be updated when creating pop-up menu for changing pool selection for a lane to include an option "empty" last in the menu, after a separator line. The option name should be in italics, to emphasize that it is not a pool name, and it should be contained in an HTML <div> tag with id="pool-none".
  2. Function poolSelected(Event) should be updated to first check if option id equals "pool-none", before trying to get the index for the pool. If the lane is empty, the pool is set to null.
  3. Function checkFlowCells() should be updated to count the number of empty lanes for the flow cells to be created. If all lanes are empty, an error message is shown, while if some lanes are empty, but not all, only a warning is shown.
  4. Function goRegister() should be updated to exclude empty lanes when calculating the number of times a separate pool appears, and the volume used for it.

Java class/file FlowCellServlet.java in reggie/src/net/sf/basedb/reggie/servlet/ update:

  1. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) should be updated for cmd equal to "CreateFlowCells" to check if JSON object jsonPool for a lane equals null, and if so include it in the empty lane count.
Last edited 10 years ago by olle (previous) (diff)

comment:15 by olle, 10 years ago

(In [2111]) Refs #502. Design for flow cell creation updated to allow one or more empty lanes in a flow cell. However, at least one lane in flow cells created together must contain a pool, i.e. all lanes must not be empty.

JSP script create_flowcells.jsp in reggie/resources/libprep/ update:

  1. Function gotoStep2() updated when creating pop-up menu for changing pool selection for a lane to include an option "empty" last in the menu, after a separator line. The option name is shown in italics, to emphasize that it is not a pool name, and it is contained in an HTML <div> tag with id="pool-none".
  2. Function poolSelected(Event) updated to first check if option id equals "pool-none", before trying to get the index for the pool. If the lane is empty, the pool is set to null.
  3. Function checkFlowCells() updated to count the number of empty lanes for the flow cells to be created. If all lanes are empty, an error message is shown, while if some lanes are empty, but not all, only a warning is shown.
  4. Function goRegister() updated to exclude empty lanes when calculating the number of times a separate pool appears, and the volume used for it.

Java class/file FlowCellServlet.java in reggie/src/net/sf/basedb/reggie/servlet/ update:

  1. Protected method void doPost(HttpServletRequest req, HttpServletResponse resp) updated for cmd equal to "CreateFlowCells" to check if JSON object jsonPool for a lane equals null, and if so include it in the empty lane count.
Note: See TracTickets for help on using tickets.