7
$\begingroup$

I'm looking for a way to identify low complexity regions and other repeats in the genome of Escherichia coli. I found that RepeatMasker may be used for example when drafting genomes of prokaryotes (E. coli example). But RepeatMasker works on a limited dataset of species, neither of them being prokaryotes. By default, when running RepeatMasker, if no species is specified, it will compare with homo sapiens data.

This seems rather inadequate, but the most relevent alternative, PRAP, requires a "dead" tool (VisCoSe, by Michael Spitzer).

  1. Is it still wise to to use RepeatMasker on Escherichia coli?
  2. If yes, which settings would maximise relevance ?
$\endgroup$
3
  • 1
    $\begingroup$ RepeatMasker isn't designed for use with prokaryotic genomes. Nonetheless, it performs a contamination check for E. coli so you could play around with the -is_only flag to try and detect bacterial repeats, probably better to find an alternative tool or repeat library though $\endgroup$ Commented Aug 24, 2017 at 15:38
  • 2
    $\begingroup$ "Repeats" have different meanings. What types of repeats to mask are highly dependent on the downstream analyses – in fact, repeat masking is often discouraged. Explaining why you want to mask repeats would give you a more accurate answer. $\endgroup$
    – user172818
    Commented Aug 25, 2017 at 10:56
  • 2
    $\begingroup$ @user172818 In fact, I am not interested in masking, but really finding any type of repeats, from low complexity regions to small repeats, as can be obtained using RepeatMasker. I would then use these repeats as (sort of) an explanatory variable. $\endgroup$ Commented Aug 25, 2017 at 15:00

2 Answers 2

5
$\begingroup$

If I understood correctly your question, you want to mask those regions in a (FASTA?) genome. I think you could identify those regions using mummer and mask them using bedtools.

# align genome against itself
nucmer --maxmatch --nosimplify genome.fasta genome.fasta

# select repeats and convert the corrdinates to bed format
show-coords -r -T -H out.delta | awk '{if ($1 != $3 && $2 != $4) print $0}' | awk '{print $8"\t"$1"\t"$2}' > repeats.bed

# mask those bases with bedtools
bedtools maskfasta -fi genome.fasta -bed repeats.bed -fo masked.fasta

Have a look at nucmer and bedtools maskfasta options to fine-tune your analysis.

$\endgroup$
4
  • $\begingroup$ This approach may work, but it seems quite an un-orthodox way to mask repeats, have you used this or seen people use it for bacterial genomes? $\endgroup$ Commented Aug 31, 2017 at 15:57
  • $\begingroup$ I have used it, following the advice found on the mummer manual: mummer.sourceforge.net/manual/#identifyingrepeats $\endgroup$
    – mgalardini
    Commented Aug 31, 2017 at 16:06
  • $\begingroup$ thanks, you used it for prokaryotes? they says in the docs it's not really designed for that and only identifies a limited number of repeat types, so I assumed this was not really advised? $\endgroup$ Commented Aug 31, 2017 at 16:09
  • $\begingroup$ yes, I did use it on E. coli K-12, finding 1324 repeats. I never tried other methods so I'm unsure how it compares with those. It would definitely be interesting. I wouldn't say the authors of mummer discourage you to use nucmer for finding repeats, just that it wasn't specifically made for that purpose. $\endgroup$
    – mgalardini
    Commented Aug 31, 2017 at 16:19
1
$\begingroup$

From your comment, it seems that masking regions are not your priority, but you would rather find them (correct me if I am wrong):

not interested in masking, but really finding any type of repeats, from low complexity regions to small repeats

To find these regions, you can try RepeatFinder. From their paper, it seems that is suitable for bacterial genomes too. It also seems to be faster because based on suffix tree data structure instead of working with string-matching algorithm (as in RepeatMasker).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.