Question: What Is The Best Way To Share Scripts Between Members Of A Lab?
gravatar for Giovanni M Dall'Olio
7.6 years ago by
London, UK
Giovanni M Dall'Olio25k wrote:

One of the most awful problems in my group is avoiding to rewrite scripts that have been already written by others. Since we have different projects and we work with different data, everybody ends up writing its own scripts in his favorite programming language, and it is very frequent to waste an afternoon on writing a new program and then discover that your workmate already had a script to do that.

Apart from the most logical answer ("talk with your workmates"), we are thinking about having a common place to store our best scripts, and if possible work together on them. It would be similar to an image library like this: , where to put the script and an example of its output (most of our scripts produce graphs), and if possible integrated with Git.

Do you have any idea? How to you cope with the problem in your lab?

general subjective • 2.7k views
ADD COMMENTlink written 7.6 years ago by Giovanni M Dall'Olio25k
gravatar for Simon Cockell
7.6 years ago by
Simon Cockell7.2k
Simon Cockell7.2k wrote:

If you want to see the code, but also store associated information, such as expected outputs etc, then a wiki probably is the best choice (we prefer DokuWiki here), although this would involve a lot of manual effort to document each script.

Use of a site such as GitHub would give you version control + a handy place to read code, although it is not free to host private repositories there, which I guess is what the majority of labs would require.

If privacy is not a concern, then I would consider GitHub gists for code, which can then be embedded in a Posterous blog for comments. Posterous automatically unfolds Gist URLs into code samples in blog posts, so then you can annotate them easily. This would be a lot less manual effort than a wiki.

ADD COMMENTlink written 7.6 years ago by Simon Cockell7.2k

lol, glad to see another group going with DokuWiki. As a low priority project I decided to implement it for our lab abd its been a huge hit ever since. No more searching for the latest plot in your email!

ADD REPLYlink written 6.3 years ago by Burlappsack640
gravatar for Suk211
7.6 years ago by
state college
Suk2111.0k wrote:

This might be useful .

A Quick Guide to Organizing Computational Biology Projects

ADD COMMENTlink written 7.6 years ago by Suk2111.0k
gravatar for Istvan Albert
7.6 years ago by
Istvan Albert ♦♦ 74k
University Park, USA
Istvan Albert ♦♦ 74k wrote:

Integrating with the source code management tool is essential, that way when code gets changed everyone can easily get the updated version. Wikis are also a good idea.

ADD COMMENTlink written 7.6 years ago by Istvan Albert ♦♦ 74k
gravatar for Geoffjentry
7.6 years ago by
Geoffjentry310 wrote:

I'm the only person in my group who uses software control, other people are averse to it. What we've ended up with is a by-convention approach within our large NAS block (which everyone mounts). Any code which is deemed to be generally useful is essentially "checked in" to a particular directory tree w/ a designated format for keeping track of versioning, builds (where appropriate), etc. Code which is specific to a project, dataset, etc is stored in a designated manner within the appropriate directory trees for that project, dataset, etc.

ADD COMMENTlink written 7.6 years ago by Geoffjentry310
gravatar for Marcos De Carvalho
7.6 years ago by
Porto Alegre, RS, Brasil
Marcos De Carvalho310 wrote:

I would recommend you to setup a wiki for your group. If you do not have a server readily you can always use one of the many wiki services available for free like Wikispaces

ADD COMMENTlink written 7.6 years ago by Marcos De Carvalho310

Complementing this answer, a good option could be the Trac framework ( with the plug-in for Git ( Default support is for Subversion AFAIK.

ADD REPLYlink written 7.6 years ago by Marcos De Carvalho310
gravatar for hadasa
7.6 years ago by
hadasa1.0k wrote:

You might also want to setup a simple snippets database. Navysnip application by Jason Strutz is easy to install and run if you have ruby and rubyonrails installed.

git clone git:// cd navysnip sudo rake gems:install rake db:migrate ruby script/server Then visit your app at http://localhost:3000

check out for complete details

ADD COMMENTlink written 7.6 years ago by hadasa1.0k
gravatar for Eric T.
7.6 years ago by
Eric T.1.9k
San Francisco, CA
Eric T.1.9k wrote:

My lab uses a network-attached storage unit which every Linux workstation mounts by NFS at startup. It was reasonably cheap -- a couple hundred dollars per TB. We also keep copies of public databases on there. We put data sets on there as we're working on them, and also put the more important scripts in a Mercurial repositiory.

As Marcos and Istvan mentioned, a wiki integrated with your VCS would be wise, and Trac is the obvious choice for that.

ADD COMMENTlink written 7.6 years ago by Eric T.1.9k

I've used Trac successfully for project/code management. I'd also recommend Redmine - - written in Ruby on Rails.

ADD REPLYlink written 7.6 years ago by Neilfws47k
gravatar for Egon Willighagen
7.6 years ago by
Egon Willighagen5.1k wrote:

I can very much recommend You can set up a category for a certain class of scripts, as the system has no limitation to Taverna 'scripts' anymore. MyExperiment is a true social services, provides tagging, setting up groups, etc.

ADD COMMENTlink written 7.6 years ago by Egon Willighagen5.1k
gravatar for Radhouane Aniba
6.3 years ago by
Radhouane Aniba740 wrote:

I would go for the emergent where there is a snippet section

ADD COMMENTlink written 6.3 years ago by Radhouane Aniba740
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1401 users visited in the last hour