Human Protein Atlas data for download
Labels: science
bioCS, another name for bioinformatics?
Labels: science
>>> from newick import parse_tree
>>> t = parse_tree("((Human,Chimp)Primate,(Mouse,Rat)Rodent)Supraprimates;")
>>> print t
(('Human', 'Chimp')Primate, ('Mouse', 'Rat')Rodent)Supraprimates
>>> print t.identifier
Supraprimates
That is, the branch name is stored in the changeset. The flaw is that it's quite easy to have more than one branch with the same name, and it's difficult to tell when this has happened. This can cause confusion in a team where one is left wondering what changes, exactly, have made it into the "stable" branch when multiple people have reopened and merged the branch on different timelines.The problem of the "pointless" merges is solved beautifully by the rebase extension, which is included by default in current versions of hg. I think this extension is under-advertised.

Labels: meta
There are still two problems: The overlapping labels for the bottom-right density axis, and a tiny bit of misalignment between the left side of the graphs on the left. I think that the dot in the labels for the density pushes the plot a tiny bit to the right compared with the 2D plot. Any ideas?
p <- qplot(data = mtcars, mpg, hp, geom = "point", colour = cyl)
p1 <- p + opts(legend.position = "none")
p2 <- ggplot(mtcars, aes(x=mpg, group=cyl, colour=cyl))
p2 <- p2 + stat_density(fill = NA, position="dodge")
p2 <- p2 + opts(legend.position = "none", axis.title.x=theme_blank(),
axis.text.x=theme_blank())
p3 <- ggplot(mtcars, aes(x=hp, group=cyl, colour=cyl))
p3 <- p3 + stat_density(fill = NA, position="dodge") + coord_flip()
p3 <- p3 + opts(legend.position = "none", axis.title.y=theme_blank(),
axis.text.y=theme_blank())
legend <- p + opts(keep= "legend_box")
## Plot Layout Setup
Layout <- grid.layout( nrow = 2, ncol = 2,
widths = unit (c(2,1), c("null", "null")),
heights = unit (c(1,2), c("null", "null"))
)
vplayout <- function (...) {
grid.newpage()
pushViewport(viewport(layout= Layout))
}
subplot <- function(x, y) viewport(layout.pos.row=x, layout.pos.col=y)
# Plotting
vplayout()
print(p1, vp=subplot(2,1))
print(p2, vp=subplot(1,1))
print(p3, vp=subplot(2,2))
print(legend, vp=subplot(1,2))
Labels: publishing, science