Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - contact me Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca on Twitter Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Lumondo Photography Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Pi Art Martin Krzywinski / Genome Sciences Center / mkweb.bcgsc.ca - Hilbertonians - Creatures on the Hilbert Curve
Trance opera—Spente le Stellebe dramaticmore quotes

pi: exciting


In Silico Flurries: Computing a world of snow. Scientific American. 23 December 2017


visualization + design

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
The 2018 Pi Day art celebrates the 30th anniversary of `\pi` day and connects friends stitching road maps from around the world. Pack a sandwich and let's go!

`\pi` Day 2014 Art Posters


Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2018 `\pi` day shrinks the world and celebrates road trips by stitching streets from around the world together. In this version, we look at the boonies, burbs and boutique of `\pi` by drawing progressively denser patches of streets. Let's go places.

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2017 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 `\pi` approximation day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2016 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2015 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 `\pi` approx day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2014 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
2013 `\pi` day

Pi Day 2014 Art Poster - Folding the Number Pi
 / Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Circular `\pi` art

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.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
All art posters are available for purchase.
I take custom requests.

For the 2014 `\pi` day, two styles of posters are available: folded paths and frequency circles.

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!

compute your own path

get simulation code

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 batch file

Download the batch file for 64- or 768-digit folding.

run simulation

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. φ or e ), you'll need to replace the digits with either p or h. Remember, the simulation will try to group the h's together. You can download 1,000,000 of π , φ and e .

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!

common problems

segmental fault

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.

Try one of the batch files above (64 digit batch file, 768 digit batch file) or the following simple job

> 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).

compile code (optional—only if binaries don't work)

Precompiled binaries are available for download directly: rem2dm, rem2dlm, rem2dpm, rem3dm, rem3dlm, rem3dpm.

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.

VIEW ALL

news + thoughts

Find and snap to colors in an image

Sat 29-12-2018

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.


Colors used by the New York MTA subway lines.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Times Square in New York City.
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Times Square in New York City rendered using colors of the MTA subway lines.
Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Granger rainbow snapped to subway lines colors from four cities. (zoom)

Take your medicine ... now

Wed 19-12-2018

Drugs could be more effective if taken when the genetic proteins they target are most active.

Design tip: rediscover CMYK primaries.

More of my American Scientific Graphic Science designs

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.

Predicting with confidence and tolerance

Wed 07-11-2018
I abhor averages. I like the individual case. —J.D. Brandeis.

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%).

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Predicting with confidence and tolerance. (read)

Altman, N. & Krzywinski, M. (2018) Points of significance: Predicting with confidence and tolerance Nature Methods 15:843–844.

Background reading

Krzywinski, M. & Altman, N. (2013) Points of significance: Importance of being uncertain. Nature Methods 10:809–810.

4-day Circos course

Wed 31-10-2018

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.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Composite of the kinds of images you will learn to make in this course.

Oryza longistaminata genome cake

Mon 24-09-2018

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.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Circos cake celebrating Reuscher et al. 2018 publication of the Oryza longistaminata genome.

Optimal experimental design

Tue 31-07-2018
Customize the experiment for the setting instead of adjusting the setting to fit a classical design.

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.

Martin Krzywinski @MKrzywinski mkweb.bcgsc.ca
Nature Methods Points of Significance column: Optimal experimental design. (read)

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.

Background reading

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.