Registration Key

Registration ID:
Registration Key:

Log in to LIMS*Nucleus as an administrator and enter the above values under Utilities/Register

Replication

LIMS*Nucleus handles five combinations of replication for samples and targets. In the table below, the pattern columns show the distribution of samples and target in the four quadrants of a 384 or 1536 well plate, where each color represents a unique sample (or target).

Label Sample pattern Sample replication Target Pattern Target replication N targets N rep (Assay)
1S4T unique quadruplicates 1 1
2S2T duplicates duplicates 2 1
2S4T duplicates quadruplicates 1 2
4S1T quadruplicates unique 4 1
4S2T quadruplicates duplicates 2 2

As an example consider an assay of eight 96 well plates that will be reformatted into 384 well plates for assay:

1S4T: Eight 96 plates will be reformatted into two 384 well plates (Four 96 per 384) with a unique plate in each quadrant. The 384 plates is coated with the same target in all four quadrants. There is only one target (N Targets) and each sample gets assayed 1 time (N rep (Assay))

2S2T: Eight 96 well plates will be reformatted into four 384 well plates (two 96 per 384) with one sample plate replicated in quads 1,2 and a second replicated in quads 3,4. The 384 well plates are coated with 2 antigens, antigen A in all odd columns and antigen B in all even columns. There are two targets (antigens A and B - N targets) and each sample is assayed once on each target, (N rep (Assay)). Because there are twice as many antigens being assayed as in the example above, twice as many plates are needed.

4S2T: Eight 96 well plates will be reformatted into eight 384 well plates (one 96 per 384) with one sample plate replicated in all four quadrants. The 384 well plates are coated with 2 antigens, antigen A in all odd columns and antigen B in all even columns. There are two targets (antigens A and B - N targets) and each sample is assayed twice on each target, (N rep (Assay)).

Some combinations are avoided

For example these are not an option.

Label Sample pattern Sample replication Target Pattern Target replication N targets N rep (Assay)
1S2T unique duplicates 2 1
1S1T unique unique 4 1

1S2T: Half the source plates are tested on one antigen, the other half on a different antigen. This is better broken into 2 assays, one assay per antigen, or 2 X [ 1S4T ]

1S1T: Convert to 4 X [ 1S4T ], one assay per antigen.

Simplifying Assumptions

Samples are always replicated horizontally ( quads 1,2 and 3,4) Targets are always replicated vertically ( quads 1,3 and 2,4)

Replot

In the plot view you are given the option to replot data using different normalizations and thresholds. In any view hits are calculated based on the selected parameters. These hits can be viewed by selecting the tool icon ‘View Hits’ option. In the hits view a hit list can be registered. The ‘View All Data’ option provides a table of all the underlying annotated data for export. External software can then be used to analyze the data and generate hit lists:

Worklist

When a rearray workflow is executed, automatically a robot worklist suitable for executing the physical rearraying of samples is generated. That worklist is stored, and its existance is indicated in the “Worklist” column in the Plate Set view. With the plate set containing a worklist of interest selected, under the tools icon select the menu item ‘worklist’:

The worklist will be displayed. Use the export buttons to select the desired export format:

The worklist will be generated and transferred to your spreadsheet application:

Quadrants

When reformatting 96 well plates into 384 with fixed tip 96 channel liquid handling robot, the layouts of the destination plate is predetermined and matches the source layout, only replicated four times. Each source plate is deposited into a “quadrant” of the destination plate, such that a quadrant is defined as the wells across the destination plate that accomodate the samples from one source plate.

In the image below, quadrants are indicated for wells A01, A02, B01, and B02. Additional wells that belong to quadrant 1 are indicated. Note that quadrant 1 wells extend across the 384 well plate down to well O23.

The following images explicitly define the indicated quadrant with a filled in square:

Q1

Q2

Q3

Q4

A simplifying assumption made by LIMS*Nucleus is that during a reformatting operation, source plates are added sequentialy in a Z pattern such that plate 1 is deposited into quadrant 1, plate 2 into quadrant 2, etc.:

The process of transferring four 384 well plates into a 1536 well plate is analogous to what is described above.

Rearray

Rearraying is the process of transferring hits from one or more plates into a new plate set. Hits are transferred in sample id order, into plates by column. In the example below, hits are the black wells across 3 plates, being transferred into a single plate:

To initiate a rearray operation start by navigating into a hit list by clicking on the hit list URL. Scroll down to see the list of plate sets that contain the hits of interest. Here I am looking at HL-1:

Note there are 10 hits total. Two plate sets are suggested, but the 384 well plate set is a transient assay plate that contains the hits in duplicate. Use the plate type as a guicde as to which plates might contain the samples. The master plate set PS-1 is selected. Under the tools icon select ‘Rearray’:

The rearray form will appear, with an auto-generated description which you can edit. Fill in the required information and click ‘Submit’.

Confirm the information and select the controls layout. You are then directed to the plate set page where you can see the new plate set PS-20 of hits:

Field Description
Name freeform text, a descriptive name
Description auto-populated but editable
Format 96, 384 well plates are possible destination formats
Type Rearray suggested but user selected
Sample Layout Choose a layout; layout “description” appears in this dropdown

In the plate set view, the newly created PS-20 in PRJ-1 is visible with its informative description. There is also a worklist associated with the plate set because it was created using a rearray operation.

Generate a view of the worklist:

Now to physically transfer the samples from PS-1 to the new plates of PS-20, export the worklist to Excel and import into a liquid handling robot to run the transfer:

Reformat Overview

Reformat is an operation performed on plate sets. Reformat will collapse four 96 well plates into a single 384 well, providing 1 replicate per sample. It is also possible to generate duplicates or quadruplicates of each sample. The plate layout of a reformatted destination plate is predetermined by the layout of the source plate, with some examples shown below. Source plates are loaded into destination plates in plate set order, following the Z pattern through the quadrants.

96 well source plate 384 well destination plate
Singlecates
Duplicates
Quadruplicates

The same patterns apply when reformatting 384 well plates into 1536

Reformat a Plate Set

Read the reformat overview

  1. Navigate into the project containing the plate set to be reformatted
  2. Select the plate set to be reformated
  3. From the tools icon select “Reformat”
  1. The form that appears is divided into 2 sections: “Source Plate Set” provides details of the source, in this case PS-3. “Destination Plate Set” requires configuration by the user. The predicted number of plates and the new plate set layout depend on the replication selections made. Review replication for background information. Fill in the required information and click ‘Submit’.

Confirm and select target layout if applicable. Note that the destination layout is selected for you, LYT-4. The destination layout is predetermined by the source layout and the level of sample and target replication (see below):

The new plate set, PS-8, is available in the plate set list:

Drill down to see that there are five 384 well plates. The original plate set contained 10 96 well plates in LYT-1 that were reformatted in duplicate using LYT-4. Use the global menu to select plate layouts and drill down into LYT-1 to identify the potential destination layouts for LYT-1. LYT-4 is one option for duplicate samples, with the target being the same across the plate (4T - same target in all 4 quadrants).

This requires ten 384 well plates with the duplicate samples side-by-side using the replication pattern 2S4T:

To confirm the samples are in this format, drill down to wells/samples and sort the samples by clicking on the “Sample” column header. Confirm that the two replicates of each sample are in neighboring wells e.g. A01, A02, and C01, C02 etc.

Install LIMS*Nucleus using a Guix pack

A Guix pack installation is a simple installation suitable for users not interested in the Guix package manager. The detailed instructions below follow the same process automated by the install script found on the evaluate page, but provides additional diagnostic information.

The first step in the install script is setting up the database. Manually install the database using instructions on the postgres page.

If you are using the install script and it is not executable, change permissions:

1
chmod 777 install-limsn-pack.sh

Download and unzip the archive

1
2
wget https://github.com/limsn/labsolns/releases/download/v0.1.0p/limsn-0.1.0-pack.tar.gz
tar xf ./limsn-0.1.0-pack.tar.gz

Look at the contents of the bin directory

1
2
3
4
5
6
7
$ls ./bin
art dropuser guile-config initdb oid2name pg_controldata pg_receivewal pg_standby pg_waldump reindexdb
clusterdb ecpg guile-snarf install-pg-aws-ec2.sh pg_archivecleanup pg_ctl pg_recvlogical pg_test_fsync pgbench start-limsn.sh
createdb gnuplot guile-tools install-pg-aws-rds.sh pg_basebackup pg_dump pg_resetwal pg_test_timing postgres vacuumdb
createuser guild init-limsn-channel.sh lnpg.sh pg_checksums pg_dumpall pg_restore pg_upgrade postmaster vacuumlo
dropdb guile init-limsn-pack.sh load-pg.sh pg_config pg_isready pg_rewind pg_verifybackup psql

Various *limsn*.sh scripts are needed to configure and start up LIMS*Nucleus. You can also use psql to diagnose the database.

Place $HOME/bin on $PATH

1
2
3
$export PATH="$HOME/bin${PATH:+:}$PATH"
$echo $PATH
/home/admin/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Note that in the above example I am using the admin account on AWS so $HOME == /home/admin

Initialize LIMS*Nucleus

Initialize by executing ./bin/init-limsn-pack.sh. The function of the various scripts is described on the scripts page. Check that the $HOME/.config/limsn directory has been created and artanis.conf has been copied into the directory:

1
2
$ ls $HOME/.config/limsn
artanis.conf

Check that $HOME/.bashrc has been modified to include exports for LC_ALL, PATH, GUILE_LOAD_PATH, and GUILE_DBD_PATH.

$HOME/.bashrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
$cat $HOME/.bashrc
/# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export LC_ALL="C"
export PATH=/home/admin/bin:/gnu/store/2rl49lcanmqn26s660dd85lv7pfn0ykb-limsn-0.1.0/bin:/home/admin/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
export GUILE_LOAD_PATH=/home/admin/gnu/store/rj0pzbki1m5hpcshs614mhkrgs2b3i9d-artanis-0.5.2/share/guile/site/3.0:/home/admin/gnu/store/780bll8lp0xvj7rnazb2qdnrnb329lbw-guile-json-3.5.0/share/guile/site/3.0:/home/admin/gnu/store/jmn100gjcpqbfpxrhrna6gzab8hxkc86-guile-redis-2.1.1/share/guile/site/3.0:/home/admin/gnu/store/3f0lv3m4vlzqc86750025arbskfrq05p-guile-dbi-2.1.8/share/guile/site/2.2
export GUILE_DBD_PATH=/home/admin/gnu/store/z5kilafxayw2kdvn3anw1shkqij17dqb-guile-dbd-postgresql-2.1.8/lib

source .bashrc to make certain that all environment variables have been properly set:

1
$source $HOME/.bashrc

Modify the artanis.conf configuration file

Critical parameters are described on the configuration page. You must have in hand IP addresses for the database and client.

1
sudo nano $HOME/.config/limsn/artanis.conf

Make sure the database is available and loaded

The psql command below will work on a local database - modify accordingly. You should find 10 preloaded projects. Projects 4-9 are empty and can be used for experimentation:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$psql -U ln_admin -h 127.0.0.1 lndb
psql (13.4, server 11.14 (Debian 11.14-0+deb10u1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

lndb==>select * from project;

id | project_sys_name | descr | project_name | sessions_id | updated
----+------------------+------------------------------------------+----------------------+-------------+-------------------------------
1 | PRJ-1 | 3 plate sets with 2 96 well plates each | With AR, HL | 9999999999 | 2022-04-06 11:07:05.854606+00
2 | PRJ-2 | 1 plate set with 2 384 well plates each | With AR | 9999999999 | 2022-04-06 11:07:06.825439+00
3 | PRJ-3 | 1 plate set with 1 1536 well plate | With AR | 9999999999 | 2022-04-06 11:07:08.32809+00
4 | PRJ-4 | description 4 | MyTestProj4 | 9999999999 | 2022-04-06 11:07:13.364018+00
5 | PRJ-5 | description 5 | MyTestProj5 | 9999999999 | 2022-04-06 11:07:13.365426+00
6 | PRJ-6 | description 6 | MyTestProj6 | 9999999999 | 2022-04-06 11:07:13.367082+00
7 | PRJ-7 | description 7 | MyTestProj7 | 9999999999 | 2022-04-06 11:07:13.368542+00
8 | PRJ-8 | description 8 | MyTestProj8 | 9999999999 | 2022-04-06 11:07:13.370008+00
9 | PRJ-9 | description 9 | MyTestProj9 | 9999999999 | 2022-04-06 11:07:13.371613+00
10 | PRJ-10 | 2 plate sets with 10 96 well plates each | Plates only, no data | 9999999999 | 2022-04-06 11:07:13.372956+00
(10 rows)

lndb=>

Start LIMS*Nucleus

Start in detached mode so you can close the terminal. To kill the process you will need to look up the PID and kill. Start in regular mode to monitor any error messages.

1
$nohup start-limsn.sh &

to kill Ctrl-C in interactive mode or in detached mode:

1
2
3
4
5
$ ps aux | grep artanis
admin 12479 2.9 6.0 154628 60944 pts/0 Sl 13:22 0:00 /gnu/store/cnfsv9ywaacyafkqdqsv2ry8f01yr7a9-guile-3.0.7/bin/guile \ /gnu/store/dfa7p2zvk4xlhaq1y3hsqkzpqd73ggni-artanis-0.5.2/bin/.art-real work -h0.0.0.0 --config=/home/admin/.config/limsn/artanis.conf
admin 12494 0.0 0.0 3084 880 pts/0 S+ 13:22 0:00 grep artanis

$ kill -15 12479