Skip to content

NanoLIMS v2.0 Manual For Developers

cheinle edited this page Jan 16, 2017 · 3 revisions

Table Of Contents

Database Relationship

Database schema (database_schema.pdf included in Important_Accessories.zip)

Database uses INNODB foreign key constraints

  • ON UPDATE: CASCADE: Delete or update the row from the parent table, and automatically delete or update the matching rows in the child table
  • ON DELETE: RESTRICT: Rejects the delete or update operation for the parent table. Specifying RESTRICT (or NO ACTION) is the same as omitting the ON DELETE or ON UPDATE clause

Database Maintenance

To restrict login access to admins only, convert $database_down = ‘false’ to ‘true’ at the top of login.php

Known Constraints

Deleting Samples - Samples cannot be deleted through webUI, nor can their visibility be changed. This decision was made to preserve naming records for samples that have gone on to downstream processing. A more transparent archiving system may be put in place in the future.

To delete a sample, admin must manually delete sample name in all mysql tables in the order below

  • read_submission (if exists)
  • new_pooled_samp_name (if exists)
  • thing_storing
  • number_of_seq_submissions
  • storage_info
  • sample_samplers
  • sample

SUGGESTION: It is advised to update sample entry with new sample information using the web interface instead of deleting sample from database

Pooling Samples - Users can currently only pool up to 6 samplers. Pooling is only set up to create a new sample for DNA extraction. If samples which have DNA extraction info are pooled, no old DNA extraction info will be moved to the new sample. Samples can belong to multiple pools.

At this time, pools cannot be edited in the web user interface to add or remove samples.
Admin would need to add or remove sample from pool by searching for new pooled samples name in ‘pooled_sample_lookup’ and either removing the row with the desire combination of new sample name and old sample name (a member of the pool) or creating a new row with the desired new sample name and the old sample name (the new member of the pool).

Notes for each pooled sample member would need to be manually updated as well as their ‘part of pool’ flag

Once a new pooled sample is created, it can be changed to other sample types without warning

Samplers of pooled samples have a start and end time of 01:00:00

Sequencing

Sequencing info is output to the standard Illumina Clarity LIMS Run Manager Sample form. The database comes pre-populated with options for sequencing. Dropdowns can be updated but fields cannot currently be added or removed

Plugins and Templates Included

Other

Main query only set-up to query samples but not associated sensor data or sequencing data (must user respective search functions for this (aside from data dumps)

There is no admin log file

Blank-Sterilization sample types are currently are set to have no sampling duration regardless of what is input

Disclaimer

All NanoLIMS users are responsible for their own data security. Please take any necessary extra precautions to reduce the inherent risk involved with database exposure to the internet such as SQLi and xxs attacks. NanoLIMS utilizes prepared statements and htmlspecialchars to help protect against these attacks. However, NanoLIMS has been created for a closed internet connection and has not been rigorously tested against these types of attacks. Please backup all database information as needed.