Author Archives: kubu4

NovaSeq Assembly – Trimmed Geoduck NovaSeq with Meraculous

Attempted to use Meraculous to assemble the trimmed geoduck NovaSeq data.

Here’s the Meraculous manual (PDF).

After a bunch of various issues (running out of hard drive space – multiple times, config file issues, typos), I’ve finally given up on running meraculous. It failed, again, saying it couldn’t find a file in a directory that meraculous created! I’ve emailed the authors and if they have an easy fix, I’ll implement it and see what happens.

Anyway, it’s all documented in the Jupyter Notebook below.

One good thing came out of all of it is that I had to run kmergenie to identify an appopriate kmer size to use for assembly, as well as estimated genome size (this info is needed for both meraculous and SOAPdeNovo (which I’ll be trying next)):

kmergenie output folder:
kmergenie HTML report (doesn’t display histograms for some reason): 20180206_kmergenie/histograms_report.html
kmer size: 117
Est. genome size: 2.17Gbp

Jupyter Notebook (GitHub): 20180205_roadrunner_meraculous_geoduck_novaseq.ipynb


Titrator Setup – Functional Methods & Data Exports

I’ve been working on getting our T5 Excellence titrator (Mettler Toledo) with Rondolino sample changer (Mettler Toledo) set up and operational.

A significant part of the setup process is utilizing the LabX Software (Mettler Toledo, v.8.0.0). The software is vastly overpowered (i.e. overly complicated) for the nature of our work. As such, it’s been quite the struggle to get the titrator to do what we need it to do.

We’ve received a great deal of help and insight from Dr. Hollie Putnam (Univ. of Rhode Island). She provided us with a LabX Method that was previously used by some of her colleagues. In addition, she provided us with an SOP from those colleagues that helps describe how to physically operate the titrator and a corresponding workflow for data collection. Of course, she’s also helped immensely with understanding the entire process of the chemistry to how to process samples to implementing various quality control checks to ensure we’ll get the most accurate data we can.

After some significant struggles with getting the method to work properly, I contacted Mettler Toledo and the technician helped me modify the method that Hollie passed along to us to run properly.

Basic Functionality Fixes

The updated method resolves the following issues we were having (see annotated screenshot below the lists for more detailed overview of method changes):

  • Method only ends titration at specified maximum volume instead of specified potential
  • Method exits with Sample State = “Not OK”
  • Method fails to calculate acid Consumption at end of titration

I also modified the method to bring it up to spec with the Dickson Guide to Best Practices for Ocean CO2 Measurements- SOP3b:

  • Changed method template to use Endpoint (EP) titration instead of Equivalence Point (EQP) titration
  • Implemented initial titration step to pH=3.5 (200mV)
  • Added degassing step to match Dickson specs (increase stir speed and duration)
  • Improved titration precision by changing titration rate to automatically adjust relative to set endpoint values
  • Set correct voltages for pH=3.5 (200mV) & pH=3.0 (228.57mV); no need to adjust prior to running method

I recommend opening the image below in a new tab in order to be able to read all of the annotations.

So, all of that stuff makes the method actually run according to the Dickson specs. It also fixes the Consumption calculation. Although this aspect of the method is totally unnecessary (the consumption calculation could easily be integrated in downstream analysis), it feels good to have fixed the issue and learn how that aspect of the LabX software functions.

Data Export Fixes

We recently acquired the necessary license to unlock the ability to export data.


This is a terrible practice implemented by Mettler Toledo, btw. I’m particularly annoyed because I specifically asked about data exports when I spoke with the sales rep when initiating the purchase. He neglected to mention that I’d need to purchase an additional license. I wasted a lot of time and hair pulling before I learned that this feature was locked by design and that I needed this additional license.

Anyway, the struggles continued even after activating the license. I was not able to export any data – every attempt at specifying a directory in which to save data failed.

Mettler Toledo informed me that it has to do with Windows Services Permissions.

To change permissions to allow data export:

  1. Search Windows for “Services”
  2. Open “Services”
  3. Right-click on “LabXHostService”
  4. Select “Properties”
  5. Click “Log On” tab.
  6. Click “Local System Account” radio button.
  7. Check “Allow service to interact with desktop” box.
  8. Restart computer.

Now, the data gets automatically exported to my desired directory as soon as a LabX task is finished!!

Data Management & Informational Resources

As we are very close to beginning to actually collect data with the titrator, I realized that all this data needs to go somewhere. Additionally, people need someplace to find out how to use all of this stuff (equipment, software, etc.).

I created a new GitHub repo: RobertsLab/titrator

Please feel free to look through it and post any ideas to the Issues section of the repo.

In my mind, this will be a “master” data repository for all measurements conducted on the titrator. All daily pH calibration data should get pushed to this repo. Any sample titration data should also end up on this repo. Basically, all the raw data coming off the machine each time it is used should end up in this repo. I think this will reduce data fragmentation (e.g. I perform measurements on a subset of samples one day and put the data in my folder on Owl. Then Grace performs measurements on the remaining samples and uploads those data to her folder on Owl. Now, the complete data set for an experiment is split between two different locations, making it difficult to find.)

Although this single data repository approach won’t eliminate fragmentation (it can’t be avoided since the Rondolino sample changer can only hold nine samples), I think it will be beneficial to know that all the data is in a single location.

This repo will also be a resource for SOPs and troubleshooting. A detailed SOP is currently in development (being modified from the SOP Hollie originally sent us) which will detail daily startup/shutdown procedures, running scripts to process data, and guides on how to evaluate quality control procedures at various points throughout the titration process.

Finally, it will also contain the necessary scripts that we develop for data grooming and analysis.

What’s Left?


We only need one final physical component to actually begin collecting data. After reviewing the Dickson SOP3b and speaking with Hollie, it turns out we need an aquarium pump and rotameter (acquired this week) to sparge our samples; this aids in degassing prior to the titration from pH=3.5 to pH=3.0. Just waiting on tubing and tubing adapters for the rotameter. Once we have this, I should be able to start powering through samples.

Initial testing of the titrator (even without the full physical setup in place) shows highly consistent, reproducible measurements – both with pH calibration values and with total alkalinity (TA) determinations on Instant Ocean seawater. As such, I’m confident that I won’t have very much testing left to do once I can start bubbling air into the samples.


Although these things are not necessary in order to start acquiring data, they will be necessary for performing TA calculations and, eventually be desired for analyzing and reporting TA calculations in near real-time (the end goal is to have this titrator setup in a wet lab where water TA calculations can be determined on the spot, as opposed to being stored and analyzed at a later time).

A to-do list is outlined here: RobertsLab/titrator/issues/1


Adapter Trimming and FASTQC – Illumina Geoduck Novaseq Data

We would like to get an assembly of the geoduck NovaSeq data that Illumina provided us with.

Steven previously ran the raw data through FASTQC and there was a significant amount of adapter contamination (up to 44% in some libraries) present (see his FASTQC report here).

So, I trimmed them using TrimGalore and re-ran FASTQC on them.

This required two rounds of trimming using the “auto-detect” feature of Trim Galore.

  • Round 1: remove NovaSeq adapters
  • Round 2: remove standard Illumina adapters

See Jupyter notebook below for the gritty details.


All data for this NovaSeq assembly project can be found here:

Round 1 Trim Galore reports: [20180125_trim_galore_reports/](]
Round 1 FASTQC: 20180129_trimmed_multiqc_fastqc_01
Round 1 FASTQC MultiQC overview: 20180129_trimmed_multiqc_fastqc_01/multiqc_report.html


Round 2 Trim Galore reports: 20180125_geoduck_novaseq/20180205_trim_galore_reports/
Round 2 FASTQC: 20180205_trimmed_fastqc_02/
Round 2 FASTQC MultiQC overview: 20180205_trimmed_multiqc_fastqc_02/multiqc_report.html


For the astute observer, you might notice the “Per Base Sequence Content” generates a “Fail” warning for all samples. Per the FASTQC help, this is likely expected (due to the fact that NovaSeq libraries are prepared using transposases) and doesn’t have any downstream impacts on analyses.


Jupyter Notebook (GitHub): 20180125_roadrunner_trimming_geoduck_novaseq.ipynb


Software Install – 10x Genomics Supernova on Mox (Hyak)

Steven asked me to install Supernova (by 10x Genomics on our Mox node.

First, need to install a dependency: bcl2fastq2
Followed Illumina bcl2fastq2 manual (PDF)

Logged into Mox and initiated a Build node:

srun -p build --time=1:00:00 --pty /bin/bash

Install bclsfastq2 dependency

Illumina bcl2fastq2 manual (PDF)

cd /gscratch/srlab/tmp
export TMP=/gscratch/srlab/tmp/
export SOURCE=${TMP}/bcl2fastq
export BUILD=${TMP}/bcl2fastq2.20-build
export INSTALL_DIR=/gscratch/srlab/programs/bcl2fastq-v2.20
cd ${TMP}
tar -xvzf bcl2fastq2-v2.20.0.422-Source.tar.gz
cd ${BUILD}
chmod ugo+x ${SOURCE}/src/configure
chmod ugo+x ${SOURCE}/src/cmake/bootstrap/
${SOURCE}/src/configure --prefix=${INSTALL_DIR}
cd ${BUILD}
make install

Install Supernova 2.0.0

Supernova install directions

cd /gscratch/srlab/programs
wget -O supernova-2.0.0.tar.gz ""
tar -xzvf supernova-2.0.0.tar.gz
rm supernova-2.0.0.tar.gz
cd supernova-2.0.0
supernova-cs/2.0.0/bin/supernova sitecheck > sitecheck.txt
supernova-cs/2.0.0/bin/supernova upload sitecheck.txt
srun -p srlab -A srlab --time=2:00:00 --pty /bin/bash
/gscratch/srlab/programs/supernova-2.0.0/supernova testrun --id=tiny

OK, looks like the test run finished successfully.


Assembly Comparisons – Oly Assemblies Using Quast

I ran Quast to compare all of our current Olympia oyster genome assemblies.

See Jupyter Notebook in Results section for Quast execution.


Output folder:

Heatmapped table of results:

Very enlightening!

After all the difficulties with PB Jelly, it has produced the most large contigs. However, it does also have the highest quantity and rate of N’s of all the assemblies produced to date.


contigs (>= 50000 bp): pbjelly_sjw_01 (894)

Largest Contig: redundans_sjw_02 (322,397bp)
Total Length: pbjelly_sjw_01 (1,180,563,613bp)
Total Length (>=50,000bp): pbjelly_sjw_01 (57,741,906bp)
N50: redundans_sjw_03 (17,679bp)

Jupyter Notebook (GitHub): 20180116_swoose_oly_assembly_comparisons_quast.ipynb


DNA Quantification – MspI-digested Crassostrea virginica gDNA

Quantified the two MspI-digested DNA samples for the Qiagen project from earlier today with the Qubit 3.0 (ThermoFisher).

Used the Qubit dsDNA Broad Range (BR) Kit (ThermoFisher).

Used 1μL of DNA from each sample (including undigested gDNA from initial isolation 20171211


Quantification (Google Sheet): 20180111_qubit_DNA_MspI_virginica

Yields are good and are sufficient for submission to Qiagen:

MspI_virginica_01 – 53.4ng/μL (1335ng; 89% recovery after phenol/chloroform/EtOH precip)
MspI_virginca_02 – 31.0ng/μL (775ng; ~52% recovery after phenol/chloroform/EtOH precip)


Phenol:Chloroform Extractions and EtOH Precipitations – MspI Digestions of C.virginica DNA from Earlier Today

The two MspI restriction digestions from earlier today for our project with Qiagen were subjected to phenol:chloroform cleanup and subsequent ethanol precipitations.

Phenol:chloroform clean up procedure:

  1. Added equal volume (50μL) of phenol:chloroform:IAA (25:24:1) to each sample.

  2. Vortexed.

  3. Centrifuged 5mins, 16,000g at room temperature.

  4. Transferred aqueous phase (top layer) to clean 0.5mL snap-cap PCR tube.

  5. Added equal volume of chloroform (50μL) to aqueous phase.

  6. Vortexed.

  7. Centrifuged 5mins, 16,000g at room temperature.

  8. Transferred aqueous phase (top layer) to clean 0.5mL snap-cap PCR tube.

Performed ethanol precipitation on both samples according to lab protocol.

Resuspended precipitated DNA in 25μL Buffer EB (Qiagen).

Will quantify with Qubit 3.0.


Restriction Digestion – MspI on Crassotrea virginica gDNA

Digested two 1.5μg aliquots of Crassostrea virginica isolated 20171211, as part of the project we’re doing with Qiagen.

Digestion reactions:

Component Volume(μL)
DNA (1.5μg) 25.7
10x CutSmart Buffer (NEB) 5.0
Water 17.3
MspI (NEB) 2

MspI info:

  • NEB R0106T (100,000U/mL; rec’d 20171214)

Reactions were carried out in 0.5mL snap-cap PCR tubes and incubated for 15mins @ 37oC in a PTC-200 thermalcycler (MJ Research), no heated lid.

Samples will be subjected to a phenol:chloroform extraction for cleanup.