Open-Source Bioinformatics Programs?
An anonymous reader asks: "This summer I have the opportunity to work in a bio research lab creating a web site for data about proteins. Part of my job is to do bioinformatic analysis of the proteins to determine what types of support their are for the preliminary gene predictions. I have been using DNA Stryder (a Mac program) for sequence alignments plus translations from DNA sequences to protein sequences, and I was wondering if any of the Slashdot crowd knew of similar programs for Linux? I have looked into Bioperl , Biopython, EMBOSS, and BioConductor, but they seem to be more oriented towards servers and less towards stand-alone applications. What programs would you suggest, especially those that might be geared more towards biologists rather than computer scientists?"
http://freshmeat.net/browse/252/
If you go here and have a look you will see some interesting programs that meet your needs. I was looking for some biochem programs the other day in this web site.
"Developing Bioinformatics Computer Skills"
This has lots of useful information and references and is a great starting point. It might be a bit dated, though.
Most useful open source bioinformatics software is going to be geared toward biologists with at least some programming and unix skills. A lot of it was written by bioinformaticians which tend to lean more toward the informatics than the bio. They get more caught up in the technical aspects of the feild rather than the biology of the problem looking to be addressed. Unfortunately, the same can be said about most commercial bioinformatics software as well.
On the flip side, when people more interested in the biology than the technology write software, they tend to write just enough to get the job done and then stop. Software from this camp is often buggy and has a bad UI or no UI at all. It gets the job done, but only if you know exactly how to use it.
Anyway, you might want to take a look at R - http://cran.stat.ucla.edu/. It's more geared towards statistics but it does have some protein modules.
I'm working on something to do basic sequence analysis in my spare time right now.
I'm not a bio researcher, but I am a programmer and I work in the field. My father is a biology researcher and we've been talking about putting together a GUI app that interfaces with various tools to provide an easy interface to common tasks that bio researchers have: basecalling, vectormasking, clustering, sequence alignment, along with a nice GUI that lets you play with the results (search the results, order them, associate them with different databaes, relate them to gene ontologies - essentially a powerful set of data visualization tools).
It's all focused around EST management. Our goal is to get an app that a non-power-user can get up and running, out-of-the-box, for managing small sets of libraries.
It's pretty obvious that there are a very solid set of OSS base tools that implement the algorithms for doing analysis on ESTs, but in terms of glue apps that bring all of the tools together into a cohesive whole, there's not much out there.
What IS out there is hopelessly complex to expect an average bio researcher with little time on his hands to get up to speed with ("Download and install mysql? wtf?").
The problem is that most of these tools are geared towards large institutions with dedicated bioinformatics departments. They have the resources to hire a couple sysadmins and programmers and set up a high-throughput management system. Most small-timers don't really have the resources to get these apps working. I want to write something targeted specifically to smaller labs.
I just started writing it last weekend.. so it's not like there's much there yet - OTOH I have programmed a high-throughput EST management system for my work, so I have a good idea of most of the design issues.
An OSS app in this area would rock. It's a great opportunity to add to the wealth of OSS tools in the field, and I think it would solve a real need.
If you want to talk about it, reply to this post and also send me a message kav062 at yahoo dot com.
-Laxitive
If you have a real interest in bioinformatics, I cannot stress enough that you should learn Perl. Even if you are a biologist by background, Perl is not like Java or C, and stresses more on getting things done rather than on abstract computer science concepts.
Once you learn Perl, using something like BioJava will give you all you need to handle sequence data. For instance, you could build a data pipeline that you use on all of your sequences of interest, instead of a graphical tool which pretty much forces you to do alignments and such one at a time.
Now there are some tasks that will require a graphical tool (editing alignments is an example), and one free tool you could use is JaMBW. There is also a list of open bioinformatics software for Linux (generally will be Java or Perl, occasionally C) hosted at Bioinformatics.org.
Genebrew
You should look into ApE,
it has many of the same functions as Strider, plus some that strider dosen't have.
Works on windows, linux, OS X etc
http://www.biology.utah.edu/jorgensen/wayned/ape/
Well, I'm %99.9999 sure that you can get BioPerl running on a Linux box. Also, for a fun project, grab a copy of your sequence databases of choice and try to install BLAST on the Linux box.
That said, take a look at Chimera, which is an app written at UC San Francisco. It is mostly useful for visualizing, but I know there is a sequence viewer, and some other tools in there too.
Now, for all the aspiring bio geeks I give you BioKnoppix. Go download and burn the ISO. Then use that CD to boot any x86 box into a full Linux install with many of the popular bioinformatics tools already installed.
Enjoy!
-Steve
It seems to be a sad but true fact that the tools are fractured, and most definately NOT user friendly. BioPerl is nothing more than a perl module allowing you to plug into the NCBI blast tools to automate processes. It was truly the most useful module I ever found, but I was writing web-scripts in perl at the time, not attempting to plug ready made systems in.
My ex-employer had produced a standalone/server webserver that integrated many of these tools, but market forces, and a lack of VC forced them to shut down.
The problem will continue because every scientist has specific needs. Until there are defined protocols for identification of new genes, or processing of data, there will be no ready made products for them.
I encourage everyone interested to check out www.bioinformatics.org for ways to contribute to the cause in the meantime.
hmmmm?
You know, the subject seems to have nothing to do with the article. The submitter was looking for a program for linux. Cliff, however, wrote a completely misleading headline claiming the poster was looking for an open source program.
Here's a clue, you stupid twit -- not all linux programs are open source.
Secondly, translations? Database searches? Sounds like you're doing some very basic Bioinformatics work. Not to say that your research isn't meaningful, just that the problems you're approaching are easily solved by a computational biologist. For example, here's a snippet of Bioperl code that will read in a set of GenBank sequences, translate them and print the results to a new file:
my $seqin = Bio::SeqIO->new( -file => 'myseq.gbk', -format => 'genbank' );
my $seqout = Bio::SeqIO->new( -file => '>translated.gbk', -format => 'genbank' );
while ( my $seq = $seqin->next_seq ) {
$translated_seq = $seq->translate;
$seqout->write_seq( $translated_seq );
}
Seems pretty simple, right? There are similar, simple wrappers around BLAST, FASTA and some other common algorithms in computational biology. Check out the Beginners HOWTO on the Bioperl website, it explains Bioperl without requiring previous CS experience. I think it's a good intro, but I also wrote it so I'm slightly biased.
If programming is not your style, check out JEMBOSS. It's a Java-based GUI wrapper for EMBOSS.
Cheers and good luck.
My blog
Actually, Bioconductor's original intent was to provide a platform for statisticians doing research on analyzing high-throughput experiments (as opposed BioPerl and friends which AFAIK originally arose to deal with sequence analysis and the myriad of tools that go with it). To date, this has principally meant microarray experiments and such, though there is also a lot of support code for manipulating things common to Bioinformatics (annotations, ontologies and so on). Its also used by a fair number of biologists these days to actually analyze their experiments which has led to the development of some simple GUI interfaces.
I have used Clustal for multiple sequence alignments. There is a gui (ClustalX) and a scriptalbel command line version (ClustalW). Available for all platforms and source included with the download.
Also keep an eye on POY that does direct optimization on sequences. Also available for all platforms with BSD style licence.
For just viewing and manual editing of alignments there is BioEdit. Free, but not open source. Windows only.
For a general sequence assembly/analysis/kitchen sink approach try the Staden Project. Open source and available for Windows, Linux and OSX.
Hope this is useful. I have never worked with protein sequences, but I have done a lot of DNA sequenceing and alignment!
My company, CLC bio, just released a free bioinformatics application that works for Linux, Mac and Windows (not open source). It was designed with molecular biologists and biochemists in mind, rather than bioinformaticists. Thus, a lot of effort has been put into the user interface.
The program is a 0.9 beta and so far it only has basic functionality: GenBank searching, DNA/RNA to protein translation, alignment, tree reconstruction, graphical viewers, and a few other things. More will follow in the coming months.
Thanks,
Bjarne
If you are running Fedora/SUSE two good sites, to browse are BioLinux and BIOrpms:
http://biolinux.org/
http://apt.bea.ki.se/packages.html
The sites have RPMs for most of the basic packages along with descriptions (some packages are a bit old, however).
Check out http://complearn.org/ I've used it for many different applications, including genomics and proteinomics. It can be used by novices or experts easily as it is parameter-free.
http://www.genezzo.com/ is a a unique and innovative open source database that may be useful to ambitious bio-infomaticians. It's goal is to handle extremely large information stores and yet provide extremely flexible schemas. It's developers include some fairly seasoned database professionals.
I've tried this out recently:
GDE
I haven't done intense work with it recently. It appears to be a GUI for a huge collection of software.
If you just need a program for molecular biology work (DNA sequence and protein sequence analysis, organization, and publication quality layouts) then I suggest you check out Clone Manager 7. It's very pricey, but if your lab can afford it, it's a good piece of software. I know it's a *dows only program, but I can confirm that it works well with the latest version of Wine. Some work is needed to get the drives mapped correctly in wine, but it was well worth it for me. Imagine being able to NX client (like VNC) into your lab's machine and work on your sequences from home.
Linux at home
A while back I took the Canadian Bioinformatics Workshop and we did a lot of installing and tinkering with linux-based tools. They offer their lecture notes on-line. Contra-topic, but in case it should prove useful - Nucleic Acid Research's yearly roundup of webserver based programs for 2005 has just come out.
www.randomfactory.com
Thanks for the pointer.
:D )
If you're interested in working on data standards for bioinformatics, particularly in the health arena, you might take a look at the tools and standardization efforts underway at NIH's caBIG(t)--the cancer bioinformatics "grid". It's aimed at linking various cancer centers and university hospitals' systems so they can share findings and stats and ultimately help defeat cancer. Lots of good work in that area.
>>The problem will continue because every scientist has specific needs. Until there are defined protocols for identification of new genes, or processing of data, there will be no ready made products for them.
(I'm an HCI researcher and non-coding technical professional, so I'll remain an anonymouse for now.
There are many Linux tools. But you want to start by understanding the problem space. "Bioinformatics for Dummies" is a great place to start; although it is web-oriented, many of the programs are downloadable for linux. But really, try to get a deeper understanding of the problem - Mount's text "Bioinformatics" is well worth the money, and the second edition looks like an improvement in many ways - and the reference everyone uses (but this will induce pain) is "Biological Sequence Analysis". These three books and being in a lab will make things move very fast. Ok, if you must get a fast answer... download EMBOSS for the set of well-tested robust utilities (warning: installation a slight pain) and NCBI's blast for sequence alignment. Then write scripts to integrate. Fast easy robust.