<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-4149294779334281951</atom:id><lastBuildDate>Mon, 22 Feb 2010 09:54:15 +0000</lastBuildDate><title>bioCS</title><description>biology as computational science</description><link>http://blog.mckuhn.de/</link><managingEditor>noreply@blogger.com (Michael Kuhn)</managingEditor><generator>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-8522676622877112553</guid><pubDate>Wed, 17 Feb 2010 11:01:00 +0000</pubDate><atom:updated>2010-02-22T10:54:15.152+01:00</atom:updated><title>While we predict drug targets, pharma already knows them</title><description>All the excitement about predicting drug targets from remote chemical structure similarities (&lt;a href="http://www.nature.com/nature/journal/v462/n7270/full/nature08506.html"&gt;Nature&lt;/a&gt;) and drug side effects (&lt;a href="http://www.sciencemag.org/cgi/content/abstract/321/5886/263"&gt;Science&lt;/a&gt;) suddenly seems strangely unfounded when you realize that "they"  already have the answer:&lt;br /&gt;&lt;a href="http://blog.mckuhn.de/uploaded_images/Screen-shot-2010-02-17-at-12.01.20-PM-709683.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://blog.mckuhn.de/uploaded_images/Screen-shot-2010-02-17-at-12.01.20-PM-709676.png" style="cursor: pointer; display: block; height: 151px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;This &lt;a href="http://www.nature.com/nchembio/journal/v6/n3/fig_tab/nchembio.320_F1.html"&gt;figure&lt;/a&gt; is a tiny section of the data used for Preclinical Safety Profiling at the Novartis Institutes for BioMedical Research. They are not alone: &lt;a href="http://www.cerep.fr/Cerep/Users/pages/ProductsServices/bioprintservices.asp"&gt;BioPrint from Cerep&lt;/a&gt; is a repository of 2500 compounds assayed against 159 targets. &lt;a href="http://www.nature.com/nbt/journal/v24/n7/abs/nbt1228.html"&gt;Paolini et al. mention&lt;/a&gt; 600,000 binding data points at Pfizer.&lt;br /&gt;&lt;br /&gt;Things are begining to change, thanks to academic curation efforts like &lt;a href="http://www.bindingdb.org/"&gt;BindingDB&lt;/a&gt;, &lt;a href="http://pdsp.med.unc.edu/indexR.html"&gt;PDSP Ki database&lt;/a&gt;, &lt;a href="http://drugbank.ca/"&gt;DrugBank&lt;/a&gt; &lt;a href="http://stitch.embl.de/"&gt;etc.&lt;/a&gt; and not least to EMBL-EBI's acquisition of &lt;a href="http://www.ebi.ac.uk/chembldb/index.php"&gt;ChEMBL&lt;/a&gt;. Still, one can only imaging how different current academic research questions would be if the all-against-all drug–target assay information would be public. In essence, academia is working on predicting additional data points from a sparse matrix, while pharma companies already have the full matrix in hand, but want to add more rows/columns to the matrix &lt;span style="font-style: italic;"&gt;in silico&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; As always, &lt;a href="http://friendfeed.com/biocs/7114de1f/while-we-predict-drug-targets-pharma-already"&gt;good discussion on FriendFeed&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-8522676622877112553?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2010/02/while-we-predict-drug-targets-pharma.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7585959366865637433</guid><pubDate>Thu, 04 Feb 2010 10:52:00 +0000</pubDate><atom:updated>2010-02-04T11:59:47.939+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><title>Human Protein Atlas data for download</title><description>As I just learned in our lab's journal club, the data from the &lt;a href="http://www.proteinatlas.org/"&gt;Human Protein Atlas&lt;/a&gt; is &lt;a href="http://www.proteinatlas.org/download.php"&gt;available for download&lt;/a&gt;, thanks to their &lt;a href="http://www.nature.com/msb/journal/v5/n1/full/msb200993.html"&gt;recent paper in MSB&lt;/a&gt;. Curiosly enough, the &lt;a href="http://www.proteinatlas.org/help.php"&gt;HPA help page&lt;/a&gt; still states that they do not make data available as a matter of "general policy."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7585959366865637433?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2010/02/human-protein-atlas-data-for-download.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-8694330906947377633</guid><pubDate>Fri, 15 Jan 2010 09:08:00 +0000</pubDate><atom:updated>2010-01-15T10:19:30.222+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>python</category><category domain='http://www.blogger.com/atom/ns#'>science</category><title>A Newick parser for Python,  supporting internal node labels</title><description>I just pushed a fork of &lt;a href="http://www.mailund.dk/"&gt;Thomas Mailund&lt;/a&gt;'s nice &lt;a href="http://www.daimi.au.dk/%7Emailund/newick.html"&gt;Newick parser&lt;/a&gt; for Python to &lt;a href="http://bitbucket.org/mkuhn/newick/"&gt;bitbucket&lt;/a&gt;. I added support for labeled internal nodes, but probably partially broke support for bootstrap values.&lt;br /&gt;&lt;pre&gt;&gt;&gt;&gt; from newick import parse_tree&lt;br /&gt;&gt;&gt;&gt; t = parse_tree("((Human,Chimp)Primate,(Mouse,Rat)Rodent)Supraprimates;")&lt;br /&gt;&gt;&gt;&gt; print t&lt;br /&gt;(('Human', 'Chimp')Primate, ('Mouse', 'Rat')Rodent)Supraprimates&lt;br /&gt;&gt;&gt;&gt; print t.identifier&lt;br /&gt;Supraprimates&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-8694330906947377633?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2010/01/newick-parser-for-python-supporting.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7887451926423852845</guid><pubDate>Wed, 21 Oct 2009 11:44:00 +0000</pubDate><atom:updated>2009-10-21T13:49:02.949+02:00</atom:updated><title>Public Service Announcment: Evolution of the centrosome</title><description>Information on the &lt;a href="http://en.wikipedia.org/wiki/Centrosome"&gt;evolution of the centrosome&lt;/a&gt; can be found on Wikipedia and in the &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/17977464"&gt;scientific literature&lt;/a&gt;. Not &lt;abbr title="evolutionnews.org"&gt;elsewhere&lt;/abbr&gt;.&lt;br /&gt;&lt;br /&gt;(I just incorporated part of a grant proposal I sent in last week on Wikipedia. I hope this doesn't lead to any plagiarism charges. ;-) )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7887451926423852845?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/10/public-service-announcment-evolution-of.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-8379750497493367226</guid><pubDate>Thu, 01 Oct 2009 14:08:00 +0000</pubDate><atom:updated>2009-10-01T16:33:05.938+02:00</atom:updated><title>Rebasing in Mercurial</title><description>After I used git for my own projects for a while, we switched the development of the &lt;a href="http://string.embl.de/"&gt;STRING&lt;/a&gt; and &lt;a href="http://stitch.embl.de/"&gt;STITCH&lt;/a&gt; databases from svn to mercurial (on &lt;a href="http://bitbucket.org/"&gt;bitbucket&lt;/a&gt;). Coming from git, I found two essential things lacking: (1) automatic coloring and paging of diffs and (2) rebasing.&lt;br /&gt;&lt;br /&gt;Problem 1 is solved by enabling the pager and using the "attend" option to specify which command should go to &lt;span style="font-style: italic;"&gt;less&lt;/span&gt;. You'll also have to globally set the options "SR" for &lt;span style="font-style: italic;"&gt;less&lt;/span&gt; (e.g. "setenv LESS SR").&lt;br /&gt;&lt;br /&gt;To rebase means to take code changes that were developed in parallel and make it look like they were developed sequentially, effectively avoiding commits which have the only purpose of merging independent changes. Rebasing before pushing also avoids the problem that you can &lt;a href="http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/"&gt;silently drop previous changes&lt;/a&gt; by pushing without pulling beforehand:&lt;br /&gt;&lt;blockquote&gt;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.&lt;a href="http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/" target="_blank"&gt;&lt;/a&gt;&lt;/blockquote&gt;The problem of the "pointless" merges is solved beautifully by the &lt;a href="http://mercurial.selenic.com/wiki/RebaseExtension"&gt;rebase extension&lt;/a&gt;, which is included by default in current versions of hg. I think this extension is under-advertised.&lt;br /&gt;&lt;br /&gt;To briefly compare mercurial and git: I think git's approach is a more radical break from subversion etc. and therefore more consistent. However, it's also harder to wrap your head around, which is why we chose mercurial in the end.&lt;br /&gt;&lt;br /&gt;For reference, here's my &lt;a href="http://bitbucket.org/mkuhn/hgrc/src/tip/.hgrc"&gt;.hgrc&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-8379750497493367226?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/10/rebasing-in-mercurial.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-4456841015736791282</guid><pubDate>Wed, 16 Sep 2009 10:58:00 +0000</pubDate><atom:updated>2009-09-16T13:03:03.861+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>meta</category><title>Test (also: we built a funicular)</title><description>This is mainly a test to see if the image will show up in &lt;a href="http://friendfeed.com/biocs"&gt;FriendFeed&lt;/a&gt; (through &lt;a href="http://code.google.com/p/feed-buster/"&gt;Feed-buster&lt;/a&gt;). But the image is interesting as well: my son and I built a &lt;a href="http://en.wikipedia.org/wiki/Funicular"&gt;funicular&lt;/a&gt; with Duplo bricks, modeled &lt;a href="http://en.wikipedia.org/wiki/Standseilbahn_Dresden"&gt;after the one in Dresden&lt;/a&gt;. :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/20090903-IMG_5487-701399.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 267px; height: 400px;" src="http://blog.mckuhn.de/uploaded_images/20090903-IMG_5487-701334.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-4456841015736791282?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/09/test-also-we-built-funicular.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-1347462976931094269</guid><pubDate>Thu, 03 Sep 2009 08:04:00 +0000</pubDate><atom:updated>2009-09-03T10:32:03.364+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ggplot2</category><category domain='http://www.blogger.com/atom/ns#'>R</category><title>Learning ggplot2: 2D plot with histograms for each dimension</title><description>I have two 2D distributions and want to show on a 2D plot how they are related, but I also want to show the histograms (actually, density plots in this case) for each dimension. Thanks to &lt;a href="http://had.co.nz/ggplot2/"&gt;ggplot2&lt;/a&gt; and a &lt;a href="http://learnr.wordpress.com/2009/05/26/ggplot2-two-or-more-plots-sharing-the-same-legend/"&gt;Learning R&lt;/a&gt; post, I have sort of managed to do what I want to have:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/Picture-1-768381.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://blog.mckuhn.de/uploaded_images/Picture-1-768377.png" alt="" border="0" /&gt;&lt;/a&gt;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?&lt;br /&gt;&lt;br /&gt;Here's the code (strongly based on the afore-linked post on Learning R):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;p &lt;- qplot(data = mtcars, mpg, hp, geom = "point", colour = cyl)&lt;br /&gt;&lt;br /&gt;p1 &lt;- p + opts(legend.position = "none")&lt;br /&gt;&lt;br /&gt;p2 &lt;- ggplot(mtcars, aes(x=mpg, group=cyl, colour=cyl))&lt;br /&gt;p2 &lt;- p2 + stat_density(fill = NA, position="dodge")&lt;br /&gt;p2 &lt;- p2 + opts(legend.position = "none", axis.title.x=theme_blank(), &lt;br /&gt;      axis.text.x=theme_blank())&lt;br /&gt;&lt;br /&gt;p3 &lt;- ggplot(mtcars, aes(x=hp, group=cyl, colour=cyl))&lt;br /&gt;p3 &lt;- p3 + stat_density(fill = NA, position="dodge") + coord_flip()&lt;br /&gt;p3 &lt;- p3 + opts(legend.position = "none", axis.title.y=theme_blank(), &lt;br /&gt;      axis.text.y=theme_blank())&lt;br /&gt;&lt;br /&gt;legend &lt;- p + opts(keep= "legend_box")&lt;br /&gt;&lt;br /&gt;## Plot Layout Setup&lt;br /&gt;Layout &lt;- grid.layout( nrow = 2, ncol = 2,&lt;br /&gt;   widths = unit (c(2,1), c("null", "null")),&lt;br /&gt;   heights = unit (c(1,2), c("null", "null")) &lt;br /&gt;)&lt;br /&gt;vplayout &lt;- function (...) {&lt;br /&gt; grid.newpage()&lt;br /&gt; pushViewport(viewport(layout= Layout))&lt;br /&gt;}&lt;br /&gt;subplot &lt;- function(x, y) viewport(layout.pos.row=x, layout.pos.col=y)&lt;br /&gt;&lt;br /&gt;# Plotting&lt;br /&gt;vplayout()&lt;br /&gt;print(p1, vp=subplot(2,1))&lt;br /&gt;print(p2, vp=subplot(1,1))&lt;br /&gt;print(p3, vp=subplot(2,2))&lt;br /&gt;print(legend, vp=subplot(1,2))&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-1347462976931094269?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/09/learning-ggplot2-2d-plot-with.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7276875285237337432</guid><pubDate>Mon, 27 Jul 2009 21:09:00 +0000</pubDate><atom:updated>2009-07-27T23:27:31.170+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><category domain='http://www.blogger.com/atom/ns#'>publishing</category><title>One step towards writing papers in Google Wave</title><description>Google Wave's underlying technology will not only enable collaboration with other people, it also make it possible for bots to interact with what you've written. I think this is going to change the way we work. E.g., all applications which require a significant amount of typing will benefit from the statistical auto-correction provided by the Wave app &lt;a href="http://www.youtube.com/watch?v=JkcnUKHU-lg"&gt;Spelly&lt;/a&gt;. In effect, Spelly goes over the text as you're typing it and correcting the obvious mistakes, just as you would do a bit later.&lt;br /&gt;&lt;br /&gt;In a similar vein, &lt;a href="http://blogs.nature.com/wp/nascent/2009/07/igor_a_google_wave_robot_to_ma.html"&gt;the proof-of-concept bot Igor&lt;/a&gt; is watching out for inserted references and automagically converts them to a citation and a reference list. When writing papers, I usually insert reminders: "REF Imming review", "REF PMID &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/16007907"&gt;16007907&lt;/a&gt;". If I adjust this convention a bit and provide a bit more detail, Igor can figure out by itself which paper is meant and fetch the citation. Google Wave and Igor save me the tiresome going back-and-forth between a reference manager and the editor to insert all the citation, and they remove distractions from the process of writing and editing the paper.&lt;br /&gt;&lt;br /&gt;Of course, this is a proof of concept, so the style can't yet be customized. I further think it would be helpful to quickly look "what's inside" a particular citation. I don't know if Google Wave supports this, but it would be nice to click on a citation ("[23]") and be presented with a pop-up window showing not only infos about the article, but also links to PubMed / a DOI resolver.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7276875285237337432?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/07/one-step-towards-writing-papers-in.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-8642460219953630335</guid><pubDate>Thu, 21 May 2009 13:15:00 +0000</pubDate><atom:updated>2009-08-19T16:08:48.591+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><title>How good is Wikipedia's coverage of chemical compounds?</title><description>&lt;a href="http://en.wikipedia.org/"&gt;Wikipedia&lt;/a&gt; has an excellent coverage of chemical compounds, featuring above 20000 articles whose names match those &lt;a href="http://pubchem.ncbi.nlm.nih.gov/"&gt;PubChem&lt;/a&gt; compounds. After finding a few important chemicals not featured in Wikipedia, I wanted to quantify the coverage of Wikipedia and point out &lt;a href="http://en.wikipedia.org/wiki/User:MichaK/Missing_chemicals"&gt;the gaps that should be filled&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I wondered how much coverage Wikipedia actually has for "important" chemicals. Here, I define importance as "number of hits in PubMed", since that is a thing that I can easily measure (and, in fact, already determined as part of working on &lt;a href="http://stitch.embl.de/"&gt;STITCH&lt;/a&gt; and &lt;a href="http://reflect.ws/"&gt;Reflect&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Missing chemicals&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/missing_chemicals-765189.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 313px;" src="http://blog.mckuhn.de/uploaded_images/missing_chemicals-765186.png" alt="" border="0" /&gt;&lt;/a&gt;For each bin of 100 chemicals, the number of PubMed hits for all synonyms of this chemical is plotted against the fraction of the chemicals that have a Wikipedia article for any of the synonyms. (I exclude three-letter names as they are often ambiguous.) So, for compounds that occur more than 1000 times in PubMed, Wikipedia's coverage is above 80%. Here is &lt;a href="http://en.wikipedia.org/wiki/User:MichaK/Missing_chemicals"&gt;the list of articles that should be added&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So, if you know something about one of the missing compounds, go right ahead and create an article! :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Missing synonyms&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/missing_synonyms-718928.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 313px;" src="http://blog.mckuhn.de/uploaded_images/missing_synonyms-718925.png" alt="" border="0" /&gt;&lt;/a&gt;The second question is if Wikipedia is missing important redirects, i.e. if there are widely-used names for chemicals that don't occur in Wikipedia even though an article exists for the chemical itself (just under another name). For very common names, the coverage is slightly lower, however, the abstracts in PubMed often contain chemical notation that people probably won't use when searching Wikipedia, e.g. "Ca(2+)" is the top hit on the &lt;a href="http://en.wikipedia.org/wiki/User:MichaK/Missing_synonyms"&gt;list of redirects that could be added&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-8642460219953630335?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/05/how-good-is-wikipedias-coverage-of.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-4154259206569261033</guid><pubDate>Wed, 22 Apr 2009 12:25:00 +0000</pubDate><atom:updated>2009-04-22T14:43:07.014+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>news</category><category domain='http://www.blogger.com/atom/ns#'>science</category><title>Announcing SIDER: a database of side effects</title><description>After &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/18621671"&gt;using side effects to predict drug targets&lt;/a&gt;, we now created a &lt;a href="http://sideeffects.embl.de/"&gt;public database of side effects&lt;/a&gt; with a total of 62269 side effects for 888 drugs. The database was created by doing text-mining on labels from various different public sources like the FDA. Furthermore, I developed rules to extract frequency information from the labels, this worked for about one third of the drug–side effect pairs.&lt;br /&gt;&lt;br /&gt;We think that this database will make quite a bit of interesting research possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-4154259206569261033?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/04/announcing-sider-database-of-side.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7361352790495018814</guid><pubDate>Wed, 25 Mar 2009 16:42:00 +0000</pubDate><atom:updated>2009-03-25T17:55:10.658+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>news</category><title>Negative controls and the police</title><description>Oh wow. In the last few years, the German police hunted a woman they only know from her DNA, which had been found at over 40 crime locations all over Germany and Austria (including the murder of a police officer in Heilbronn). Now, they slowly come to the conclusion that a charge of DNA collecting equipment got contaminated by a female employee... Running negative controls would have been really useful, no? (German source: &lt;a href="http://www.stern.de/panorama/:Polizistenmord-Heilbronn-R%E4tsel-Phantom/659006.html"&gt;stern.de&lt;/a&gt;, via: &lt;a href="http://www.lawblog.de/index.php/archives/2009/03/25/das-phantom-ein-phantom/"&gt;lawblog.de&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7361352790495018814?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/03/negative-controls-and-police.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-1447393357440743853</guid><pubDate>Mon, 16 Mar 2009 14:36:00 +0000</pubDate><atom:updated>2009-03-17T15:48:04.444+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>hacks</category><title>A little hack: "mark as read" for FriendFeed</title><description>&lt;a href="http://friendfeed.com/"&gt;FriendFeed&lt;/a&gt; is missing one important thing: the ability mark posts that didn't change since you last saw them as "read." Ideally, new posts or posts with new comments should be visually different from those that are unchanged.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/ffread-722738.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 259px;" src="http://blog.mckuhn.de/uploaded_images/ffread-722731.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I created a bookmarklet that lets you put a visual indicator of  your last visit to FriendFeed into the stream of posts. (You should click the bookmarklet when you &lt;span style="font-style: italic;"&gt;begin reading&lt;/span&gt;, because during reading you won't see posts that are posted while you read. New and updated posts will percolate to the top, and appear on top of the marker.) It works by using the FriendFeed API to create a post to a special room. As this is a hack, you'll have to adapt the bookmarklet.&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;create a (private) room, e.g. USER-read&lt;/li&gt;&lt;li&gt;drag this link to your button bar: &lt;a href="javascript:(function(){location_href=location.href;uri='http://USER:KEY@friendfeed.com/api/share';f=document.createElement('form');f.method='post';f.action=uri;i0=document.createElement('input');i0.type='hidden';i0.name='title';i0.value='------------------------------------------------';i1=document.createElement('input');i1.type='hidden';i1.name='room';i1.value='USER-read';f.appendChild(i0);f.appendChild(i1);b=document.createElement('body');b.appendChild(f);h=document.getElementsByTagName('html')[0];h.appendChild(b);f.submit();location.href=location_href;})()"&gt;FFread&lt;/a&gt; (RSS readers might mangle this)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;adapt the bookmarklet, substituting USER for your username (2x) and KEY for your &lt;a href="https://friendfeed.com/account/api"&gt;remote key&lt;/a&gt; (1x)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;go to FriendFeed and test it&lt;/li&gt;&lt;li&gt;optional: see how often you are visiting FriendFeed and calculate how much time you wasted :-)&lt;/li&gt;&lt;/ol&gt;Update: This worked in Firefox 3.0. I updated to the Firefox 3.1 / 3.5 beta, and it doesn't work anymore. :-/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-1447393357440743853?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/03/little-hack-mark-as-read-for-friendfeed.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7376796122607247807</guid><pubDate>Sun, 15 Mar 2009 22:17:00 +0000</pubDate><atom:updated>2009-03-15T23:46:15.756+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>german</category><title>Keine Experimente!</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/keineexp-749385.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 282px; height: 400px;" src="http://blog.mckuhn.de/uploaded_images/keineexp-749371.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Lange habe ich diese Idee mit mir herumgetragen, jetzt habe ich sie dank &lt;a href="http://www.dhm.de/"&gt;Deutschem Historischen Museum&lt;/a&gt; und &lt;a href="http://vectormagic.com/"&gt;Vector Magic&lt;/a&gt; in die Tat umgesetzt. Den Vektorisierungs-Look finde ich sogar ziemlich passend.&lt;br /&gt;&lt;br /&gt;Sollte der Witz unverstanden bleiben, &lt;a href="http://www.dhm.de/lemo/objekte/pict/DieZuspitzungDesKaltenKrieges_plakatAdenauer1957/index.html"&gt;hier die Auflösung&lt;/a&gt;. Andernfalls das ganze als &lt;a href="http://www.mckuhn.de/dl/keineexperimente.pdf"&gt;PDF&lt;/a&gt;, zum Ausdrucken oder Editierien (statt Bioinformatik kann man ja auch Theoretische Physik favorisieren).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7376796122607247807?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/03/keine-experimente.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-6983753000632164429</guid><pubDate>Fri, 06 Mar 2009 19:42:00 +0000</pubDate><atom:updated>2009-03-06T20:47:34.379+01:00</atom:updated><title>A seminar on Makefiles!</title><description>This &lt;a href="http://blog.mckuhn.de/2008/03/using-makefiles-for-jobs-that-run-on.html"&gt;blog&lt;/a&gt;, my &lt;a href="http://biocs.tumblr.com/post/73218420/test-if-file-exists-and-is-not-empty-for-makefile"&gt;tumblelog&lt;/a&gt;, and my &lt;a href="http://twitter.com/biocs/status/1022723081"&gt;Twitter&lt;/a&gt; &lt;a href="http://twitter.com/biocs/statuses/1115288809"&gt;stream&lt;/a&gt; are littered with examples of my use of Makefiles.  So I was very happy to find &lt;a href="http://bioinfoblog.it/2009/03/seminar-on-makefiles-in-bioinformatics/"&gt;this blog post about a whole seminar on Makefiles&lt;/a&gt; on &lt;a href="http://friendfeed.com/e/6d63ed91-56ce-a806-1d41-77137d3e504b/seminar-on-Makefiles-in-bioinformatics/"&gt;FriendFeed&lt;/a&gt;. Go and check it out, I learned something new!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-6983753000632164429?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2009/03/seminar-on-makefiles.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-4946545424043675705</guid><pubDate>Sat, 06 Dec 2008 09:43:00 +0000</pubDate><atom:updated>2008-12-06T10:46:34.729+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>rambling</category><category domain='http://www.blogger.com/atom/ns#'>mac</category><title>Want: Auto-adjust laptop fan speed with motion sensor</title><description>Someone should really integrate &lt;a href="http://www.lobotomo.com/products/FanControl/"&gt;Fan Control&lt;/a&gt; with the MacBook's motion sensor. If the computer didn't move for a long time: It's sitting on a desk, so it can run hotter, but be silent. If the computer is being moved around: I have it on my lap, so turn the fan up and keep the case cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-4946545424043675705?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/12/want-auto-adjust-laptop-fan-speed-with.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-4468214666908720733</guid><pubDate>Mon, 17 Nov 2008 21:56:00 +0000</pubDate><atom:updated>2008-11-17T23:18:53.934+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>meta</category><title>Meta-blogging to commemorate the creation of a tumblelog</title><description>I am posting a meta-blog entry because I just created a mini-blog at Tumblr to supplement my micro-blog at Twitter which in turn was meant to supplement this (hypo?)blog. So, now my online blogging presence fragments into:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;this &lt;a href="http://blog.mckuhn.de/"&gt;blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://delicious.com/micha2305/"&gt;delicious bookmarks&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/biocs"&gt;Twitter&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://biocs.tumblr.com/"&gt;tumblelog&lt;/a&gt; for things too long to tweet&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.com/reader/shared/04654459707097649548"&gt;shared items&lt;/a&gt; from Google reader&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;...only to be pulled back together at &lt;a href="http://friendfeed.com/biocs"&gt;FriendFeed&lt;/a&gt;, which is actually where the discussion happens. Interesting. (Oh, and &lt;a href="http://explore.twitter.com/stevenf/status/966465975"&gt;this&lt;/a&gt; is so true. Now, do I re-tweet it or post the quote on Tumblr?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-4468214666908720733?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/11/meta-blogging-to-commemorate-creation.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-8290035023412161194</guid><pubDate>Mon, 10 Nov 2008 15:35:00 +0000</pubDate><atom:updated>2008-11-25T21:19:21.444+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>conference</category><category domain='http://www.blogger.com/atom/ns#'>cheminformatics</category><category domain='http://www.blogger.com/atom/ns#'>science</category><title>4th German Conference on Chemoinformatics: ChEMBL</title><description>The talks of the first full day of the 4th German Conference on Chemoinformatics are over. Most interesting for me was &lt;a href="http://www.ebi.ac.uk/steinbeck/"&gt;Christoph Steinbeck&lt;/a&gt;'s talk about the recently announced data acquired by the EBI. The database will be called "ChEMBL". There will be a monthly update cycle, so the acquisition does not only capture the current state, but the database is going to be extended. There are three parts (although they'll be combined eventually):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;"DrugStore": interactions for 1500 drugs. Christoph says that he doesn't expect this to go much beyond what's already publicly available in DrugBank et al. today.&lt;/li&gt;&lt;li&gt;"CandiStore": 15,000 clinical leads&lt;/li&gt;&lt;li&gt;"StARLite": 500,000 medical chemistry leads. This is where most of the novelty (in terms of public data) lies. For this part, there are &gt;5500 annotated targets, &gt;3500 of which are proteins (the rest is e.g. tissues), and 2 million experimental bioactivities. The database contains bidirectional links to the literature on synthetic routes and assays for the ligands and descriptions of the targets.&lt;/li&gt;&lt;/ul&gt;The data will be first made available as database dumps, more user-friendly interfaces will be added later.&lt;br /&gt;&lt;br /&gt;Two URLs of interest that I didn't know before: The &lt;a href="http://chembl.blogspot.com/"&gt;ChEMBL blog&lt;/a&gt; and &lt;a href="http://www.ebi.ac.uk/chembl/"&gt;John Overington's lab homepage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strike&gt;Other remarks about today will follow when I have a real internet connection (not just 6 kB/s via Bluetooth/GPRS for 9 ct/min) to do some more background research.&lt;/strike&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-8290035023412161194?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/11/4th-german-conference-on.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-2286039493104613376</guid><pubDate>Thu, 25 Sep 2008 12:07:00 +0000</pubDate><atom:updated>2008-09-25T14:26:42.355+02:00</atom:updated><title>Three presentations down, one to go</title><description>I just passed my third annual review, which means that thanks to doing my PhD in Europe I should be done soon (&lt;a href="http://www.phdcomics.com/comics/archive.php?comicid=1071"&gt;caveat&lt;/a&gt;). Everything went fine, now I'll still wait for some results to come back from the lab and then I'll write my thesis—but luckily as cumulative thesis.&lt;br /&gt;&lt;br /&gt;Lastly, here's the &lt;a href="http://wordle.net/"&gt;Wordle&lt;/a&gt; digest of my report. I guess the main topic of my research clearly shines through.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/3rd-year-wordle-708012.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://blog.mckuhn.de/uploaded_images/3rd-year-wordle-707999.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-2286039493104613376?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/09/three-presentations-down-one-to-go.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-1296774000729295596</guid><pubDate>Wed, 20 Aug 2008 07:07:00 +0000</pubDate><atom:updated>2008-08-20T10:49:46.864+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><title>Web 2.0 killer app: FriendFeed for scientic papers</title><description>This post is inspired by &lt;a href="http://network.nature.com/blogs/user/U27CE62BB/2008/08/19/how-to-get-scientists-to-adopt-web-2-0-technologies"&gt;Eva's thoughts&lt;/a&gt; on getting scientists to adopt Web 2.0 and &lt;a href="http://blog.openwetware.org/scienceintheopen/2008/08/19/how-to-make-connotea-a-killer-app-for-scientists/"&gt;Cameron's post&lt;/a&gt; on making Connotea a killer app for scientists.&lt;br /&gt;&lt;br /&gt;Many people have added their CiteULike or Connotea libraries to FriendFeed, so during the day you can see various new papers &lt;a href="http://www.reallysimplesyndication.com/riverOfNews"&gt;flow by&lt;/a&gt;. Similarly, journal's TOC updates and saved searches on PubMed create a regular stream of possibly interesting papers. Lastly, after a few weeks or months, papers are processed by ISI Web of Science and can be &lt;a href="http://blog.mckuhn.de/2008/08/citeweb-following-citations-made-easy.html"&gt;tracked by citation alerts&lt;/a&gt;. In the end, you might see the same paper flow by a couple times.&lt;br /&gt;&lt;br /&gt;This situation is far from ideal. You see echos of the same paper and papers arrive via multiple channels: RSS, email, web sites. There are far too many potentially interesting papers, so you have to focus your various alerts in order not to be overwhelmed.&lt;br /&gt;&lt;br /&gt;My proposal for the killer app is a central place which tracks all of the above items (i.e., friend's libraries, PubMed searches, journal TOC and citation alerts) and integrates with your personal library. Just like in FriendFeed, there should be a way to rate/like a paper ("Faculty of 1,000,000"?), to prioritize the new papers, and to save papers to your library. The most important and difficult feature would be to merge equivalent entries, i.e. a Connotea link to PubMed needs to be merged with the journal TOC alert etc. So when you already identified something as interesting and filed it, you won't be alerted again if it comes in via another channel.&lt;br /&gt;&lt;br /&gt;Of course, there should be a non-mandatory way to tag papers, to have groups, and to recommend papers to specific users (like the "for:" tag in delicious.com).&lt;br /&gt;&lt;br /&gt;Bonus points: keep track of comments and blog posts of the paper, plus all the extended literature analysis that &lt;a href="http://blog.openwetware.org/scienceintheopen/2008/08/19/how-to-make-connotea-a-killer-app-for-scientists/"&gt;Cameron proposed&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-1296774000729295596?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/08/web-20-killer-app-friendfeed-for.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7525398360383160547</guid><pubDate>Fri, 15 Aug 2008 16:44:00 +0000</pubDate><atom:updated>2008-08-15T21:19:47.170+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><category domain='http://www.blogger.com/atom/ns#'>publishing</category><title>Mendeley = Mekentosj Papers + Web 2.0 ?</title><description>Via &lt;a href="http://my.biotechlife.net/2008/08/13/mendeley-goes-public-and-gets-some-love-from-ex-skype-and-lastfm/"&gt;Ricardo Vidal&lt;/a&gt;: &lt;a href="http://www.mendeley.com/"&gt;Mendeley&lt;/a&gt; seems to be a Windows (plus Mac/Linux) equivalent of&lt;a href="http://mekentosj.com/papers/"&gt; Mekentosj Papers&lt;/a&gt; (which is Mac OS X only, and has been described as "iTunes for your papers"). In addition to handling your PDFs, it has an online component that allows sharing your papers and other Web 2.0 features (billing itself as "Last.fm for papers").&lt;br /&gt;&lt;br /&gt;Here, I'm reviewing the Mac beta version (0.5.6). I am focusing most on the desktop side and compare it to Papers, because I have a working solution in place and I would only switch to Mendeley if the experience is as good as with Papers. (I.e., my main problem is off-line papers management, Web 2.0 features are icing on the cake.)&lt;br /&gt;&lt;br /&gt;By Mac standards, the app is quite ugly. Both Mendeley and Papers allow full-text PDF searches, which is important if you want to avoid tagging/categorizing all your papers. Papers can show PDFs in the main window, copy the reference of the paper and email papers. Mendeley in principle can also copy the reference, but special characters are transformed to gibberish in this beta version. Papers allows you to match papers against PubMed, Web of Science etc., while Mendeley only offers to auto-extract often incomplete meta-data. This matching feature is extremely useful as you get all the authorative data from the source, and most often Papers can use the DOI in the PDF to immeadiately give you the correct reference. &lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Mendeley also uses DOIs to retrieve the correct metadata, if available. (Thanks, &lt;a href="http://www.voyant.de/"&gt;Victor&lt;/a&gt; for &lt;a href="http://blog.mckuhn.de/2008/08/mendeley-mekentosj-papers-web-20.html#4507251941750596967"&gt;your comment&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;The beta version is quite rough, I just had to kill it because I found no way to close the "about" window. Extraction of meta-data and references doesn't always work, but this might be more of a problem of the information that's stored in the PDFs.&lt;br /&gt;&lt;br /&gt;Of course, once there's a critical mass of people using Mendeley, there'll be all the Web 2.0 features that Papers doesn't have. Judging from the &lt;a href="http://www.youtube.com/watch?v=UzJbrA9EY7A"&gt;talk&lt;/a&gt; I think they might be trying to do too much: Connotea/CiteULike plus Dopplr plus LinkedIn. For me, a simple way to export new references from Papers to Connotea/CiteULike would be enough.  More modularity is better, because it allows you to choose the best tool in each layer.&lt;br /&gt;&lt;br /&gt;More info by the Mendely folks: &lt;a href="http://www.youtube.com/watch?v=1Ct4O0Ect18"&gt;Short demo&lt;/a&gt;, a &lt;a href="http://www.youtube.com/watch?v=UzJbrA9EY7A"&gt;little longer talk&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7525398360383160547?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/08/mendeley-mekentosj-papers-web-20.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-1392476391673058944</guid><pubDate>Fri, 15 Aug 2008 11:00:00 +0000</pubDate><atom:updated>2008-08-15T13:10:17.084+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><category domain='http://www.blogger.com/atom/ns#'>publishing</category><title>CiteWeb: Following citations made easy</title><description>One good way to keep up with the literature in a field is to track which new papers are citing seminal papers of the field. Each Friday, I get lots of citation alerts from &lt;a href="http://isiknowledge.com/"&gt;ISI Web of Science&lt;/a&gt;, but often enough I see the same paper again and again (citing different papers that are on my watch list). So I set out to write an &lt;a href="http://citeweb.embl.de/"&gt;app&lt;/a&gt; that would take ISI's RSS feeds, coalesce them, and give them back to you. For example, in the screenshot one review paper is citing five of my tracked papers:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/citeweb-769321.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://blog.mckuhn.de/uploaded_images/citeweb-769314.png" alt="" border="0" /&gt;&lt;/a&gt;If you're using citation alerts from Web of Science, then give CiteWeb a try at &lt;a href="http://citeweb.embl.de/"&gt;citeweb.embl.de&lt;/a&gt;. If you find a bug, you can either comment here, or &lt;a href="http://github.com/mkuhn/cite-web/tree/master"&gt;grab the source code&lt;/a&gt; and fix it. :-)&lt;br /&gt;&lt;br /&gt;I started working on this to try out if &lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; was useful. It turned out that downloading many items from a remote host leads to time-outs from App Engine, so I ported the app to &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt;. The source code is released under the &lt;a href="http://www.opensource.org/licenses/mit-license.html"&gt;MIT License&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-1392476391673058944?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/08/citeweb-following-citations-made-easy.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-1749767099237630667</guid><pubDate>Tue, 12 Aug 2008 16:43:00 +0000</pubDate><atom:updated>2008-08-12T18:50:53.308+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><category domain='http://www.blogger.com/atom/ns#'>publishing</category><title>Google integrates Scholar into main page</title><description>I don't know if it's just me (sitting inside a research institution), but when I search for &lt;a href="http://www.google.com/search?q=string+mering"&gt;something that returns a paper&lt;/a&gt;, I get info from &lt;a href="http://scholar.google.com/scholar?q=string%20mering"&gt;Google Scholar&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.mckuhn.de/uploaded_images/Picture-2-748135.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://blog.mckuhn.de/uploaded_images/Picture-2-748129.png" alt="" border="0" /&gt;&lt;/a&gt;(See also &lt;a href="http://www.flickr.com/photos/micha2305/2756574941/"&gt;the complete screenshot with notes on Flickr&lt;/a&gt;.) However, the order of the results is different: Google Scholar seems to weight by citations, Google by page rank.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-1749767099237630667?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/08/google-integrates-scholar-into-main.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-358893808609043650</guid><pubDate>Sat, 19 Jul 2008 12:53:00 +0000</pubDate><atom:updated>2008-07-20T20:06:27.672+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>conference</category><category domain='http://www.blogger.com/atom/ns#'>science</category><title>ISMB 2008: "Career Paths in Bioinformatics and Computational Biology"</title><description>A panel discussion about "Career Paths in Bioinformatics and Computational Biology" was part of Friday's Student Council Symposium during ISMB. The four panelists were from academia:&lt;a href="http://www.sdsc.edu/pb/"&gt; Philip E. Bourne&lt;/a&gt; (group leader at University of California San Diego), &lt;a href="http://www.cnio.es/ing/grupos/plantillas/presentacion.asp?grupo=50004294"&gt;Alfonso Valencia&lt;/a&gt; (group leader at the Spanish National Research Council), &lt;a href="http://jongbhak.com/"&gt;Jong Bhak&lt;/a&gt; (director of the Korean BioInformation Center) and &lt;a href="http://www.tcag.ca/staffWintle.html"&gt;Richard Wintle&lt;/a&gt; (Assistant Director at The Centre for Applied Genomics). (Only RW had spent a longer time [6 years] in the industry at start-up companies.)&lt;br /&gt;&lt;br /&gt;[All quotes are paraphrases based on the notes I took.]&lt;br /&gt;&lt;br /&gt;Perhaps unsurprisingly, they couldn't offer real comforting answers to the questions of young researchers: "Isn't there a high chance that at the age of 40 you'll be highly trained and specialized, but without a job?" – "There's no job security in academia anyway; I'm not sure if academia is more competitive than industry" (AV). "After the initial boom in bioinformatics positions, will the fraction of grad students who become PIs approach biology with 5 to 10%?" – "Biology will morph into bioinformatics, so there will be more jobs." (JB)&lt;br /&gt;&lt;br /&gt;However, I could take away some positive advice. In short: follow your heart, be passionate about something, don't do what everybody else is doing, start you own sub-field if you have to. From my perspective, this is both reasonable and encouraging. As I enter the last phase of being a PhD student, I begin to wonder how I can combine working in science and caring for my family. I guess I hope by staying motivated and by being effective in what I do I can have a chance to grow in my career and by there for my family. (I think this is a great advantage of computational biology: You can't make gels run faster, so to say, but you can be effective in programming and analyzing data.)&lt;br /&gt;&lt;br /&gt;Another good insight was that a lot of basic, technological advances will come from industry in the future. Dr. Bhak cited the example of CPU development: The huge increases in processing power we see today is being implemented at Intel and AMD (although I cannot judge how much they rely on basic research by academia). My addition to this might be that part of bio&lt;span style="font-style: italic;"&gt;informatics&lt;/span&gt; will become more of an engineering discipline. So, for people interested in this, there will be a big job market in the future.&lt;br /&gt;&lt;br /&gt;Similarly, the panelists expected that every biology lab will have embedded computational biologists in the future. I agree, but I think these will be mostly post-doc (i.e. non-permanent) positions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Some of the questions and answers in more detail:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What will be the big opportunities in the next five years?&lt;/span&gt; The current generation of students will lead the bioinformatics industry, like the previous generation is currently leading in academia (JB). There will be many more embedded bioinformaticians (see above, AV). Hybrid skills (wet-lab and computational biology) will become more important (RW). The greatest opportunities are cross-disciplinary approaches that tackle as much complexity as possible (PB).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To stay motivated, and find out what you want to do:&lt;/span&gt; Always follow your heart in career decisions; create your own sub-division if you have to (PB). Don't do something just because it's trendy; what you like to do might change over time (at one point, industry might be appealing, later academia) (RW).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To find your spot in academia:&lt;/span&gt; Find influential people (RW). Diversify: try to do something that not everyone else is doing (AV).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-358893808609043650?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/07/ismb-2008-career-paths-in.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-7373170905278843029</guid><pubDate>Fri, 18 Jul 2008 15:16:00 +0000</pubDate><atom:updated>2008-07-18T17:22:32.078+02:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>science</category><title>Micro-blogging ISMB</title><description>&lt;a href="http://pbeltrao.blogspot.com/2008/07/ismb-2008.html"&gt;As Pablo announced&lt;/a&gt;, several people including me are micro-blogging about &lt;a href="http://friendfeed.com/rooms/ismb-2008"&gt;ISMB on FriendFeed&lt;/a&gt; and to a lesser extent on &lt;a href="http://twitter.com/biocs"&gt;Twitter&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-7373170905278843029?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/07/micro-blogging-ismb.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4149294779334281951.post-1632526468435730406</guid><pubDate>Wed, 21 May 2008 09:56:00 +0000</pubDate><atom:updated>2009-10-26T14:30:20.431+01:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>mac</category><title>Invoking TextMate from a remote machine</title><description>I edit all my script files via TextMate, but they live on remote drives (mounted via sshfs). I'm always logged in to the remote machines to run scripts etc. Usually I'll open remote files via Quicksilver, but when I create a new file this isn't an option yet and so it's tedious. Anyway, I've cooked up a quick script (with &lt;a href="http://lists.macromates.com/pipermail/textmate/2006-February/008384.html"&gt;some help&lt;/a&gt;) to open TextMate from a remote machine.&lt;br /&gt;&lt;br /&gt;Try it, YMMV:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;cd $(dirname $1)&lt;br /&gt;&lt;br /&gt;PWD=`/bin/pwd`&lt;br /&gt;&lt;br /&gt;BASENAME=$(basename $1)&lt;br /&gt;&lt;br /&gt;ssh pasadena "osascript -e \&lt;br /&gt;'tell app \"Terminal\" to do \&lt;br /&gt;shell script \"/usr/local/bin/mate /Volumes/emil$PWD/$BASENAME\"'" &gt;&amp;amp; /dev/null &amp;amp;&lt;br /&gt;&lt;/pre&gt;pasadena = name of my Mac OS X machine&lt;br /&gt;/Volumes/emil = sshfs mount point&lt;br /&gt;&lt;br /&gt;Update: I removed the "-w" option (I didn't want TextMate to wait for the file to be closed) and redirected all the garbage to /dev/null.&lt;br /&gt;&lt;br /&gt;Update 2: Support arbitrary (i.e. also absolute) paths.&lt;br /&gt;&lt;br /&gt;Update 3: this is &lt;a href="http://ticket.macromates.com/show?ticket_id=0BB87402"&gt;broken on Snow Leopard&lt;/a&gt; :(&lt;br /&gt;&lt;br /&gt;Update 4: &lt;a href="http://permalink.gmane.org/gmane.editors.textmate.general/29781"&gt;Here's a workaround&lt;/a&gt;, although it's a bit ugly as you need to invoke sudo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4149294779334281951-1632526468435730406?l=blog.mckuhn.de' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.mckuhn.de/2008/05/invoking-textmate-from-remote-machine.html</link><author>noreply@blogger.com (Michael Kuhn)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>