# Accidental mapping of eukaryotic reads in a metagenomic dataset

This is a question from /u/wipeyourmit on reddit. The original post can be found here.

If I have a metagenomic dataset that contains reads from both eukaryotes and prokaryotes and then I annotate by running DIAMOND or HMMER against a bacterial database how much of a risk do I run of eukaryotic reads being annotated in the process?

I was hoping to use the eggNOG mapper to search against the bacterial and archaeal databases and to exclude the eukaryotic portion of my dataset. Is the eukaryotic filtering something that I would need to do in a step prior to this?

• Can you be more specific; by metagenomic data, do you mean shotgun metagenomic data or 16S? I assume without depletion of host DNA or an enrichment protocol? What is the sample site and species? For example, the ratio of prokaryotic:eukaryotic reads is much higher in the human gut than most other human body sites Jun 7 '17 at 7:55
• If it includes eukaryotes, it's probably not 16s. I guess I would assume shotgun metagenomic data.
– gringer
Jun 7 '17 at 8:06
• I guess this is a disadvantage of cross-posting, one can't really clarify the original question. Note cross-posting is being discussed now on meta bioinformatics.meta.stackexchange.com/questions/78/… Jun 7 '17 at 10:24
• Please don't do this. If you want to repeat a question, it must be one for which you can provide clarification. Otherwise, the exercise is futile. Jun 7 '17 at 10:46

## 3 Answers

If you know the eukaryotic contaminant present you could use bbsplit.sh from BBMap suite to split/bin reads first using a reference for that contaminant (into one or as many bins as reference sequences you provide).

• The contaminants are probably numerous and/or unknown in a metagenome? Jun 7 '17 at 11:23
• My comment was with reference to the eukaryote being the contaminant. The original question refers to a vague "both eukaryotes and prokaryotes" specification. Hopefully there is a small number of known "contaminants". In absence of concrete information none of the tools/answers are going to be a perfect solution. Jun 7 '17 at 11:27
• Sure, I was just saying that typically in metagenomics, you will capture many eukaryotes (that you may deem contaminants) in your sample. Often these environments are lacking in good references, too. In scenarios such as this, we often have to rely on less effective solutions than BBMap. Jun 7 '17 at 11:32
• @SamNicholls if the sample is from a body site (like the human gut) then there is only likely 1 major eukaryotic contaminant (i.e. human DNA; ignoring rare microbial eukaryotes or food), but if you're trawling the ocean or something will be a lot of eukaryotes; think the question needs clarifying Jun 7 '17 at 11:59

You can use centrifuge with the NT library to profile the taxonomy, and then remove the reads from eukaryotes.

Answer from /u/Romanticon on reddit. The original answer can be found here

Depending on the length of your reads, the level of error in the reads, the quality of the database, and the specificity settings you give DIAMOND, you can change the level of "bleed" that you get - but you'll always have a couple reads, especially at metagenome dataset sizes, that will be annotated incorrectly.

But you'll always have this happen, whenever you annotate any large dataset. The best way to handle it is to set a threshold after annotation that removes wrongly annotated reads (looking for 'clearly wrong' organisms in your annotated dataset can help you figure out where to set the threshold level - there's probably no Bos taurus reads in a mouse metagenome).

You can do things like enable the sensitive flag on the DIAMOND annotation search to help improve annotation accuracy.