Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix amplicon quantification and pooling #203

Closed
tanaes opened this issue Feb 16, 2018 · 1 comment
Closed

Fix amplicon quantification and pooling #203

tanaes opened this issue Feb 16, 2018 · 1 comment

Comments

@tanaes
Copy link
Collaborator

tanaes commented Feb 16, 2018

Currently, amplicon quantification and pooling doesn't work correctly.

The way the wet lab does amplicon pooling currently is that it:

  1. calculates DNA concentrations
  2. calculates the volume that would be necessary to pool 240 ng of that sample
  3. if the required volume exceeds 15 µL and the sample is not a blank, pool 2 µL
  4. pool 2 µL from the two highest-concentration blanks

But what's happening in the code currently is that the first three elements of this are (sort of) happening in the concentration calculation:

https://github.com/jdereus/labman/blob/7a4df3170e6a511336fdb7294521999b34d3df77/labman/db/process.py#L1825-L1833

This means that rather than actual estimated concentrations being stored in the DB, we are storing some actual concentrations (high-conc samples) and some fake concentrations (low-conc samples and blanks), then doing a trivial calculation in the pooling method:

https://github.com/jdereus/labman/blob/7a4df3170e6a511336fdb7294521999b34d3df77/labman/db/process.py#L1866-L1881

Additionally, Greg requests some ability so selectively choose the number of blanks to pool (e.g in a plate with lots of high-conc blanks, might want to sequence several to see what's going on).

...

I suggest the following:

  1. Consolidate the concentration logic for 16S and shotgun libraries into a single method. They're fundamentally the same: just estimating molarity based on DNA concentration and average fragment size. There's no reason to separate them.
  2. Consolidate the pooling logic for 16S and shotgun libraries. The 16S method is identical to the 'min-vol' method for shotgun, with the exception that blanks are treated specially. No reason not to use the same methodology here and just pass parameters to affect behavior. The parameters should be defined by the js interface.
  3. Expose the blank-selection criteria in the interface, and modify heatmap plots such that included blanks are visually differentiated (changing emojis for those wells?)
@tanaes
Copy link
Collaborator Author

tanaes commented May 4, 2018

Closed via #222

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant