On March 14th celebrate `\pi` Day. Hug `\pi`—find a way to do it.
For those who favour `\tau=2\pi` will have to postpone celebrations until July 26th. That's what you get for thinking that `\pi` is wrong.
If you're not into details, you may opt to party on July 22nd, which is `\pi` approximation day (`\pi` ≈ 22/7). It's 20% more accurate that the official `\pi` day!
Finally, if you believe that `\pi = 3`, you should read why `\pi` is not equal to 3.
The folded paths show `\pi` on a path that maximizes adjacent prime digits and were created using a protein-folding algorithm.
The frequency circles colourfully depict the ratio of digits in groupings of 3 or 6. Oh, look, there's the Feynman Point!
Download the HP lattice simulation binary. You'll need one of the three 2D methods — I used
rem2dm, which does local and pull moves. If you'd like to learn more about the algorithm, read the publication.
A replica exchange Monte Carlo algorithm for protein folding in the HP model. Chris Thachuk, Alena Shmygelska and Holger H Hoos, BMC Bioinformatics 2007, 8:342 (17 Sep 2007).
Download the batch file for 64- or 768-digit folding.
When you run the 64-digit simulation, you're likely to find a path with
E=-23, which is the lowest energy I've been able to sample. On my Intel Xeon E5540 (2.53 GHz) it takes anywhere from 1-30 seconds to find a
E=-23 path (there are many possible paths at this energy), depending on the random seed. Here's the output of a typical run of the 64-digit folding simulation
> rem2dm -seq=hppphphphhhpphphhhppphpphhphhhphphppppphppphpphhhpphphpphpppphph -maxT=220 -numLocalSteps=500 -eng=100 -maxRunTime=60 -traceFile=pi.64 -minT=160 -expID=pi.64 -numReps=10 REMC-HP2D-M Begin Simulation 0.01: Current Best Solution: -8 0.01: Current Best Solution: -10 0.01: Current Best Solution: -13 0.02: Current Best Solution: -15 0.03: Current Best Solution: -16 0.03: Current Best Solution: -17 0.04: Current Best Solution: -18 0.04: Current Best Solution: -19 0.16: Current Best Solution: -20 0.27: Current Best Solution: -21 0.69: Current Best Solution: -22 36.23: Current Best Solution: -23 Real time: 120 ggslrrsrllssrrlrrllsrrlrrlslslrrsrlssrrsllrslrrlrsllsrsrrlsrssrs p--h--p | | h--h h--p--p--p | | p--p h H h--p--p | | | | | p--h h--h--p p p--p | | | p--p--h h--p p--p p | | | | | h--h h h--p--h h--p | | | p--h h h--p--H h--p | | | | p--p p p--h--h | | p p--h--p | | p--p--h h | | p--p End Simulation
If you want to apply this to different number (e.g.
), you'll need to replace the digits with either
h. Remember, the simulation will try to group the
h's together. You can download 1,000,000 of
The best path I could find for 768 digits is one with
E=-223. In 1000s of simulations this solution came up only once. I also saw one path at
E=-222. After that, there were many solutions at each of the less optimal energy levels.
If you manage to find a better one, let me know right away!
If you obtain a segmentation fault,
> ./rem2dlm REMC-HP2D-LM Begin Simulation Real time: 0 Segmentation fault
don't panic just yet. The folding binaries don't do a lot of error checking, so you have to get the input parameters correct.
For example, if you do not include the
-eng parameter, the code will segfault.
> bin/rem2dm -seq=hhpppphhhhpppphh -maxRunTime=5 -eng 10 REMC-HP2D-M Begin Simulation 3.13877e-17: Current Best Solution: -2 5.49284e-17: Current Best Solution: -3 1.0201e-16: Current Best Solution: -4 1.33398e-16: Current Best Solution: -5 Real time: 5 ggrllslsssrllsls p--p--p | | h h--p | | H h | H h | | p--h h | | p--p--p
If this segfaults, then you'll need to recompile the code (see below).
If these don't work on your system, you need to recompile them. Download the the protein folding code and see INSTALL.txt for compilation instructions.
One of my color tools, the
colorsnap application snaps colors in an image to a set of reference colors and reports their proportion.
Below is Times Square rendered using the colors of the MTA subway lines.
Drugs could be more effective if taken when the genetic proteins they target are most active.
Design tip: rediscover CMYK primaries.
Ruben et al. A database of tissue-specific rhythmically expressed human genes has potential applications in circadian medicine Science Translational Medicine 10 Issue 458, eaat8806.
We focus on the important distinction between confidence intervals, typically used to express uncertainty of a sampling statistic such as the mean and, prediction and tolerance intervals, used to make statements about the next value to be drawn from the population.
Confidence intervals provide coverage of a single point—the population mean—with the assurance that the probability of non-coverage is some acceptable value (e.g. 0.05). On the other hand, prediction and tolerance intervals both give information about typical values from the population and the percentage of the population expected to be in the interval. For example, a tolerance interval can be configured to tell us what fraction of sampled values (e.g. 95%) will fall into an interval some fraction of the time (e.g. 95%).
Altman, N. & Krzywinski, M. (2018) Points of significance: Predicting with confidence and tolerance Nature Methods 15:843–844.
Krzywinski, M. & Altman, N. (2013) Points of significance: Importance of being uncertain. Nature Methods 10:809–810.
A 4-day introductory course on genome data parsing and visualization using Circos. Prepared for the Bioinformatics and Genome Analysis course in Institut Pasteur Tunis, Tunis, Tunisia.
Data visualization should be informative and, where possible, tasty.
Stefan Reuscher from Bioscience and Biotechnology Center at Nagoya University celebrates a publication with a Circos cake.
The cake shows an overview of a de-novo assembled genome of a wild rice species Oryza longistaminata.
The presence of constraints in experiments, such as sample size restrictions, awkward blocking or disallowed treatment combinations may make using classical designs very difficult or impossible.
Optimal design is a powerful, general purpose alternative for high quality, statistically grounded designs under nonstandard conditions.
We discuss two types of optimal designs (D-optimal and I-optimal) and show how it can be applied to a scenario with sample size and blocking constraints.
Smucker, B., Krzywinski, M. & Altman, N. (2018) Points of significance: Optimal experimental design Nature Methods 15:599–600.
Krzywinski, M., Altman, N. (2014) Points of significance: Two factor designs. Nature Methods 11:1187–1188.
Krzywinski, M. & Altman, N. (2014) Points of significance: Analysis of variance (ANOVA) and blocking. Nature Methods 11:699–700.
Krzywinski, M. & Altman, N. (2014) Points of significance: Designing comparative experiments. Nature Methods 11:597–598.