Cells compute - Let’s program them.

Publishing

OpenWetWare and Supplementary Material

There has been a lot of discussion about how OpenWetWare can best get involved with scientific publishing. One of the ideas that has been tossed around is to develop OWW as a place to publish supplementary material. In the spirit of my ongoing experiment with OWW as a publication platform (see other posts one, two, three,four, five), I’ve played around with using OWW as a repository of supplemental material.

The idea is simple - there is a lot of extra information gleaned in the course of an investigation that just doesn’t make it into the final paper. We all know of it under the blanket term ‘Supplementary Material’, but what it consists of can vary quite a bit from paper to paper. Most of the time it contains tables and figures that describe some technicalities that don’t fit in with the story line of the article, but are required if anyone wanted to reproduce the results of the investigation. There is no reason it couldn’t be more, which is where OWW could step in to revolutionize the supplementary material business.

Being wiki based, OWW has a unique opportunity to offer the most up-to-date version of supplementary material possible. Even though articles and papers are fixed time snapshots of a work, research has a life of its own and is often on-going. What’s to say that a regularly updated supplemental material section of an article wouldn’t be useful? Furthermore, since wikis support almost any kind of content imaginable, why not explore alternative supplementary materials such as videos that don’t fit in with the current pdf-based supplementary material model?

The problem is that we haven’t figured out how best to get OWW plugged into the mainstream publishing venues. Luckily some journals - namely the Public Library of Science (PLoS) journals - have created a way we can play around with some of these ideas.

Here’s the setup: I recently published a comparative genomics study in PLoS Computational Biology (link (trackback)). During this study, I used python to do ALL of the computations in the work. I thought it would be a good idea to write a small companion paper on how I did this so that other scientists could learn how great python is as a complete scientific programming environment. You can see this article through OWW here. This little companion article can easily be viewed as supplementary material to my original article. I contacted the PLoS people and asked them if I could add a link to this OWW article from the original article and they said ‘Sure, you can even do it yourself!’ You see, PLoS has a commenting system, much like the one on this blog - all I had to do is to create a comment linking to my OWW article (see image below) and voila, we have the first OWW supplementary material! What is even more interesting is that the supplementary article was written AFTER the original article was published - a great example of how OWW facilitates the evolution of supplementary materials over time.

PLoS Comment Supplementary Material

The conclusion is that we actually don’t have to do much at all to start using OWW as a supplementary material repository - just start using it, and figure out a way to link your OWW pages to your official journal article. If you have published in a PLoS journal, then do the above. I encourage you to write other journals and request that they manually place a link to your content if they don’t offer a commenting system.

Please, let me know what you think and share your experiences in using OWW for developing supplementary materials by leaving a comment below.

Publishing On OpenWetWare - Lessons Learned 4 - Presenting

This is the fifth report of the ‘Publishing on OpenWetWare’ series. In brief, I am writing an article on OWW from start to finish: initial writing -> collecting comments -> publishing on arXiv.org -> presenting at a conference. For other articles, see one, two, three,four. In this report, I’ll share my experiences in presenting the work at Pycon 2008.

Creating the Presentation

Creating the presentation was not too difficult, especially since I used the general outline for the article as the outline of the talk. I could also use the same code snippets in the talk, with some minor modifications. You can see the talk slides here.

The Presentation

The talk was well attended (about 200 people), and there were questions about other tools that one could also use in python for science. It looks like there is a small community of scientists using python that come to Pycon regularly.

There is also a group of people interested in bringing some of the good coding practices offered by python to more scientists. There are also a lot of general software development tools such as unit testing and source code management that not only make the scientific programming task easier, but also promote good scientific practice. I am hoping that Python - All A Scientist Needs will be the first of a series of articles on good programming practices for scientists. I’m also hoping that we can write these articles with the same process (OWW -> arXiv), and make OWW into a respected publishing platform.

Please leave a comment!

Publishing On OpenWetWare - Lessons Learned 3 - WikiToLatex and Publishing on the arXiv

This is the fourth report of the ‘Publishing on OpenWetWare’ series. In brief, I am writing an article on OWW from start to finish: initial writing -> collecting comments -> publishing on arXiv.org -> presenting at a conference. For other articles, see one, two, and three. In this report, I’ll share my experiences in how easy it was to convert the wiki text into latex and publish the paper on the arXiv.

The Setup

The article, ‘Python - All A Scientist Needs’ can be seen here. Once the article was in its final form, I wanted to formalize its publication by submitting a copy of it to the arXiv. The arXiv takes PDF submissions, so all I really had to do was to print the OWW page to PDF and submit that. However, I wanted things to look a bit nicer so I chose to convert the wiki text into latex, and submit a pdf generated by latex. This way I could also use the latex hyperref package to put clickable links within the PDF.

Wiki -> Latex

The final latex source of the article can be found here. To convert the wiki text into latex, I had to perform the following steps:

  1. Create the base latex file.
  2. Input the wiki text: To do this, I juts selected edit on the wiki page and copied and pasted the whole article into the latex document. Initially, I commented out the code examples and figures to deal with them later.
  3. Replace the wiki markup with latex markup:
    • Make single quotes into latex quotes (” -> `’)
    • Make italic quotes into emph (”” -> \emph{})
    • Make bold quotes into \bf (””” -> {\bf})
    • Replace tags with \cite (regexp (.*?) -> \cite{$1})
    • Replace tags with $ (regexp (.*?) -> \$$1\$)
    • Replace # lists with enumerate environments
    • Replace * lists with itemize environments
  4. Added references: Here I had to manually convert the biblio package references into \bibitem’s in the latex source. I used the hyperref package and the \href command to link to resources on the web.
  5. Added the code examples: I chose the listings package, although it was a bit confusing to customize. In fact, the inadequacy of the package necessitated a code restructuring.
  6. Added the figure.

Overall, this was a pretty painful process, even for someone with a lot of experience with wikis and latex. It was hard to keep the wiki version and the latex version’s synced together as well. Overall the final PDF does not look as good as the wiki page. In total, the latexing took about 6 hours of work.

Publishing on the arXiv

Publishing the paper on the arXiv was very straight-forward. I simply filled out a form with the article metadata (title, abstract, etc.), uploaded my latex and figure files, and it was posted on the arXiv within a couple of days. You can see the article here.

There was a minor issue with copyright licensing that should be mentioned. OWW uses a Creative Commons Attribution-ShareAlike license. The arXiv offers a couple of license choices (CC-Attribution and CC-NonCommercial-Attribution-ShareAlike), but neither of them matched OWW’s license exactly. In the end I chose CC-Attribution, because I did not want to have the NonCommercial issue. We should probably sort this matter out if we want to create a lot of arXiv papers from OWW.

Conclusions

In the end, the process was worth it because there is now a referenceable copy of the article on the arXiv. (Referenceable in the sense that journals will accept a reference to an arXiv paper.) It took a little while to convert the wiki text into latex, but a lot of that can be facilitated by an automatic conversion tool.

Please let me know what you think by leaving a comment on this post!

Publishing On OpenWetWare - Lessons Learned 2

This is the third report of the ‘Publishing on OpenWetWare’ series. In brief, I am writing an article on OWW from start to finish: initial writing -> collecting comments -> publishing on arXiv.org -> presenting at a conference. For other articles, see one, and two. In this report, I’ll share my experiences in gathering comments from the community.

The Setup

The first draft of ‘Python - All A Scientist Needs’ can be seen here. After finishing the draft, I posted a link at the top of the page asking anyone who wanted to comment to leave a comment on the talk page. I also sent emails to 6 friends, giving them a link to the OWW page, and asking them to either email me comments, or to type them directly in the wiki page. In addition, the second report in this series (two) invited anyone who wanted to comment on the paper to leave a comment on the wiki, or a comment on the blog post.

All the comments received can be seen on the talk page.

Results

I received a total of 2 comments and criticisms, and 2 notes of encouragement. Neither set of the criticisms were that critical, and every note I received was very positive. All of these responses were from the email solicitations. The breakdown of the method of delivery is as follows:

  • 3 comments by email. (One of these was typed in manually into the talk page by myself.)
  • 1 comment from the wiki talk page. (In this case I actually forced my friend to get an OWW account to do this.)
  • 0 comments from the blog post (about the article itself).

This is all despite the 4,163 times (as of this writing) that the article has been viewed.

Conclusions

Something is wrong with the way OWW is thinking about users contributing to the wiki. This experiment seems to demonstrate that users are hesitant to edit pages - even talk pages - even when they are explicitly asked to. Over 4,000 page hits is an awful lot for at least some of those to not leave comments.

I’m not sure why this is the case, but I would sure like to find out. If anyone has any ideas, please don’t hesitate to leave a comment on this blog post, or the talk page for the article.

On the other hand, this 4,000 number could reflect a lot of non-OWW users accessing the page. (Googling ‘Python Scientist’ gives the page as the 8th result as of this writing.) I have no way of knowing how many of those people might have wanted to leave a comment, but couldn’t because they are not OWW users. (To avoid spam, I only put a link to emailing me through OWW, not explicitly through my email address. However, there are links to the blog posts which allow public comments, but those are presumably found only by the most diligent readers.)

The main reason why OWW does not allow anonymous comments is that science is not anonymous, and OWW in the end is a resource for professional-quality scientific material. OWW might consider opening up to blog-like comments however, where authors of the page can accept or reject anonymous comments as they appear. It might allow for a lot more community participation, and it would be nice for the authors to know how people viewed their material.

If you have any thoughts/questions/opinions, once again, please don’t hesitate to leave a comment on this blog post, or the talk page for the article.

Publishing On OpenWetWare - Lessons Learned 1

Previously I wrote about my plan to try out OWW as an authoring platform. I have now completed the first phase of this little experiment, and I thought I would share my experiences.

The first draft of ‘Python - All A Scientist Needs’ can be seen here. I wrote the article completely on OWW, but developed and tested the code examples on my laptop, since OWW doesn’t provide a way to test and run code. The wiki worked out pretty great until the document got too long to manage easily. Below are the pros and cons of my experience.

Wiki As An Authoring Tool: Pros

  • I really enjoyed having a copy of the document that I could work on from anywhere (my laptop at home, computer on the bench in the lab).
  • The formatting looks nice, especially the code example highlighting.
  • The biblio plugin makes citations very easy to work with (with some manual typing).
  • The versioning through the article history made it very easy to see past versions.
  • Having the wiki host the source code zip file is a great way to share supplementary data.

Wiki As An Authoring Tool: Cons

  • The article got a little unwieldy to deal with when it got to its full length. When adding citations, I needed to edit the whole document to be able to see where the citation goes as well as plug it into the References section.
  • The wiki auto-time-out could be very frustrating causing me to lose changes if I didn’t save often enough. (You can see where I got a little annoyed if you look at the history comments.)
  • I had to use a web browser to do my edits, instead of a client-side text editor, which is my method of choice.

It’s now time for phase 2 - collecting comments. I have sent out an email to a few friends to collect their comments. Hopefully they will use the talk page to write their comments down. I would be very grateful if any of you would like to leave comments, either on the talk page, or at the bottom of this post.

Thanks!

Publishing on OpenWetWare

The Steering Committee has been talking about developing an alternative publishing system/model through openwetware. I wish I could give a more concrete definition of what we are trying to achieve, but we are still in a pretty active debate and nothing clear has emerged.

My personal opinion about it, is that the first thing to do is for OWW to build a publishing community by creating a free, open-access, moderated system to publish Synthetic Biology papers. These papers would not have to be strictly the same as traditional peer-reviewed papers, and could include descriptions of protocols, part characterizations/designs, etc. In addition these papers could use OWW url’s as citations, thus establishing a legitimate credit system for OWW contributions. Both of these are a little hard to achieve with current publishers, hence the need for our own channel. We would only start with synthetic biology because it is a small, young and vibrant crowd, and of course this would apply to all disciplines eventually - we just need to get on our feet.

Specifically, I am a strong advocate of trying out a model in which people write their papers/publishable bits on the OWW wiki. Once they are done (revised, commented on, etc.) we publish them to arXiv.org where the work is moderated and if accepted is then hosted there and in effect given a doi which is more citeable in conventional publication. From there it can be submitted wherever the author wishes.

To be specific, my particular reasons for wanting to use the arXiv are as follows:

  • The arXiv would be open to having an ‘oww’ or ’synthetic biology’ section, much like it has condensed matter physics, high energy phyciscs sections. In fact it already has a section called ‘quantitative biology’ that we could submit to. The sections are weakly moderated for suitable content by people in the field.

  • The arXiv is an e-print system, and is often used as an intermediate step between research and publishing in a more peer-reviewed journal. There are also cases where the arXiv is the final resting place for a paper, including those in the PLoS One model where the science is good, but it is not ‘hot’ enough to get into a journal.

  • The arXiv is completely electronically based, and offers many services including ingest and digest APIs to create automatic submission tools, and include arXiv content inside websites (rss) and tools (like pubmed searching).

  • An arXiv article is assigned a unique identifier (not a standard doi though), that is citeable.

  • The arXiv has a flexible enough system so that we could have an arXiv-hosted OWW journal with essentially no backend cost. In fact, certain astro-physics and mathematics societies already do create their own ‘overlay’ journals on the arXiv.

  • OWW can easily create an arXiv ’skin’ that contains a commenting system overlaid on the backend content hosted by the arXiv, or whatever else we want to do.

To that end, I am trying out a little experiment. I am going to write a paper on the arXiv on a topic that would not normally be publishable in a peer-reviewed journal: about how I used the python programming language to perform all the computational work in a recent comparative genomics study. I will write the paper on OWW, send out the link to it for comments, and when I have revised it, I will submit it to the quantitative biology section of the arXiv.

Anyone that is interested, please see: Python - All a Scientist Needs. Leave a comment there, or here, and let me know what you think!