Question: What Is The Best Way To Share Scripts Between Members Of A Lab?
4
gravatar for Giovanni M Dall'Olio
4.2 years ago by
London, UK
Giovanni M Dall'Olio18k 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: http://matplotlib.sourceforge.net/gallery.html , 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?

ADD COMMENTlink written 4.2 years ago by Giovanni M Dall'Olio18k
9
gravatar for Simon Cockell
4.2 years ago by
Simon Cockell6.6k
Newcastle
Simon Cockell6.6k 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 4.2 years ago by Simon Cockell6.6k

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 2.8 years ago by Burlappsack570
5
gravatar for Suk211
4.2 years ago by
Suk211940
state college
Suk211940 wrote:

This might be useful .

A Quick Guide to Organizing Computational Biology Projects

ADD COMMENTlink written 4.2 years ago by Suk211940
4
gravatar for Istvan Albert
4.2 years ago by
Istvan Albert ♦♦ 39k
University Park, USA
Istvan Albert ♦♦ 39k 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 4.2 years ago by Istvan Albert ♦♦ 39k
4
gravatar for Geoffjentry
4.1 years ago by
Geoffjentry310
MA
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 4.1 years ago by Geoffjentry310
3
gravatar for Marcos De Carvalho
4.2 years ago by
Porto Alegre, RS, Brasil
Marcos De Carvalho290 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 www.wikispaces.com).

ADD COMMENTlink written 4.2 years ago by Marcos De Carvalho290

Complementing this answer, a good option could be the Trac framework (http://trac.edgewall.org/) with the plug-in for Git (http://nanosleep.org/proj/trac-git-plugin). Default support is for Subversion AFAIK.

ADD REPLYlink written 4.2 years ago by Marcos De Carvalho290
3
gravatar for hadasa
4.2 years ago by
hadasa930
hadasa930 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://github.com/navyrain/navysnip.git cd navysnip sudo rake gems:install rake db:migrate ruby script/server Then visit your app at http://localhost:3000

check out http://github.com/navyrain/navysnip for complete details

ADD COMMENTlink written 4.2 years ago by hadasa930
3
gravatar for Etal
4.2 years ago by
Etal510
Athens, GA
Etal510 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 trac.edgewall.org) is the obvious choice for that.

ADD COMMENTlink written 4.2 years ago by Etal510
1

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

ADD REPLYlink written 4.1 years ago by Neilfws41k
3
gravatar for Egon Willighagen
4.1 years ago by
Maastricht
Egon Willighagen4.6k wrote:

I can very much recommend MyExperiment.org. 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 4.1 years ago by Egon Willighagen4.6k
1
gravatar for Radhouane Aniba
2.8 years ago by
Radhouane Aniba720 wrote:

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

ADD COMMENTlink written 2.8 years ago by Radhouane Aniba720
Please log in to add an answer.

Help
Access
  • RSS
  • Stats
  • API

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