                                 megamerger



Wiki

   The master copies of EMBOSS documentation are available at
   http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.

   Please help by correcting and extending the Wiki pages.

Function

   Merge two large overlapping DNA sequences

Description

   megamerger reads two overlapping input DNA sequences and uses a
   word-match algorithm to align the sequences. A merged sequence is
   generated from the alignment and writen to the output file. The actions
   megamerger took in generating the merged sequence are written to an
   output file. The sequences can be very long.

Algorithm

   The program does a match of all sequence words of size 20 (by default).
   It then reduces this to the minimum set of overlapping matches by
   sorting the matches in order of size (largest size first) and then for
   each such match it removes any smaller matches that overlap. The result
   is a set of the longest ungapped alignments between the two sequences
   that do not overlap with each other. If the two sequences are identical
   in their region of overlap then there will be one region of match and
   no mismatches. Where there is a mismatch, the merged sequence uses
   bases from the sequence whose mismatch region is furthest from the
   start or end of the sequence.

Usage

   Here is a sample session with megamerger


% megamerger tembl:v00295 tembl:v00296
Merge two large overlapping DNA sequences
Word size [20]:
output sequence [v00295.merged]:
Output file [v00295.megamerger]: report


   Go to the input files for this example
   Go to the output files for this example

Command line arguments

Merge two large overlapping DNA sequences
Version: EMBOSS:6.5.6.0

   Standard (Mandatory) qualifiers:
  [-asequence]         sequence   Nucleotide sequence filename and optional
                                  format, or reference (input USA)
  [-bsequence]         sequence   Nucleotide sequence filename and optional
                                  format, or reference (input USA)
   -wordsize           integer    [20] Word size (Integer 2 or more)
  [-outseq]            seqout     [.] Sequence filename and
                                  optional format (output USA)
  [-outfile]           outfile    [*.megamerger] Output file name

   Additional (Optional) qualifiers:
   -prefer             boolean    [N] When a mismatch between the two sequence
                                  is discovered, one or other of the two
                                  sequences must be used to create the merged
                                  sequence over this mismatch region. The
                                  default action is to create the merged
                                  sequence using the sequence where the
                                  mismatch is closest to that sequence's
                                  centre. If this option is used, then the
                                  first sequence (seqa) will always be used in
                                  preference to the other sequence when there
                                  is a mismatch.

   Advanced (Unprompted) qualifiers: (none)
   Associated qualifiers:

   "-asequence" associated qualifiers
   -sbegin1            integer    Start of the sequence to be used
   -send1              integer    End of the sequence to be used
   -sreverse1          boolean    Reverse (if DNA)
   -sask1              boolean    Ask for begin/end/reverse
   -snucleotide1       boolean    Sequence is nucleotide
   -sprotein1          boolean    Sequence is protein
   -slower1            boolean    Make lower case
   -supper1            boolean    Make upper case
   -scircular1         boolean    Sequence is circular
   -sformat1           string     Input sequence format
   -iquery1            string     Input query fields or ID list
   -ioffset1           integer    Input start position offset
   -sdbname1           string     Database name
   -sid1               string     Entryname
   -ufo1               string     UFO features
   -fformat1           string     Features format
   -fopenfile1         string     Features file name

   "-bsequence" associated qualifiers
   -sbegin2            integer    Start of the sequence to be used
   -send2              integer    End of the sequence to be used
   -sreverse2          boolean    Reverse (if DNA)
   -sask2              boolean    Ask for begin/end/reverse
   -snucleotide2       boolean    Sequence is nucleotide
   -sprotein2          boolean    Sequence is protein
   -slower2            boolean    Make lower case
   -supper2            boolean    Make upper case
   -scircular2         boolean    Sequence is circular
   -sformat2           string     Input sequence format
   -iquery2            string     Input query fields or ID list
   -ioffset2           integer    Input start position offset
   -sdbname2           string     Database name
   -sid2               string     Entryname
   -ufo2               string     UFO features
   -fformat2           string     Features format
   -fopenfile2         string     Features file name

   "-outseq" associated qualifiers
   -osformat3          string     Output seq format
   -osextension3       string     File name extension
   -osname3            string     Base file name
   -osdirectory3       string     Output directory
   -osdbname3          string     Database name to add
   -ossingle3          boolean    Separate file for each entry
   -oufo3              string     UFO features
   -offormat3          string     Features format
   -ofname3            string     Features file name
   -ofdirectory3       string     Output directory

   "-outfile" associated qualifiers
   -odirectory4        string     Output directory

   General qualifiers:
   -auto               boolean    Turn off prompts
   -stdout             boolean    Write first file to standard output
   -filter             boolean    Read first file from standard input, write
                                  first file to standard output
   -options            boolean    Prompt for standard and additional values
   -debug              boolean    Write debug output to program.dbg
   -verbose            boolean    Report some/full command line options
   -help               boolean    Report command line options and exit. More
                                  information on associated and general
                                  qualifiers can be found with -help -verbose
   -warning            boolean    Report warnings
   -error              boolean    Report errors
   -fatal              boolean    Report fatal errors
   -die                boolean    Report dying program messages
   -version            boolean    Report version number and exit


Input file format

   megamerger reads any two Sequence USAs.

  Input files for usage example

   'tembl:v00295' is a sequence entry in the example nucleic acid database
   'tembl'

  Database entry: tembl:v00295

ID   V00295; SV 1; linear; genomic DNA; STD; PRO; 1500 BP.
XX
AC   V00295;
XX
DT   09-JUN-1982 (Rel. 01, Created)
DT   07-JUL-1995 (Rel. 44, Last updated, Version 4)
XX
DE   E. coli lacY gene (codes for lactose permease).
XX
KW   membrane protein.
XX
OS   Escherichia coli
OC   Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;
OC   Enterobacteriaceae; Escherichia.
XX
RN   [1]
RP   1-1500
RX   DOI; 10.1038/283541a0.
RX   PUBMED; 6444453.
RA   Buechel D.E., Gronenborn B., Mueller-Hill B.;
RT   "Sequence of the lactose permease gene";
RL   Nature 283(5747):541-545(1980).
XX
CC   lacZ is a beta-galactosidase and lacA is transacetylase.
CC   KST ECO.LACY
XX
FH   Key             Location/Qualifiers
FH
FT   source          1..1500
FT                   /organism="Escherichia coli"
FT                   /mol_type="genomic DNA"
FT                   /db_xref="taxon:562"
FT   CDS             <1..54
FT                   /codon_start=1
FT                   /transl_table=11
FT                   /note="reading frame (lacZ)"
FT                   /db_xref="GOA:P00722"
FT                   /db_xref="InterPro:IPR004199"
FT                   /db_xref="InterPro:IPR006101"
FT                   /db_xref="InterPro:IPR006102"
FT                   /db_xref="InterPro:IPR006103"
FT                   /db_xref="InterPro:IPR006104"
FT                   /db_xref="InterPro:IPR008979"
FT                   /db_xref="InterPro:IPR011013"
FT                   /db_xref="InterPro:IPR013781"
FT                   /db_xref="InterPro:IPR013812"
FT                   /db_xref="InterPro:IPR014718"
FT                   /db_xref="InterPro:IPR017853"
FT                   /db_xref="InterPro:IPR023230"
FT                   /db_xref="InterPro:IPR023232"


  [Part of this file has been deleted for brevity]

FT                   /translation="MYYLKNTNFWMFGLFFFFYFFIMGAYFPFFPIWLHDINHISKSDT
FT                   GIIFAAISLFSLLFQPLFGLLSDKLGLRKYLLWIITGMLVMFAPFFIFIFGPLLQYNIL
FT                   VGSIVGGIYLGFCFNAGAPAVEAFIEKVSRRSNFEFGRARMFGCVGWALCASIVGIMFT
FT                   INNQFVFWLGSGCALILAVLLFFAKTDAPSSATVANAVGANHSAFSLKLALELFRQPKL
FT                   WFLSLYVIGVSCTYDVFDQQFANFFTSFFATGEQGTRVFGYVTTMGELLNASIMFFAPL
FT                   IINRIGGKNALLLAGTIMSVRIIGSSFATSALEVVILKTLHMFEVPFLLVGCFKYITSQ
FT                   FEVRFSATIYLVCFCFFKQLAMIFMSVLAGNMYESIGFQGAYLVLGLVALGFTLISVFT
FT                   LSGPGPLSLLRRQVNEVA"
FT   CDS             1423..>1500
FT                   /transl_table=11
FT                   /note="reading frame (lacA)"
FT                   /db_xref="GOA:P07464"
FT                   /db_xref="InterPro:IPR001451"
FT                   /db_xref="InterPro:IPR011004"
FT                   /db_xref="InterPro:IPR018357"
FT                   /db_xref="InterPro:IPR024688"
FT                   /db_xref="PDB:1KQA"
FT                   /db_xref="PDB:1KRR"
FT                   /db_xref="PDB:1KRU"
FT                   /db_xref="PDB:1KRV"
FT                   /db_xref="UniProtKB/Swiss-Prot:P07464"
FT                   /protein_id="CAA23572.1"
FT                   /translation="MNMPMTERIRAGKLFTDMCEGLPEKR"
XX
SQ   Sequence 1500 BP; 315 A; 342 C; 357 G; 486 T; 0 other;
     ttccagctga gcgccggtcg ctaccattac cagttggtct ggtgtcaaaa ataataataa        60
     ccgggcaggc catgtctgcc cgtatttcgc gtaaggaaat ccattatgta ctatttaaaa       120
     aacacaaact tttggatgtt cggtttattc tttttctttt acttttttat catgggagcc       180
     tacttcccgt ttttcccgat ttggctacat gacatcaacc atatcagcaa aagtgatacg       240
     ggtattattt ttgccgctat ttctctgttc tcgctattat tccaaccgct gtttggtctg       300
     ctttctgaca aactcgggct gcgcaaatac ctgctgtgga ttattaccgg catgttagtg       360
     atgtttgcgc cgttctttat ttttatcttc gggccactgt tacaatacaa cattttagta       420
     ggatcgattg ttggtggtat ttatctaggc ttttgtttta acgccggtgc gccagcagta       480
     gaggcattta ttgagaaagt cagccgtcgc agtaatttcg aatttggtcg cgcgcggatg       540
     tttggctgtg ttggctgggc gctgtgtgcc tcgattgtcg gcatcatgtt caccatcaat       600
     aatcagtttg ttttctggct gggctctggc tgtgcactca tcctcgccgt tttactcttt       660
     ttcgccaaaa cggatgcgcc ctcttctgcc acggttgcca atgcggtagg tgccaaccat       720
     tcggcattta gccttaagct ggcactggaa ctgttcagac agccaaaact gtggtttttg       780
     tcactgtatg ttattggcgt ttcctgcacc tacgatgttt ttgaccaaca gtttgctaat       840
     ttctttactt cgttctttgc taccggtgaa cagggtacgc gggtatttgg ctacgtaacg       900
     acaatgggcg aattacttaa cgcctcgatt atgttctttg cgccactgat cattaatcgc       960
     atcggtggga aaaacgccct gctgctggct ggcactatta tgtctgtacg tattattggc      1020
     tcatcgttcg ccacctcagc gctggaagtg gttattctga aaacgctgca tatgtttgaa      1080
     gtaccgttcc tgctggtggg ctgctttaaa tatattacca gccagtttga agtgcgtttt      1140
     tcagcgacga tttatctggt ctgtttctgc ttctttaagc aactggcgat gatttttatg      1200
     tctgtactgg cgggcaatat gtatgaaagc atcggtttcc agggcgctta tctggtgctg      1260
     ggtctggtgg cgctgggctt caccttaatt tccgtgttca cgcttagcgg ccccggcccg      1320
     ctttccctgc tgcgtcgtca ggtgaatgaa gtcgcttaag caatcaatgt cggatgcggc      1380
     gcgacgctta tccgaccaac atatcataac ggagtgatcg cattgaacat gccaatgacc      1440
     gaaagaataa gagcaggcaa gctatttacc gatatgtgcg aaggcttacc ggaaaaaaga      1500
//

  Database entry: tembl:v00296

ID   V00296; SV 1; linear; genomic DNA; STD; PRO; 3078 BP.
XX
AC   V00296;
XX
DT   13-JUL-1983 (Rel. 03, Created)
DT   18-APR-2005 (Rel. 83, Last updated, Version 5)
XX
DE   E. coli gene lacZ coding for beta-galactosidase (EC 3.2.1.23).
XX
KW   galactosidase.
XX
OS   Escherichia coli
OC   Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;
OC   Enterobacteriaceae; Escherichia.
XX
RN   [1]
RP   1-3078
RX   PUBMED; 6313347.
RA   Kalnins A., Otto K., Ruether U., Mueller-Hill B.;
RT   "Sequence of the lacZ gene of Escherichia coli";
RL   EMBO J. 2(4):593-597(1983).
XX
RN   [2]
RX   PUBMED; 3038536.
RA   Zell R., Fritz H.J.;
RT   "DNA mismatch-repair in Escherichia coli counteracting the hydrolytic
RT   deamination of 5-methyl-cytosine residues";
RL   EMBO J. 6(6):1809-1815(1987).
XX
CC   Data kindly reviewed (18-MAY-1983) by U. Ruether
XX
FH   Key             Location/Qualifiers
FH
FT   source          1..3078
FT                   /organism="Escherichia coli"
FT                   /mol_type="genomic DNA"
FT                   /db_xref="taxon:562"
FT   CDS             <1..3072
FT                   /transl_table=11
FT                   /note="galactosidase"
FT                   /db_xref="GOA:P00722"
FT                   /db_xref="InterPro:IPR004199"
FT                   /db_xref="InterPro:IPR006101"
FT                   /db_xref="InterPro:IPR006102"
FT                   /db_xref="InterPro:IPR006103"
FT                   /db_xref="InterPro:IPR006104"
FT                   /db_xref="InterPro:IPR008979"
FT                   /db_xref="InterPro:IPR011013"
FT                   /db_xref="InterPro:IPR013781"
FT                   /db_xref="InterPro:IPR013812"


  [Part of this file has been deleted for brevity]

     gaggcccgca ccgatcgccc ttcccaacag ttgcgcagcc tgaatggcga atggcgcttt       180
     gcctggtttc cggcaccaga agcggtgccg gaaagctggc tggagtgcga tcttcctgag       240
     gccgatactg tcgtcgtccc ctcaaactgg cagatgcacg gttacgatgc gcccatctac       300
     accaacgtaa cctatcccat tacggtcaat ccgccgtttg ttcccacgga gaatccgacg       360
     ggttgttact cgctcacatt taatgttgat gaaagctggc tacaggaagg ccagacgcga       420
     attatttttg atggcgttaa ctcggcgttt catctgtggt gcaacgggcg ctgggtcggt       480
     tacggccagg acagtcgttt gccgtctgaa tttgacctga gcgcattttt acgcgccgga       540
     gaaaaccgcc tcgcggtgat ggtgctgcgt tggagtgacg gcagttatct ggaagatcag       600
     gatatgtggc ggatgagcgg cattttccgt gacgtctcgt tgctgcataa accgactaca       660
     caaatcagcg atttccatgt tgccactcgc tttaatgatg atttcagccg cgctgtactg       720
     gaggctgaag ttcagatgtg cggcgagttg cgtgactacc tacgggtaac agtttcttta       780
     tggcagggtg aaacgcaggt cgccagcggc accgcgcctt tcggcggtga aattatcgat       840
     gagcgtggtg gttatgccga tcgcgtcaca ctacgtctga acgtcgaaaa cccgaaactg       900
     tggagcgccg aaatcccgaa tctctatcgt gcggtggttg aactgcacac cgccgacggc       960
     acgctgattg aagcagaagc ctgcgatgtc ggtttccgcg aggtgcggat tgaaaatggt      1020
     ctgctgctgc tgaacggcaa gccgttgctg attcgaggcg ttaaccgtca cgagcatcat      1080
     cctctgcatg gtcaggtcat ggatgagcag acgatggtgc aggatatcct gctgatgaag      1140
     cagaacaact ttaacgccgt gcgctgttcg cattatccga accatccgct gtggtacacg      1200
     ctgtgcgacc gctacggcct gtatgtggtg gatgaagcca atattgaaac ccacggcatg      1260
     gtgccaatga atcgtctgac cgatgatccg cgctggctac cggcgatgag cgaacgcgta      1320
     acgcgaatgg tgcagcgcga tcgtaatcac ccgagtgtga tcatctggtc gctggggaat      1380
     gaatcaggcc acggcgctaa tcacgacgcg ctgtatcgct ggatcaaatc tgtcgatcct      1440
     tcccgcccgg tgcagtatga aggcggcgga gccgacacca cggccaccga tattatttgc      1500
     ccgatgtacg cgcgcgtgga tgaagaccag cccttcccgg ctgtgccgaa atggtccatc      1560
     aaaaaatggc tttcgctacc tggagagacg cgcccgctga tcctttgcga atacgcccac      1620
     gcgatgggta acagtcttgg cggtttcgct aaatactggc aggcgtttcg tcagtatccc      1680
     cgtttacagg gcggcttcgt ctgggactgg gtggatcagt cgctgattaa atatgatgaa      1740
     aacggcaacc cgtggtcggc ttacggcggt gattttggcg atacgccgaa cgatcgccag      1800
     ttctgtatga acggtctggt ctttgccgac cgcacgccgc atccagcgct gacggaagca      1860
     aaacaccagc agcagttttt ccagttccgt ttatccgggc aaaccatcga agtgaccagc      1920
     gaatacctgt tccgtcatag cgataacgag ctcctgcact ggatggtggc gctggatggt      1980
     aagccgctgg caagcggtga agtgcctctg gatgtcgctc cacaaggtaa acagttgatt      2040
     gaactgcctg aactaccgca gccggagagc gccgggcaac tctggctcac agtacgcgta      2100
     gtgcaaccga acgcgaccgc atggtcagaa gccgggcaca tcagcgcctg gcagcagtgg      2160
     cgtctggcgg aaaacctcag tgtgacgctc cccgccgcgt cccacgccat cccgcatctg      2220
     accaccagcg aaatggattt ttgcatcgag ctgggtaata agcgttggca atttaaccgc      2280
     cagtcaggct ttctttcaca gatgtggatt ggcgataaaa aacaactgct gacgccgctg      2340
     cgcgatcagt tcacccgtgc accgctggat aacgacattg gcgtaagtga agcgacccgc      2400
     attgacccta acgcctgggt cgaacgctgg aaggcggcgg gccattacca ggccgaagca      2460
     gcgttgttgc agtgcacggc agatacactt gctgatgcgg tgctgattac gaccgctcac      2520
     gcgtggcagc atcaggggaa aaccttattt atcagccgga aaacctaccg gattgatggt      2580
     agtggtcaaa tggcgattac cgttgatgtt gaagtggcga gcgatacacc gcatccggcg      2640
     cggattggcc tgaactgcca gctggcgcag gtagcagagc gggtaaactg gctcggatta      2700
     gggccgcaag aaaactatcc cgaccgcctt actgccgcct gttttgaccg ctgggatctg      2760
     ccattgtcag acatgtatac cccgtacgtc ttcccgagcg aaaacggtct gcgctgcggg      2820
     acgcgcgaat tgaattatgg cccacaccag tggcgcggcg acttccagtt caacatcagc      2880
     cgctacagtc aacagcaact gatggaaacc agccatcgcc atctgctgca cgcggaagaa      2940
     ggcacatggc tgaatatcga cggtttccat atggggattg gtggcgacga ctcctggagc      3000
     ccgtcagtat cggcggaatt ccagctgagc gccggtcgct accattacca gttggtctgg      3060
     tgtcaaaaat aataataa                                                    3078
//

Output file format

   The actions megamerger took in generating the merged sequence are
   written to an output file. Any actions that require a choice between
   using regions of the two sequences where they have a mismatch is marked
   with the word WARNING!. Where there was a mismatch between the two
   sequences, the merged sequence is written out in uppercase and the
   sequence whose mismatch region is furthest from the end of the sequence
   (the one with most remaining bases or residues) is used in the merged
   sequence.

   The name and description of the first input sequence is used for the
   name and description of the output sequence.

  Output files for usage example

  File: report

# Report of megamerger of: V00295 and V00296

V00295 overlap starts at 1
V00296 overlap starts at 3019

Using V00296 1-3018 as the initial sequence

Matching region V00295 1-60 : V00296 3019-3078
Length of match: 60

V00295 overlap ends at 60
V00296 overlap ends at 3078

Using V00295 61-1500 as the final sequence


  File: v00295.merged

>V00295 V00295.1 E. coli lacY gene (codes for lactose permease).
[encoded data, 4575 characters]
ggcttaccggaaaaaaga

   A merged sequence is written out.

   Where there has been a mismatch between the two sequences, the merged
   sequence is written out in uppercase and the sequence whose mismatch
   region is furthest from the edges of the sequence is used in the merged
   sequence.

   The name and description of the first input sequence is used for the
   name and description of the output sequence.

   A report of the merger is written out.

Data files

   None.

Notes

   It should be possible to merge sequences that are Mega bytes long.
   Compare this with the program merger which does a more accurate
   alignment of more divergent sequences using the Needle and Wunsch
   algorithm but which uses much more memory.

   megamerger takes two overlapping sequences and merges them into one
   sequence. It could thus be regarded as the opposite of what splitter
   does.

References

   None.

Warnings

   The sequences should ideally be identical in their region of overlap.
   If there are any mismatches between the two sequences then megamerger
   will still create a merged sequence, but you should check that this is
   what you required.

Diagnostic Error Messages

   None.

Exit status

   It always exits with status 0.

Known bugs

   None.

See also

   Program name     Description
   cons             Create a consensus sequence from a multiple alignment
   consambig        Create an ambiguous consensus sequence from a multiple
                    alignment
   merger           Merge two overlapping sequences

   Compare this with the program merger which does a more accurate
   alignment of more divergent sequences using the Needle and Wunsch
   algorithm but which uses much more memory.

   A graphical dotplot of the matches used in this merge can be displayed
   using the program dotpath.

Author(s)

   Gary Williams formerly at:
   MRC Rosalind Franklin Centre for Genomics Research Wellcome Trust
   Genome Campus, Hinxton, Cambridge, CB10 1SB, UK

   Please report all bugs to the EMBOSS bug team
   (emboss-bug (c) emboss.open-bio.org) not to the original author.

History

   Written Aug 2000 by Gary Williams.

Target users

   This program is intended to be used by everyone and everything, from
   naive users to embedded scripts.

Comments

   None
