View Single Post
Old 02-12-2014, 10:46 AM   #1
Junior Member
Location: Galveston, Texas

Join Date: Oct 2011
Posts: 4
Default ViReMa: an algorithm for finding viral recombination or fusion events in NGS data

Hi all,

I have written and made available an algorithm I wrote in Python called ViReMa: a Viral Recombination Mapper.

The purpose of the script is to find reads that map over recombination or fusion events in virus genomes when deep-sequencing virus samples. The algorithm is slightly different to other approaches in that rather than mapping read segments of pre-defined lengths and positions, ViReMa dynamically generates moving read segments. ViReMa initially attempts to align the 5’ end of a read to the reference genome(s) with the Bowtie seed-based alignment (n-mode). A new read segment is then made by either extracting any unaligned nucleotides at the 3’ end of the read or by trimming the first nucleotide from the read. This continues iteratively until all portions of the read are either mapped or trimmed.

The purpose of this is to be as flexible and sensitive as possible. The mechanisms of recombination among DNA and RNA viruses vary widely and a deep-sequenced virus sample will contain reads derived from a large pool of viral quasi-species. Consequently, we should expect to find a range of different recombination sites. A description of the algorithm and its application is described in our paper.

I originally began writing the script as a way of making my own work easier as I was moving between different viral systems. Consequently, I have tried to make the script as flexible as possible by having options for things like seed-lengths, error handling, multiple genome references and various other options described in the manual. In addition to virus recombination, the algorithm can also detect virus-to-host or inter-virus recombination, insertion and substitution events and multiple recombination junctions within a single read.

The script can handle any read length that can be input into Bowtie (i.e. up to 1024 nts) and so is compatible with a variety of sequencing platforms.

At present, I am trying to use standardized formats for the output data where possible, but due to the complexity of some of results this is not always possible. Nonetheless, the basic virus recombination data is output into a BED6 file, which can be read viewed similarly to splice events in viewers such as the Integrative Genomics Viewer (IGV).

Our paper describing the algorithm is available (Open Access) at Nucleic Acids Research:
"Discovery of functional genomic motifs in viruses with ViReMa–a Virus Recombination Mapper–for analysis of next-generation sequencing data"

And the script is available at:

This is an on-going project and I aim to continually make updates. If anyone has any question/problems/suggestions for the script, I would be delighted to hear them. I hope that this will be useful for some people!
Thanks, Andrew
Arouth is offline   Reply With Quote