Opened 14 years ago

Last modified 14 years ago

#868 closed enhancement

Support for chips with multiple arrays — at Version 5

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 2.6
Component: core Version:
Keywords: Cc:

Description (last modified by Nicklas Nordborg)

Illumina array slides are special in that they contain multiple "sections" on a single array chip. When hybridizing a slide each section is hybridized with a different sample. This can already be represented in the database by selecting multiple labeled extract and connecting them to the same hybridization. But, this is actually a "misuse" since the assumption is that all labeled extract are used on the entire slide and that they all should have different labels. Since Illumina is a one-channel platform, the experiment validator will complain about the number of labeled extracts not being 1, and that they don't have different labels. Another problem is that it is not possible to know which raw bioassay is related to what labeled extract. In the real world, there is a one-to-one relationship, but in BASE this is lost and it seems like all labeled extracts are associated with all raw bioassay. This will make it hard and confusing when using the experiment overview since all labeled extracts can be reached from all raw bioassays.

So, we need to add information about the number of sub arrays on a slide (possible already at the array design level). We need to be able to associate a specific labeled extract to a specific sub-array, and we also need to associate the related raw bioassay to the same sub-array.

If we could do this from scratch without having to worry about backwards compatibility it would probably be easy. I think the hard part is to maintain the backwards compatibility.

Implementation idea

This was a really hard thing. After some discussion we think we have found a way forward:

  1. The ArrayDesign? and Hybridization gets an additional field: numArrays.
  1. When selecting Labeled extracts for a Hyb, the user can also specify which array(s) the labeled extract should go on. On the Illumina platform there can only be one labeled extract per array, but BASE should support the multi-channel case also. A single labeled extract (for example the reference) may go into more than one array.
  1. The RawBioassay? gets a many-to-many link to LabeledExtract?. This link should also contain the channel number. 0 = not known
  1. When creating a Raw bioassay the user can also select Labeled extracts and specify channels for them. With some smart coding it may be possible to make intelligent default guesses about which Labeled extracts to select. Note! The Scan->Hybridization link chain is optional, but it should still be possible to select Labeled extracts.
  1. Inheriting annotations: The RBA->LE links are considered the primary path, and it is always possible to inherit from this path if it is present. If a Hyb has numArrays > 1, it should not be possible to inherit from the Hyb -> LE links.
  1. Update from 2.5: We create the RBA->LE links by just copying the RBA->Scan->Hyb->LE links. If we copy the links, the channel number must be set to 0 = unknown.
  1. Experiment overview/validator: If the RBA -> LE links exists they are used as the primary links to biomaterials, otherwise the old route is used. If the links exists it is checked that they are a subset of the Hyb -> LE links, but the Hyb->LE route is not followed any further. A RBA which is connected with a Hyb with numArrays > 1 should have RBA -> LE links. Channel numbers in the RBA -> LE links should be validated.
  1. Migration: In BASE1 there is channel information in the Hyb->LE connection. This information should be copied to the new RBA -> LE links.
  1. Backwards compatibility: Older tools/plug-ins may have a hard time with the old route since the number of Hyb->LE link can provide more Labeled extracts than expected by the number of channels from the raw data type. Tools/plug-ins should be upgraded to use the new route.

Change History (5)

comment:1 Changed 14 years ago by Nicklas Nordborg

Description: modified (diff)
Priority: majorcritical
Summary: Support for multiple (sub)hybridizations on the same array slideSupport for chips with multiple arrays

comment:2 Changed 14 years ago by Nicklas Nordborg

Priority: criticalmajor

comment:3 Changed 14 years ago by base

Was just browsing the tickets and saw this. Just for info: Agilent are also making many slides on one slide. I've seen one where four different samples can be hybed at once.


comment:4 Changed 14 years ago by Nicklas Nordborg

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:5 Changed 14 years ago by Nicklas Nordborg

Description: modified (diff)
Note: See TracTickets for help on using tickets.