SEQanswers (
-   Bioinformatics (
-   -   ViReMa: an algorithm for finding viral recombination or fusion events in NGS data (

Arouth 02-12-2014 10:46 AM

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

bandana 06-20-2017 04:11 PM

Virema For Plant Viruses
I am using ViReMa to find the recombination events in plant viruses. I am using the default command as in README:
home/ViReMa0.1/python Test_Data/FHV_Genome_padded Test_Data/FHV_10k.txt FHV_recombinations.txt --Seed 20 --MicroInDel_Length 5
If I want to find larger insertion how can I change this?
Also, I am looking for Virus_Recombination.txt for further analysis. I am in the right path?

gringer 06-21-2017 11:26 PM

How does it deal with artefacts caused by index swapping (or similar)?

Fad2012 02-06-2018 11:05 AM

Bandana: ViReMa will find insertion regardless of their size, you can find out by subtracting the start and end location.

Gringer: You need to have your own control to study the sensitivity and specificity of ViRema, this could vary depending on the study.

All times are GMT -8. The time now is 12:40 AM.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.