Over Easter weekend 2018 we launched estimationstats.com on Twitter. There was a lot of interest, and the information spread to scientists in many different fields. The upsurge in usage provoked some server memory outages. Requests included a version in R, and an option that can tolerate very large sample sizes (which the swarmplot cannot handle). We're happy that people seem to find it helpful, and welcome feedback on what doesn't work and what does.
We mourn the loss of our colleague Katarina Chlebikova, a brilliant student and passionate scientist.
Katarina graduated with a degree in Biological Sciences from the University of Cambridge, doing her major project on learning and memory with Johan Alsiö. In the lab Jun - Sep 2013 she worked on Drosophila defense behaviors. Katarina went on to do her MSc at Edinburgh University before returning to Duke-NUS as a PhD student. She pursued her doctoral studies in the lab from Jan 2016. Tragically, Katarina passed away January 2018.
MS Word offers a huge range of advanced features. However, Google Docs is vastly superior for collaborative composition.
After getting sick of the default font in matplotlib, and frankly annoyed by how difficult it seems to use custom fonts, Joses sat down and figured it out.
These instructions below are for Mac OS X, and assume you have installed Jupyter.
1. Install homebrew: go to and follow the instruction (no plural) here http://brew.sh/
2. Install font converter `fondu` with homebrew using the command:
brew install fondu
in Terminal. We will used `fondu` to convert the font of choice to 'ttf'.
3. Then find the font file you want to add. Open FontBook in your Utilities folder, find your font of choice, right-click on it, and select "Show in Finder".
4. Copy the font family to the folder "\Library\Fonts".
5. If this font already has the file extension `ttf`, you can skip to step 6.
If the font has file extension `dfont`, enter the following lines in Terminal:
fondu <filename of font>
This will convert the .dfont file to a .ttf file.
6. Now we need to delete the font cache for matplotlib. In terminal, enter the lines
to navigate to the matplotlib temp directory and list its contents.
7. There should be a file named either `fontList.cache` or `fontList.py3k.cache`. Use
rm <name of fontlist cache>
to delete it.
8. Now we need to edit the matplotlib parameters file. Start a new Python notebook in Jupyter and run the command
in a new cell. This should give you something like:
which is the location of the parameters file.
9. Open this file in a text editor and scroll down to the Font section.
10. Find the line beginning with `font.sans-serif` and/or `font.serif`. Remove the '#' at the beginning of these lines.
11. Add the name of the font family to these lines. For example:
font.serif : Alegreya, Droid Serif, Bitstream Vera Serif, ...
font.sans-serif : Helvetica Neue, Source Sans Pro, Bitstream Vera Sans…
I have added Alegreya and Droid Serif to the serif family of fonts; Helvetica Neue and Source Sans Pro have been added to the sans-serif family. Matplotlib will look for fonts in running order, so put the fonts you want to use as default immediately after the colon.
11. Save the edited `matplotlibrc` file.
12. Restart your Jupyter notebook and run the following lines.
import matplotlib.pyplot as plt
and scroll to the Font section again to check that your settings have taken effect.
13. You can use the following matplotlib commands to change font family (sans-serif or serif) and the font. For example:
plt.rcParams['font.family'] = 'serif'
plt.rcParams['font.serif'] = 'Droid Serif’
You'll need to restart the notebook and run these lines again if you change the font.
14. To ensure that your edited parameters file will not be ignored when using seaborn, you need to import seaborn as
import seaborn.apionly as sns
This is only possible with the latest version of seaborn (v0.7.1).
Application Deadline: 27 January 2017
Prof Richard Baines of Manchester University and Dr Adam Claridge-Chang of A*STAR, Singapore are offering an exciting doctoral project to identify novel anticonvulsant compounds for the analysis and treatment of epilepsy. Doctoral research will be conducted in both Manchester (years 1 and 4) and Singapore (years 2 and 3).
Current antiepileptic drugs are effective for only two-thirds of patients and are associated with significant side-effects. Better drugs are needed, but a lack of novel drug targets and good screening methods are significant barriers. The fruit fly (Drosophila melanogaster) offers the prospect to develop high-throughput screens to identify novel anticonvulsant compounds. Single gene mutations exist that increase the severity and duration of induced seizures in flies; seizures that respond well to treatment using existing antiepileptic drugs. This, and other studies, shows that the underlying biological basis of seizure in flies is remarkably similar to humans.
In the first year, you will learn to work with Drosophila seizure mutants, using behavioral methods and calcium imaging to observe activity of central neurons. In the second year, you will implement advanced behavioral analysis methods (machine vision) to quantify seizure severity and dynamics. In the third year, you will use the behavioral analysis systems to screen for novel anticonvulsant compounds. These will include venom peptides that may block voltage-gated sodium channels and/or other excitatory ionic currents. In the final year, you will apply calcium-imaging and electrophysiology to determine mode-of-action for interesting anticonvulsant compounds identified.
This is an interdisciplinary research project that combines the quantitative analysis of seizure behaviours, drug-screening and in vivo physiology in Drosophila seizure models. As an ideal candidate, you would need to have an interest in epilepsy causes and treatments, along with the aptitude to learn a range of experimental techniques spanning neurogenetics, neurophysiology, computer-aided imaging and testing of compounds in whole-animal seizure screens. Both labs offer conscientious scientific mentorship, rigorous technical training and highly collaborative environments.
The project is available to UK/EU candidates. Funding covers fees (UK/EU rate) and stipend for four years. Overseas candidates can apply providing they can pay the difference in fees and are from an eligible country. Please check the website for information on eligibility. Candidates will be required to split their time between Manchester and Singapore, as outlined on our website. Applications should be submitted online and candidates should make direct contact with the Manchester supervisor to discuss their application directly.
1.Streit AK, Fan YN, Masullo L and Baines RA (2016) Calcium imaging of neuronal activity in Drosophila can identify anticonvulsive compounds. PLOS One DOI:10.1371/journal.pone.0148461 February 10, 2016.
2.Giachello CNG and Baines RA (2015) Inappropriate neural activity during a sensitive period in embryogenesis results in persistent seizure-like behaviour. Curr. Biol. 25:2964-2968.
3.Lin WH, He M and Baines RA (2015) Seizure suppression through manipulating splicing of a voltage-gated sodium channel. Brain 138:891-901.
4. Alnabulsi S, Santina E, Russo I, Hussein B, Kadirvel M, Chadwick A, Bichenkova EV, Bryce RA, Nolan K, Demonacos C, Stratford IJ, Freeman S (2016) Non-symmetrical furan-amidines as novel leads for the treatment of cancer and malaria. Eur. J. Med. Chem.111:33–45.
5. Emsley HC, Appleton RE, Whitmore CL, Jury F, Lamb JA, Martin JE, Ollier WE, de la Morandière KP, Southern KW and Allan SM (2014) Variations in inflammation-related genes may be associated with childhood febrile seizure susceptibility. Seizure 23:457-61
The anion channelrhodopsins from the algae Guillardia theta are highly effective at inhibiting neuronal activity in flies. Our manuscript is now available as a preprint.
Why do I need to do this?
A lot of biology involves (1) doing an experiment where you make an intervention and (2) measuring what effect the intervention has.
If you are living in the Dark Age of P, you assume your intervention has had absolutely no effect, and then calculate the probability of seeing your data (or more extreme data), under that assumption of zero effect. Since you likely did the experiment because you thought there would be an effect, it seems super weird and slightly depressing to then go assuming zero effect when you start analyzing your data.
If you use estimation, a far more sensible method, you want to estimate the size of the effect of your intervention. The most straightforward effect size is the difference between the control mean and the intervention mean ('mean difference'), along with its confidence interval.
I've got confidence interval error bars, is that enough?
It's a good start to have CI error bars on your observed data plots. However, you also need to be able to say things like:
"when we made the intervention to flies their behavior X
increased by +54% [95CI +35, +78], P = 0.01."
You need (1) know what your delta variable is and (2) know how to get these numbers.
What statistics are essential?
The three essential statistics are:
What statistics are nice to have?
What text style should I follow?
The text format we are using for mean difference with its confidence interval is:
-1.5 [95CI -1.2, -1.8]
+1.5 [95CI +1.2, +1.8]
Note the use of the +/- signs to denote that this is a measure of the change in the variable, not a measure of the variable itself. I prefer '95CI' instead of '95%CI' as I find the latter to be cluttered.
Often it is useful to write something like this.
∆weight = +1.5 µg [95CI +1.2, +1.8]
to remind the reader of the change variable (∆weight) and the units (µg). The confidence interval bounds are contained within square brackets , and this generally follows the mean difference closely in text. It is then followed by the supporting statistics. For example:
∆VO2 = -1.5 µl/fly/min [95CI -1.2, -1.9], N = 65, 62
∆VO2 = -1.5 µl/fly/min [95CI -1.2, -1.9], g = 0.56, P = 0.01, N = 65, 62
The g statistic was invented by Larry Hedges, so Hedges' g uses a possessive apostrophe after the 's.' The 'g' is italicized. P should be italicized and capitalized by default.
What graphical style should I follow in charts?
Instead of the little stars, you can put the effect size right next to your difference marker. In this case, simplicity is a virtue. You can write '∆ = -1.5' next to the first marker, then just the numbers without the '∆ =' for the rest of the markers in that Figure.
When using Google Docs, there are a few tricks.
How might a fly model of anxiety help us understand the genetic causes of anxiety disorders? Read the paper (PDF).