On 2014-09-03 19:45, Rachad El-Badrawi wrote: > Hi All, > > We are considering BASE as the molecular diagnostics backend system for > a project, and I was trying to figure out some of the backend workings > of the schema. I would appreciate some feedback on the following: > > 1) Is there a document that explains the PG schema that BASE uses, as > far as the role of each table, and how it fits in the global model for BASE?
The best documentation related to this can be found at http://base.thep.lu.se/chrome/site/latest/html/developer/api/data_api.html It's not really a database schema, but a mix of java classes and how they map to the database. It should be fairly up to date but may lack some information about the latest new features. There are lots of details and you probably also want to read http://base.thep.lu.se/chrome/site/latest/html/developer/documentation/magicdraw.html > 2) Is there an instance of BASE which includes a comprehensive project > that shows the meaningful use for the database? There is a BASE demo server at http://base2.thep.lu.se/demo/ but it has not been maintained for some time so I think what you can see there may not be very helpful. There is also a document describing a manual test procedure that is performed before any new major release at: http://base.thep.lu.se/chrome/site/latest/test/roles/index.html This test go through most major features in BASE, but in a real scenario one would probably want to automate some of the steps since it requires a lot of clicking... Also, the test data set we use is not publicly available so it may require several changes to work with other kind of data. > > At a more detailed level: > > 3) Patients/Subjects are entered as Biosources (from the web front end), > and are saved in the BioMaterials table. Samples from these subjects are > added as Samples (from the web front end) and are saved in the same > BioMaterials table, too. Same for extracts. To relate these entries > together, one can make use of the parent_id column and the discriminator > level (i.e. 1, 2, 3). Is this explanation accurate? Kind of, but it is not the full picture... The parent_id column is a shortcut that is used only for items that has a single parent. If you, for example, pool several extracts into a single one, the parent_id column can't be used. The actual parent/child relationship is always stored in the BioMaterialEvents and BioMaterialEventSources2 tables, and is only duplicated in the parent_id column if possible. > 4) Is there a way of entering/saving that a specific sample has been > analyzed/complete? You could use annotations for that. That is more or less what we do currently, combined with other annotations for flagging if something needs to re-done. > > 5) The number in the column event_type in the BioMaterialEvents table, > what does it reference? It is the type of the event. Every biomaterial has a single CREATION (1) event, then they can have any number of OTHER (3) events and BIOASSAY (2) creation events. > > 6) Where is the sample type saved in the database? In the ItemSubtypes table. Hope this helpful, you are always welcome with more questions. /Nicklas ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ The BASE general discussion mailing list basedb-users@lists.sourceforge.net unsubscribe: send a mail with subject "unsubscribe" to basedb-users-requ...@lists.sourceforge.net