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?"
"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.
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