- Input: Clariostar file with concentrations of up to 96 samples ready for NGS pooling
- Output: Echo or Biomek ready file to pool samples at equimolar concentration
- Clone the repository into your computer
- Use Pip to install the requirements:
pip3 install -r requirements.txt- To run via the Terminal:
python3 Main.py- To run via via executable:
Open the executable file:
SamplePoolingForNGS/Executable/dist/Main/Main.exeTip: You can also create a shortcut in your location of interest.
A GUI will guide you through the process. Test input files are available in the repository.
This protocol can be run either using the Echo 525 for non genomic DNA samples, or the Biomek i7 for genomic DNA samples. Bellow is an overview of the steps involved, although the setup and transfer volumes will depend on which robot is used.
Input: 1-24 Samples in a plate format Step Description: Samples are mixed with Qubit working solution in a plate. Output: Clariostar file with the estimated concentrations of the samples
Input: Clariostar file from PART 1 Step Description: Using the present automated data processing tool, a file will be generated to perform the transfers of the samples into the final pool. This file will be fit for either, Echo 525 or Biomek i7 depending on the option selected by the user. The following files will be generated in a folder, during the processing:
- InputFiles:
- InputFile.csv: Copy of the file input by user
- InputTrimmedFile.csv: Input file modified to remove standards and empty wells
- OutputFiles:
- ExceptionsReport.csv: Report specifying wells excluded from the processing (e.g empty wells)
- ProcessingDetails.csv: File containing the details of the data processing stages for each sample
- EchoFile.csv or BeckmanFile.csv: Echo or Beckman ready file containing volumes of samples to be pipetted into the final pool
Input: Echo or Beckman ready file from PART 2
Step Description: The Echo or Biomek robot will transfer the volumes specified in the list into the same well.
Output: Destination plate with final pool in the selected well and with the desired volume.
- Find out what max concentration in file is: c(max)
- Calculate weights for all samples: weight(i) = c(max)/c(i)
- Sum all the weights: Σ(i=1,i=n) weight(i)
- Calculate weight_normalised for all samples: weight_normalised(i)=weight(i)/Σ(i=1,i=n) weight(i)
- QC: sum of the weights normalised = 1
- Calculate volume to pipette for each sample based on weight_normalised and final volume desired: vol_in_pool(i)=weight_norm(i) * v(f)
- Edge case 1: sample has too high concentration ≡ vol_in_pool(i) < min_pipetting_capacity → remove sample from pool ≡ drop from output file + log issue in report file
- Edge case 2: sample has too low concentration ≡ vol_in_pool(i) > vol_available_in_well → remove sample from pool ≡ drop from output file + log issue in report file
- Calculate final pool concentration for QC (all v in nL and c in ng/uL): C(final pool) = (Σ(i=1,i=n) c1(i) * v1(i)) / v(final pool)
- Install project in Foundry's Beckman workcell
- Improve Clariostar template with features like automated outlier removal
- Add option for user to remove list of wells
- Test low dead volume plates to reduce amount required as input for Echo + Test low volume assay plate (test robotic arm or find high profile low volume plates)