Making Size Exclusion Chromatography columns

My summer student, Kalita, has been digesting oligosaccharides, derivatising them and injecting them into the mass spectrometers in an effort to derive structural information from these complex molecules. We had hoped to use acrylamide gel electrophoresis to visualise the performance of our digests, in the way of Pomin et al (2005).

Screenshot from 2016-03-03 20:30:41.png

This figure from the paper shows the effect of their hydrolysis technique upon the molecular weight of the oligomer. Note the banding patterns resulting from selective hydrolysis of certain glycosidic bonds. This produces a regular reduction in size of the fragments. We wanted to use this feature to produce polymeric fragments in the <10kDa size rage. These would be amenable to LC-MS/MS, as in Lang et al (2014), allowing us to infer the sequence, functionalisation and bonding of the monomers within the oligomer.

As it turned out our acrylamide gels got lost somewhere amidst The Great Bureaucracy and so, with time running out we cast around for alternate technologies. Enter Yang, et al (2009), who used a similar technique in their paper, but also deployed Size Exclusion Chromatography to illustrate the size-class of fragments produced.

Screenshot from 2016-03-03 21:11:31.png

The thing is we didn’t have any GPC or SEC columns.  😦


So we decided to try making our own!  😀


Fortunately or chemical store had a shelf of old bottles of dextran and other GPC or ion-exchange substrates. We dug up a protocol from an MSc thesis by Wilfred Mak in which he’d used an anion exchange substrate to determine the molecular weight of intact sulfated fucan oligosaccharides, rifled through the stores to find some substrates that looked about right and away we went!

We started out with a biuret:


At the bottom, hidden by the blue compression screw, is a plug of deactivated glass wool with a few mL of sand on top of that and then the white dextran gel. This was the first addition of substrate and settling. After topping it up we have a column of about 40cm length. This type of column is purely gravity-fed. You add sample and running buffer at the top and wait for the head of fluid to pass through the column, collecting fractions through the tap at the bottom. This can take hours.

While Kalita was putting this together I was looking at some of the old silica particle LC columns I had and wondering if I might dismantle them, remove the packing and repack them with the dextran to give a real, high-pressure column. This could be plumbed into one of our conventional LC setups, allowing us to push samples through at a faster rate and giving the option of automated sample injection, data and fraction collection. I had something of a brain wave and realised that I had some Swagelok fittings which would allow me to fit a piece of 1/4″ polypropylene air line with pressure-tight caps and LC fittings at either end to fulfil exactly that function. A couple of hours later Kalita and I were the proud parents of monstrous creation on the left!


The white tube held between the two clamps on the left hand retort is the air line packed with hydrated dextran. The line at the top comes from the Shimadzu LC pump on the right, which is pumping Tris buffer through the column to settle the packing material. We can get a flow of 2 mL/min through the column with a back pressure of about 5 bar. Plenty for LC!

For now our creation is parked until we can get round to doing something cool with it on Monday but watch this space to see the outcome. Our intention is to add an autosampler to the front for sample injection, a Refractive Index Detector and maybe even an electrochemical detector on the outflow to detect what came off the column and possibly even a fraction collector for downstream LC-MS/MS analysis of the fractions! Fun!

Our first goal is to validate the SEC function by injecting a range of proteins stained with Bradford Reagent. We can also try some di- and tri-saccharides along with our oligo digests.


References cited

Lang et al (2014). Applications of Mass Spectrometry to Structural Analysis of
Marine Oligosaccharides. Mar. Drugs 2014, 12, 4005-4030

Pomin et al (2005). Mild acid hydrolysis of sulfated fucans: a selective 2-desulfation reaction and an alternative approach for preparing tailored sulfated oligosaccharides. Glycobiology vol. 15 no. 12 pp. 1376–1385, 2005

Yang et al (2009). Mechanism of mild acid hydrolysis of galactan polysaccharides with highly ordered disaccharide repeats leading to a complete series of exclusively odd-numbered oligosaccharides. FEBS Journal 276 (2009) 2125–2137


Agilent Infinity Series liquid chromatograph and 6420 triple quadrupole mass spectrometer

Here’s a picture of our LC-MS.


Its a triple quadrupole instrument, so its designed for quantitative analysis of any compound you can solubilise and ionise, which includes pretty much anything relevant to metabolism, physiology, pharmacology and biochemistry.

Its a conventional pressure LC stack featuring thermostatted autosampler for 100 x 2ml vials, a thermostatted column compartment and a diode array detector at the bottom, if needed. We also have a fluorescence detector which isn’t shown.

We have two sources for the MS, a conventional electrospray ionisation [ESI] source and a Multi Mode Ionisation [MMI] source which can be set for full ESI, full Atmospheric Pressure Chemical Ionisation [APCI] or a mixture of the two, with full control over the corona current and charging voltage.

This instrument is currently analysing sugar derivatives and has previously been used to quantify phenolic compounds and anthocyanins in cherries, triglycerides in human plasma and serum and neonicotinoid pesticides. I am currently developing a method to target 15 bile acids in human samples and another to target lignin-derived phenolics in estuarine plant material and sediment.

Scraping molecular information from ChemSpider using Processing.

I’ve spent the evening knocking out this little sketch to scrape molecular information from ChemSpider to inform my mass spectrometry. Until now I’ve been doing this by hand or getting the students to, when they are able, but this is the start of my attempt to automate the process. Ultimately I will just want to feed it a text file of compound names and it will parse the output into a document.

Open a Processing window, copy the code below into it, edit the first string to contain the name of the compound of your choice and click run. Here’s an image of example output.

Processing ChemSpider sketch output

// sketch to grab molecular information from a named compound from ChemSpider
// AUT School of Applied Science
// June 2015
// released under GPLv3 licence –

// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
// enter the compound name you want information for
String compound = “caffeine”;
// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

// sketch continues
PImage webImg;

String URL = “;;
String nameURL = URL + compound;
String[] html1 = loadStrings(nameURL);

String CSID = “CSID”;
String formula = “formula”;
String MIM = “MIM”;
String solubility = “solubility”;
String logKow = “logKow”;
int imageSize = 400;
void setup() {
size(imageSize, imageSize);

for(String i:html1) { // iterate through each string in the array
// println(i);
int line = i.indexOf(“CSID:”); // identifies CSID line by searching for this string

if(line > 0) { // if you find that string
String[] trim1 = split(i, ‘,’); // split off the junk
// for(int i = 0; i < trim1.length; i++) { // println(trim[i]); // } String[] trim2 = split(trim1[0], ‘:’); // split off more junk CSID = trim2[1]; // set the CSID break; } } String imageURL = “; + CSID + “&w=” + imageSize + “&h=” + imageSize; webImg = loadImage(imageURL, “jpg”); String CSIDURL = “; + CSID + “.html”; // use the CSID to construct the url to that molecule’s entry String[] html2 = loadStrings(CSIDURL); // grab the html //println(html2); for(String i:html2) { // this is the main part of the macro // println(i); int MIMLine = i.indexOf(“Monoisotopic mass”); // identifies MIM line int formulaLine = i.indexOf(“Molecular-Formula”); // identifies the formula line int solubilityLine = i.indexOf(“Solubility at 25 deg C (mg/L):”); // etc int logKowLine = i.indexOf(“Log Kow (KOWWIN”); // etc if(formulaLine > 0) {
String[] trim1 = split(i, ‘/’);
// for(int e = 0; e < trim1.length; e++) { // println(trim1[e]); // } String[] trim2 = split(trim1[2], ‘”‘); formula = trim2[0]; } if(MIMLine > 0) {
String[] trim1 = split(i, ‘>’);
// for(int e = 0; e < trim1.length; e++) { // println(trim1[e]); // } String[] trim2 = split(trim1[3], ‘ ‘); MIM = trim2[0]; } if(solubilityLine > 0) {
String[] trim1 = split(i, ‘ ‘);
// for(int e = 0; e < trim1.length; e++) { // println(trim1[e]); // } solubility = trim1[12]; } if(logKowLine > 0) {
String[] trim1 = split(i, ‘ ‘);
// for(int e = 0; e < trim1.length; e++) {
// println(trim1[e]);
// }
logKow = trim1[11];
print(“the formula for ” + compound + ” is “);

print(“the monoisotopic mass of ” + compound + ” is “);
println(MIM + ” Da”);

print(“the estimated log Kow of ” + compound + ” is “);

print(“the solubility of ” + compound + ” at 25C is “);
println(solubility + ” mg/l”);
void draw() {
image(webImg, 0, 0);

GC-MS: Thermo Trace GC Ultra – DSQ

This is our venerable single quadrupole GC-MS (Gas chromatography–mass spectrometry). 


This is one of the two mass spectrometers we have, the other being the Agilent triple quadrupole LC-MS. It is a fairly standard instrument with the split/splitless injector and a 30 metre VF5-MS column. The recent acquisition of the Gerstel Multipurpose Sampler has given it an entire new lease of life, allowing us to perform sample preparation and automatic injection by headspace analysis, Solid Phase Micro Extraction (SPME) and conventional liquid injection. The instrument lives in an air-conditioned annex of my lab and is run from the PC next to it via Thermo Xcalibur v1.4 software and Gerstel’s Maestro software for the MPS.

Current applications for this instrument include a research project into the function of terpenoids in plant immune response, the analysis of sugars in a wide variety of samples by acetylation for GC, profiling of volatile compounds in seaweed and metabolite profiling by methyl chloroformate derivatisation, by the method of Smart et al (1). 

(1) Smart, K. F.; Aggio, R. M. B.; VanHoutte, J. R. and Villas-Bôas, S.G. 2010. Analytical platform for metabolome analysis of microbial cells using methyl chloroformate derivatization followed by gas chromatography-mass spectrometry (GC-MS). Nature Protocols 5: 1709 – 1729. doi:10.1038/nprot.2010.108