Tag: Bioinformatics

Questions? Suggestions?

So Metaxa has gone into the wild, which means that I start to get feedback from users using it in ways I have not foreseen. This is the best and the worst thing about having your software exposed to real-world usage; it makes it possible to improve it in a variety of ways, but it also gives you severe headaches at times. I could luckily fix a smaller bug in the Metaxa code within a matter of hours and issue an update to version 1.0.2. The interesting thing here was that I would never have discovered the bug myself, as I never would have called the Metaxa program in the way required for the bug to happen. But once I saw the command given, and the output, which the user kindly sent me, I pretty quickly realized what was wrong, and how to fix it. Therefore, I would like to ask all out you who use Metaxa to send me your questions, problems and bug reports. The feedback is highly appreciated, and I can (at least currently) promise to issue fixes as fast as possible. We are really committed to make Metaxa work for everyone.

If you have suggestions for improvements, those are welcome as well (though it will take significantly more time to implement new features than to fix bugs). I am currently compiling a FAQ, and all questions are welcome. Finally, I would like to thank everybody who has downloaded and tried the Metaxa package. I can see in the server logs that there are quite many of you, which of course makes us happy.

Metaxa updated to 1.0.2

I was informed by a Metaxa user of a bug in the current Metaxa version (1.0.1). This bug caused problems when Metaxa-output was directed to another directory than the current directory Metaxa was run from. I have fixed this issue as fast as I could, as this could cause problems when Metaxa is included in larger analysis pipelines. The update to 1.0.2 is therefore strongly recommended for all Metaxa users. The update to 1.0.2 also introduces better handling of input files created in Windows environments, as well as improving the handling of extremely long sequence identifiers. The update can be downloaded using this link.

New features:
  • Improves import of sequence sets from Windows environments.
Fixed bugs:
  • Fixed a bug causing trouble with sequences with extremely long identifiers.
  • Fixed an output-related bug causing problems with output directed to another directory.

Published paper: Metaxa

It is a pleasure to annonce that the paper on Metaxa is now available as an Online early article in Antonie van Leeuwenhoek. In short, the paper describes a software tool that is able to extract small subunit (SSU) rRNA sequences from large data sets, such as metagenomes and environmental PCR libraries, and classify them according to bacterial, archaeal, eukaryote, chloroplast or mitochondrial origin. The program makes it easy to distinguish between e.g. the bacterial SSU sequences you like to analyze, and the SSU sequences you would like to remove prior to the analysis (e.g. mitochondrial and chloroplast sequences). This task is particularly important in metagenomics, where sequences can potentially derive from a variety of origins, but bacterial diversity often is the desired target for analysis. The software can be downloaded here, and the article can be read here. I would like to thank all the co-authors on this paper for a brilliant collaboration, and hope to be working with them again.

Reference:

Metaxa updated

Just a short note; Metaxa has been updated to version 1.0.1. This incremental version brings two small new features, and a minimal bug fix.

  • Added the option to select whether HMMER’s heuristic filtering should be used or not. This can be configured using the –heuristics option:
    –heuristics {T or F} : Selects whether to use HMMER’s heuristic filtering, off (F) by default
  • Removed some redundant information written to the screen, as output to the screen was a bit cluttered.

Bug fix:

  • Fixed a rare bug affecting detection sensivity of some SSU sequences.

Of course I would recommend it to every Metaxa user as it fixes a small bug, but the update is not in anyway critical for normal use.  The updated version can be downloaded using this link.

Metaxa released

I proudly announce that today Metaxa has been officially released. Metaxa is a a software tool for automated detection and discrimination among ribosomal small subunit (12S/16S/18S) sequences of archaea, bacteria, eukaryotes, mitochondria, and chloroplasts in metagenomes and environmental sequence datasets. We have been working on Metaxa for quite some time, and it has now been in beta for about two months. However, it seems to be stable enough for public consumption. In addition, the software package is today presented in a talk at the SocBiN conference in Helsinki.

A more thorough post on the rationale behind Metaxa, and how it works will follow when I am not occupied by the SocBiN conference. A paper on Metaxa is to be published in the journal Antonie van Leeuwenhoek. The  software can be downloaded from here.

Talk, talk, talk…

For those of you who are not already fed up with my writings on biology stuff on the web site, two opportunities to hear me talk in real life has popped up in May. The first is already on May 2nd, on the Open Day in Life Sciences, arranged by the Science Faculty at the University of Gothenburg. I will talk about the search for detoxification systems in metagenomic sequence data (from a collections point of view, as that is the theme for the day). There will also be an opportunity be guided in the herbarium and the botanical garden, plus having lunch and an optional after-work drink at Botaniska Paviljongen. But hurry, last day of admission is tomorrow! Register here.

The second opportunity will be at the SocBiN-2011 bioinformatics conference in Helsinki, on the 12th of May. I will present in the session called “Bioinformatics of Metagenomics”, and talk about a software tool for rRNA classification. I really look forward to this Bioinformatics conference, there are a number of highly prominent and interesting speakers, and I have heard that Helsinki in May is very beautiful. Besides, I am going there with extremely nice people, adding up to potentially being the best biology venue I will attend this spring.

Moving on…

So, last week I started my Ph.D. in Joakim Larsson’s group at the Sahlgrenska Academy. While I am very happy about how things have evolved, I will also miss the ecotox group and the functional genomics group a lot (though both do their research within 10 minutes walking distance from my new place…) I spent last week getting through the usual administrative hassle; getting keys and cards, signing papers, installing bioinformatics software on my new monster of a computer etc. Slowly, the new room starts to feel like it is mine (after nailing phylogenetic trees, my favorite map of the amino acids, and my remember-why-Cytoscape-visualisation-might-not-be-a-good-idea-for-all-network-like-structures poster to the billboard).

So what will this change of positions mean? Will I quit doing research on microbial communities? Of course not! In my new position, my subject of investigation will be bacterial communities subjected to antibiotics. We will look for resistance genes in such communities, and try to answer questions like: How do a high antibiotic selection pressure affect abundance of resistance genes and mobile elements that could facilitate their transfer between bacteria? Can resistance genes found in environmental bacteria be transferred to the microbes of the human gut? Can the environmental bacteria tell us what resistance genes that will be present in clinical situations in the near future? All these questions could, at least partially, be answered by metagenomic approaches and good bioinformatics tools, and my role will be to come up with the solutions provide answers to them.

I am excited over this new project, which involves my favorite subject – metagenomics and community analysis – as well as important factors, such as the clinical connections, the possibility to add pieces to the antibiotic resistance puzzle, and the role of gene and species transfer in resistance development. I also like the fact that I will need to handle high-throughput  sequence data, meaning that there will be many opportunities to develop tools, a task I highly enjoy. I think the next couple of years will be an exciting time.

Software reorganisation

I have reorganised my Software page a little bit, putting the smaller scripts on a separate page, to make the main software page tidier. The content of the pages is the same, and you still find bloutminer and metaorf on the main software page.

BLAST-mining software: bloutminer

I have put some “new” software online. I have had this piece of code lying around for some time but never got to upload it as I didn’t view it as “finished”. It is still not finished, but I would nevertheless like to share it with a wider audience. So, today I introduce bloutminer – the BLAST output mining script I have been using lately. bloutminer allows you to specify e.g. an E-value cutoff, a length cutoff and a percent identity cutoff, and extract a list of the hits satisfying these cutoffs. It takes table output (blastall option -m 8 ) as input. This is the software I used for the BLAST visualisation I have discussed earlier.

I normally use an E-value cutoff of 10 for my BLAST searches, and then extracts hits with bloutminer, allowing me to change the cutoffs at a later stage without redoing the whole BLAST search. You can also “pool” sequences into groups, based on their sequence tags. bloutminer is work in progress, and may contain nasty bugs. It can be found on the Software page. Please improve it at will.

BLAST Visualization

Perhaps because of my roots in systems biology (or the cause of going there in the first place), I have always had an interest in creating visually appealing images of data, many times in the form of networks. I find that often in bioinformatics, one of the hardest problems is to make information understandable. For example, a BLAST output might say very little about how the genes or proteins are connected to each other, at least to the untrained eye.

Therefore, during the last weeks I have fiddled around with various ways of viewing interesting portions of BLAST reports. By making all-against-all BLAST searches, and outputting the data in table format (blastall option -m 8), I have been able to extract the hits I am interested in and export them into a Cytoscape compatible format, with some accompanying metadata (scores, e-values, alignment length, etc.). The results are many times pretty unparsable by the eye, rendering them a bit meaningless, but have been more and more interesting as I have put more effort into the extraction script. Just as an example, I here provide a simple map of the best all-against-all matches in the Saccharomyces cerevisiae genome, as a Cytoscape network (click for full size):

The largest circle consists of transposable elements (jumping DNA which inserts itself at multiple locations in the genome, no surprise there is a lot of them, and that these are pretty conserved). The circle to the left of the transposon circle consists of genes located inside the telomeric regions. Why they show such high similarity I do not know, but it seems plausible that the telomere thing could play a role here. The third circle contain mostly members of the seripauperin multigene family, which is also located close to the telomeres. At the bottom you found the gene pairs, that match to each other. You could go on with all the smaller structures as well, but I am no yeast expert, so I will stop here, letting this serve as an example of what a BLAST report really look like.

For this image, I have used a blastn report of all yeast ORFs (taken from yeastgenome.org) as input to my extraction tool, selected Cytoscape compatible output, and used a maximal e-value of 0.00001 and an alignment length of at least 50 nts as criteria to be extracted. I have also pooled the sequences according to chromosome number. The pooling was used to color code the nodes in Cytoscape. The edge width is connected to alignment score, a high score renders a thick line, and a low score causes the line to be thin.

I am still working on the extraction tool and will not provide any code yet. Input would, however, be appreciated. My personal opinion is that in the near future, the overload of newly produced DNA and protein sequences will choke us if do not come up with more intuitive ways of displaying data. I don’t think that the network above is there yet. Still, it conveys information I would not have been able to understand from just looking at the BLAST output. The first attempts to come around the sequence overload problem won’t be the best ones. But we got to start working on visualization methods today, so that we do not end up with sequences over our shoulders in just a few years. Besides, a network image seems much more impressive than a number of lines of text…