source: trunk/doc/historical/specifications/core/biomaterials.html @ 4509

Last change on this file since 4509 was 4509, checked in by Jari Häkkinen, 15 years ago

Addresses #1106. Missed to change reference wherefrom retrive GPLv3 license text. And some other changes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Date
File size: 6.3 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!--
3  $Id: biomaterials.html 4509 2008-09-11 20:01:44Z jari $
4
5  Copyright (C) 2005 Jari Hakkinen, Nicklas Nordborg
6  Copyright (C) 2006 Jari Hakkinen
7
8  This file is part of BASE - BioArray Software Environment.
9  Available at http://base.thep.lu.se/
10
11  BASE is free software; you can redistribute it and/or
12  modify it under the terms of the GNU General Public License
13  as published by the Free Software Foundation; either version 3
14  of the License, or (at your option) any later version.
15
16  BASE is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  GNU General Public License for more details.
20
21  You should have received a copy of the GNU General Public License
22  along with BASE. If not, see <http://www.gnu.org/licenses/>.
23-->
24<html>
25  <head>
26    <title>BASE - Core specification - Biomaterials</title>
27  <link rel=stylesheet type="text/css" href="../../styles.css">
28  </head>
29<body>
30
31<div class="navigation">
32  <a href="../../index.html">BASE</a>
33  <img src="../../next.gif">
34  <a href="index.html">Core specification</a>
35  <img src="../../next.gif">
36  Biomaterials
37</div>
38
39  <h1>Biomaterials</h1>
40
41  <div class="abstract">
42    <p>
43    This document covers the details of how biomaterials (samples
44      etc.) are handled by BASE.
45    </p>
46
47    <b>Contents</b><br>
48    <ol>
49    <li><a href="#biomaterials">Biomaterials</a>
50    </ol>
51   
52    <b>See also</b><br>
53    <ul>
54    <li><a href="../../development/overview/data/biomaterial.html">Implementation overview</a>
55    </ul>
56
57    <p class="authors">
58    <b>Last updated:</b> $Date: 2008-09-11 20:01:44 +0000 (Thu, 11 Sep 2008) $
59    </p>
60  </div>
61
62  <a name="biomaterials">
63  <h2>1. Biomaterials</h2>
64  </a>
65
66  <ol>
67  <li>There are 4 types of biomaterials:
68    <ul>
69    <li>biosources (e.g. cell lines, patients)
70    <li>samples (e.g. tumor samples or treated cell lines)
71    <li>extracts
72    <li>labeled extracts
73    </ul>
74
75  <li>Biosource, sample and extract is the <i>parent type</i> of
76    sample, extract and labeled extract, respectively.
77
78  <li>A non-biosource biomaterial may be created either from a single
79    biomaterial of its parent type, or from a set of biomaterials
80    of the same type as itself (pooling). It can also be created
81    without references to any other biomaterial.
82
83  <li class="note invalid">[IMPLEMENTATION NOTE] This is implemented as a parent
84    column in the sample
85    table, which references a biosource. If the value is NULL,
86    another table holds the set of samples used for pooling.
87    Ditto for extract and labeled extract.
88
89  <li class="note invalid">[IMPLEMENTATION NOTE] Of each type, there should
90    be one special biomaterial which
91    represents 'none', so that a graph of biomaterials always
92    can stretch all the way up to biosource. Such a graph must
93    always be a directed acyclic graph. The 'none' biomaterials
94    cannot be annotated or deleted, and must be readable by all.
95
96  <li>A biosource can only be created from scratch, with
97    no association to any kind of parent. <span class="invalid">Biomaterials of other
98    types can be created from scratch as well, and will then
99    reference the 'none' biomaterial of the parent type.</span>
100
101  <li>A biomaterial can be dissociated from its parent(s). The core
102    will not take any responsibility for downstream data that may
103    depend on the original association, for example inherited annotations
104    and analysis results.
105
106  <li>There are different labels (dyes), and each labeled extract is
107    associated with one label.
108
109  <li class="note">[NOTE] Sample tissues (a BASE 1 concept) are
110    implemented as annotations.
111
112  <li class=note>[Possibly a client issue] When a biomaterial is created
113    from pooling, BASE may give it as secondary annotations those
114    annotations that are common to all the pooled biomaterials. Primary
115    annotations may be created from the consensus of parent annotations
116    (think goat + sheep -&gt; mammal).
117
118  <li>With each biomaterial is optionally associated an original
119    quantity (with unit?) and a remaining quantity. When an extract is
120    created, its original (extracted) quantity is subtracted from its
121    parent sample's remaining quantity. In the case of pooling, the
122    amount used of each source biomaterial may be given.
123
124  <li>Changes to the original/remaining quantity should be logged and
125    sum up to the right amount. It should be possible to withdraw
126    material and leave a note about it.
127
128  <li>With each biomaterial creation should be associated a protocol.
129
130  </ol>
131
132  <!--
133  <a name="implementation">
134  <h2>2. Implementation overview</h2>
135  </a>
136
137  <h3>2.1 Database schema</h3>
138  <p>
139  <img src="images/biomaterial.gif">
140  </p>
141 
142  <p>
143  The <code>XxxHistory</code> tables are used for logging
144  quantity changes to the items. If we use an extract as an
145  example we have four cases:
146  </p>
147
148  <ul>
149  <li>Creating the extract from a sample: We make an
150    entry in the <code>ExtractHistory</code> table with a reference to
151    the extract and the sample. We also make an entry to the
152    <code>SampleHistory</code> with a reference to the same sample and
153    extract and information about how much of the sample that was used.
154   
155  <li>Creating an extract from some other extracts.
156    We make several entries in the <code>ExtractHistory</code> table,
157    one for each of the extracts that was used, and one for the
158    resulting extract.
159   
160  <li>Creating a labeled extract from the extract. We make an
161    entry in the <code>ExtractHistory</code> table with a reference to
162    the extract and the labeled extract. We also make an entry to the
163    <code>LabeledExtractHistory</code> with a reference to the same labeled
164    extract and extract.
165
166  <li>Using the extract in some other way. We make an entry in the
167    <code>ExtractHistory</code> table, with information about
168    the quantity used and a comment about how it was used.
169   
170  </ul>
171  <p>
172  For all four cases we must also make sure to keep the
173  <code>quantity_left</code> column for the extract up to date.
174  </p>
175
176  <p>
177  The same scheme is repeated for samples and labeled extracts. It may seem
178  like a lot of information is stored a more than one place, but we
179  think it is justified, because it will be very easy to find out the
180  entire history for an item by a simple query.
181  </p>
182
183  <p>
184  The <code>protocol_id</code> and <code>annotationset_id</code> links
185  the items to <a href="protocols.html">protocols</a> and
186  <a href="annotations.html">annotations</a>, which are described in other
187  documents.
188  </p>
189  -->
190
191
192
193</body>
194</html>
Note: See TracBrowser for help on using the repository browser.