Friday, September 12, 2008

Protein of the Day #5: Aldehyde dehydrogenase 2

Aldehyde dehydrogenase 2, or ALHD2, is the highlight of an article in Science this week showing it is related to mechanisms for protecting the heart from ischemia (lack of blood, which results in lack of oxygen (hypoxia)). There are cytosolic and mitochondrial versions; since this protein is important in metabolizing alcohol, having both versions seems to clear alcohol faster, although I can't find a definitive reference for that fact.

Thursday, September 11, 2008

Protein of the Day #4: apical membrane antigen 1 (AMA1)

In the Plasmodium species that cause malaria, the merozoite stage must invade red blood cells. It does this using the strange apicoplast organelle, which is a much-warped descendent of a chloroplast. Apicoplast:chloroplast as Gollum:Hobbit. Anyway, one of the proteins that helps this invasion is the apical membrane antigen 1, although like most Plasmodial proteins not that much is known about it.

Eloquent Javascript

Because of my interest in Sage and eventually helping more with the notebook interface, I've been trying to learn some Javascript. Recently I found a fantastic online book that's a joy to use, partly because it has an interactive Javascript console and all code examples can be run within that framework: check out Eloquent Javascript.

Thursday, August 21, 2008

Protein of the Day #3: Bone morphogenic protein 7

In this week's Nature there is some exciting news about what makes brown adipose tissue, or "brown fat". It turns out that brown fat actually comes from muscle precursor cells, not fat cells, and bone morphogenic protein 7 (Bmp7) can induce the transformation.

Brown fat is very important in hibernation as it can generate heat by short-circuiting the mitochondrial proton pump. At very low temperatures, animals cannot shiver so they need other heat generating mechanisms. Its also important for infant mammals, including humans.

Bmp7 is part of the TGF-beta superfamily (transforming growth factors). In the human its on chromosome 20. 7 exons, very typical gene in that respect.

Brown fat has generated a lot of controversy over the years (since 1551!); this discovery seems like a big step forward.

Tuesday, August 19, 2008

Protein of the Day #2: Clathrin

Clathrin is a very cool protein. It forms polyhedral lattices that help cells in endocytosis. Your synapses are using a lot of clathrin right now.

Monday, August 18, 2008

Protein of the Day #1: Alpha-2 Macroglobulin

Long time no post. I've decided to try a "Protein of the Day" post mostly to help myself remember some of them.

For protein #1, I've picked alpha-2 macroglobulin, a serum protease inhibitor. NCBI's Online Mendelian Inheritance in Man (OMIM) is a nice curated resource for protein/gene information and its where I often turn first. Wikipedia has a nice entry too - the quality of wikipedia articles in biochemistry is usually excellent in my experience so far.

Its a glycoprotein, so there are some extra carbohydrates attached. There are four subunits held together by SS bonds. The gene structure is relatively complicated, with 36 exons (same number in human and mouse. It is thought to be evolutionarily related to the C3 and C4 proteins.

My interest in it mainly stems from the fact that it is important in mammalian hibernation. Among many other effects, it inhibits coagulation and fibrinolysis.

Friday, May 9, 2008

Anders Jensen's nonregular Groebner fan in 3D

The only example of a non-regular Groebner fan that I am aware of is the following one from Anders Jensen's 2007 thesis, here plotted in 3D with Sage and gfan:

R4. = PolynomialRing(QQ,4)
idnp = R4.ideal([x*y*z+x^2*z-x*y,x*w^2-z,x*w^4+x*z])
gfnp = idnp.groebner_fan()
show(gfnp.render3d(), frame = False)

You have to follow the link for the plot since I am not sure how to include JMol applets on a blogger post.

Saturday, May 3, 2008

OpenWetWare and Sage

After reading a nice article by Julius Lucks on OpenWetWare, about python, biopython and SWIG, I suggested he check out Sage. He in turn suggested I write something up on OpenWetWare, and so I have. Hopefully this will lead to some more biology and bioinformatics interest in Sage.

Sunday, April 27, 2008

Back from Lausanne

Last week I went to a very nice conference at the Bernoulli Center, on real algebraic and tropical geometry. I gave a talk on some problems on finiteness and bounds on the real solution of polynomial systems coming from the n-body problem; Sage was featured in a variety of ways during my talk. Here's an animation of a 4-body central configuration (couldn't seem to upload it to the blog directly; maybe its too big).

Thursday, April 17, 2008

making tracks

I've finally added a feature to Sage that I've wanted for a long time: tracking the solution paths of polynomial systems through a homotopy continuation (using Jan Verschelde's phcpack). I am cleaning up my code for formal inclusion, but it seems to work pretty well. The picture below tracks 87 of 99 solutions of the Albouy-Chenciner equations for the three-body problem (in the complex plane). The initial solutions (small blue dots) are for masses m1 = 1, m2 = 2, and m3 = 3. The final solutions are for m1 = 1/100, m2 = 1/10, and m3 = 3. Some of the solutions are moving off to infinity: the mixed volume for the system with m1=m2=0 is only 18, so 81 solutions have to coalesce or move out to infinity. (Why only 87 of the 99? The other twelve are somewhat degenerate, and their solution paths are a little jumpy). Alex Jokela helped a lot with writing the parser for the phcpack path-tracking output.

Saturday, April 5, 2008

color me gfan, now in rgb

Various improvements to the gfan interface in sage are in the works; one of the minor things I've had fun doing is adding more flexible color functions to the render function. Here's the Groebner fan of the 3-vortex problem relative equilibria equations, where the color is determined by the polynomial in each reduced Groebner basis which has the highest degree in any one variable - the degrees of the polynomial are converted to RGB values.

Wednesday, March 26, 2008

Interactive coalescents

Genetic coalescents are interesting statistically; the variance in the time to coalescence is large, which is the kind of quantity I think human intuition has trouble with. So it helps a bit to be able to play with them (code can be found here):

Tuesday, March 25, 2008

Gfan in 3D

Having upgraded the Sage interface to gfan for version 0.3, I've been thinking about other ways to leverage Sage's capabilities in this respect. One thing I've been working on is a 3D Groebner fan representation. I have some working code for this now, which hopefully will end up in Sage-3.0 if I have time to polish it up. Below are a couple of screenshots of the 3D rendering of the Groebner fan of the ideal generated by (w^3-x, x^3-y, y^3-w, z^2-x-y-w):


Friday, March 21, 2008

restricted four-body problem

The Albouy-Chenciner equations for the restricted four-body problem seem to generally have 191 solutions. For masses m1=17/20, m2 = 19/20, and m3 = 1, there are 160 complex solutions in 6 variables (the mutual distances between the particles). Plotting each sextuplet as a polygon gives the following plot, followed by the configurations formed by the positive real solutions. Computed with Sage and phcpack.



phcpack, sage, and interact

I've been working on integrating Jan Verschelde's phcpack software with Sage. phcpack finds solutions to pretty nasty systems of multivariable polynomials by using polyhedral homotopy continuation. Sage can provide a nice frontend for this. Here's an interactive display of the complex solutions of the Albouy-Chenciner equations (from the paper "Le problème des n corps et les distances mutuelles", Inventiones Mathematicae 131 p.151-184, 1998) for the 4-vortex problem:

Monday, March 17, 2008

Color me Gfan

The latest version of Gfan has some new capabilities that I am excited to use for testing whether ideals are zero-dimensional. But first I have to rewrite the Sage interface to Gfan. I thought that I should try to give some Sage-added-value while I was at it, so I am converting Gfan's xfig output to Sage graphics and adding some color. Here's one result so far: a map of all the reduced Groebner bases for the 3-vortex problem, colored by maximum degree:




Thursday, March 13, 2008

Sage 2.10.3

Sage 2.10.3 is out, with the first released version of the new interact command. As a spectator to the process, it looked like a tough fight between bugs and developers - which I think should be viewed as an entirely positive thing, since it is a consequence of improved QA practices.

Release notes are here, in case you need it the download page is here.

If I can stop playing with interact (which has already been useful to me in teaching and research after 1 day!!) I hope to contribute a wee bit to some upcoming releases. I am rewriting the gfan interface to make use of gfan 0.3. Also, a student and I are working on pretty graphics for path-tracking solutions from homotopy solvers of polynomial systems (phcpack). I'll have to revise the plan a bit to exploit interact.

Monday, March 10, 2008

Interact

William Stein and Co. have delivered once again, with a new "interact" command that looks amazing even in its beta form. You can almost smell Sage-3.0; it should be out before the roses are blooming here in Duluth. Among other tests, I used it to explore the CpG content of the human mitochondrion averaged over a variable length window:

Thursday, February 28, 2008

Music

Okay, so its not about bioinformatics or Sage, but after a month of no posts I thought I should say something. In the near future I hope to put up some more technical stuff; right now I am working on updating the Gfan (Groebner basis fan software) component of Sage, which isn't very sexy.

So: some music picks. I have been very happy with Balkan Beat Box's eponymous first album. I highly recommend it. Also good recently was Dengue Fever's Escape From Dragon House.

Saturday, January 26, 2008

coalescent

Given the title of this blog, I've meant to do some coalescent stuff in sage for a while. Now that I am about to teach about it in a class, I've finally found the motivation:
(It's cooler animated, but I can't figure out how to post a gif animation here.)