| union

## 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

Concatenate multiple sequences into a single sequence

## Description

union reads in several sequences, concatenates them and writes them out as a single sequence. The input is typically a list file containing references to multiple sequences or subsequences (regions of a sequence). Optionally, feature information will be used.

The output can have source features generated which document composite sequences in the EMBL/GenBank feature table. The -findoverlap optin checks for overlaps between adjacent joined regions and reports them in the overlap file.

## Usage

Here is a sample session with union

The file 'cds.list' contains a list of the regions making up the coding sequence of 'embl:x65923':

    % union
    Concatenate multiple sequences into a single sequence
    Input (gapped) sequence(s): @cds.list
    output sequence [x65921.fasta]:

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

## Command line arguments

    Concatenate multiple sequences into a single sequence
    Version: EMBOSS:6.2.0

       Standard (Mandatory) qualifiers:
      [-sequence]          seqall     (Gapped) sequence(s) filename and optional
                                      format, or reference (input USA)
      [-outseq]            seqout     [<sequence>.<format>] Sequence filename and
                                      optional format (output USA)

       Additional (Optional) qualifiers:
       -overlapfile        outfile    [*.union] Sequence overlaps output file
                                      (optional)

       Advanced (Unprompted) qualifiers:
       -feature            boolean    [N] Use feature information
       -source             boolean    [N] Create source features
       -findoverlap        boolean    [N] Look for overlaps when joining

       Associated qualifiers:

       "-sequence" associated qualifiers
       -sbegin1            integer    Start of each sequence to be used
       -send1              integer    End of each 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
       -sformat1           string     Input sequence format
       -sdbname1           string     Database name
       -sid1               string     Entryname
       -ufo1               string     UFO features
       -fformat1           string     Features format
       -fopenfile1         string     Features file name

       "-outseq" associated qualifiers
       -osformat2          string     Output seq format
       -osextension2       string     File name extension
       -osname2            string     Base file name
       -osdirectory2       string     Output directory
       -osdbname2          string     Database name to add
       -ossingle2          boolean    Separate file for each entry
       -oufo2              string     UFO features
       -offormat2          string     Features format
       -ofname2            string     Features file name
       -ofdirectory2       string     Output directory

       "-overlapfile" associated qualifiers
       -odirectory         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

Qualifier | Type | Description | Allowed values | Default
--- | --- | --- | --- | ---
Standard (Mandatory) qualifiers
[-sequence] (Parameter 1) | seqall | (Gapped) sequence(s) filename and optional format, or reference (input USA) | Readable sequence(s) | Required
[-outseq] (Parameter 2) | seqout | Sequence filename and optional format (output USA) | Writeable sequence | <*>.format
Additional (Optional) qualifiers
-overlapfile | outfile | Sequence overlaps output file (optional) | Output file | <*>.union
Advanced (Unprompted) qualifiers
-feature | boolean | Use feature information | Boolean value Yes/No | No
-source | boolean | Create source features | Boolean value Yes/No | No
-findoverlap | boolean | Look for overlaps when joining | Boolean value Yes/No | No
Associated qualifiers
"-sequence" associated seqall qualifiers
-sbegin1 -sbegin_sequence | integer | Start of each sequence to be used | Any integer value | 0
-send1 -send_sequence | integer | End of each sequence to be used | Any integer value | 0
-sreverse1 -sreverse_sequence | boolean | Reverse (if DNA) | Boolean value Yes/No | N
-sask1 -sask_sequence | boolean | Ask for begin/end/reverse | Boolean value Yes/No | N
-snucleotide1 -snucleotide_sequence | boolean | Sequence is nucleotide | Boolean value Yes/No | N
-sprotein1 -sprotein_sequence | boolean | Sequence is protein | Boolean value Yes/No | N
-slower1 -slower_sequence | boolean | Make lower case | Boolean value Yes/No | N
-supper1 -supper_sequence | boolean | Make upper case | Boolean value Yes/No | N
-sformat1 -sformat_sequence | string | Input sequence format | Any string |
-sdbname1 -sdbname_sequence | string | Database name | Any string |
-sid1 -sid_sequence | string | Entryname | Any string |
-ufo1 -ufo_sequence | string | UFO features | Any string |
-fformat1 -fformat_sequence | string | Features format | Any string |
-fopenfile1 -fopenfile_sequence | string | Features file name | Any string |
"-outseq" associated seqout qualifiers
-osformat2 -osformat_outseq | string | Output seq format | Any string |
-osextension2 -osextension_outseq | string | File name extension | Any string |
-osname2 -osname_outseq | string | Base file name | Any string |
-osdirectory2 -osdirectory_outseq | string | Output directory | Any string |
-osdbname2 -osdbname_outseq | string | Database name to add | Any string |
-ossingle2 -ossingle_outseq | boolean | Separate file for each entry | Boolean value Yes/No | N
-oufo2 -oufo_outseq | string | UFO features | Any string |
-offormat2 -offormat_outseq | string | Features format | Any string |
-ofname2 -ofname_outseq | string | Features file name | Any string |
-ofdirectory2 -ofdirectory_outseq | string | Output directory | Any string |
"-overlapfile" associated outfile qualifiers
-odirectory | string | Output directory | Any string |
General qualifiers
-auto | boolean | Turn off prompts | Boolean value Yes/No | N
-stdout | boolean | Write first file to standard output | Boolean value Yes/No | N
-filter | boolean | Read first file from standard input, write first file to standard output | Boolean value Yes/No | N
-options | boolean | Prompt for standard and additional values | Boolean value Yes/No | N
-debug | boolean | Write debug output to program.dbg | Boolean value Yes/No | N
-verbose | boolean | Report some/full command line options | Boolean value Yes/No | Y
-help | boolean | Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose | Boolean value Yes/No | N
-warning | boolean | Report warnings | Boolean value Yes/No | Y
-error | boolean | Report errors | Boolean value Yes/No | Y
-fatal | boolean | Report fatal errors | Boolean value Yes/No | Y
-die | boolean | Report dying program messages | Boolean value Yes/No | Y
-version | boolean | Report version number and exit | Boolean value Yes/No | N

## Input file format

The input can be any set of sequences in a file of multiple sequence entries or in a List file. The sequences are concatenated in the order in which they appear in the file.

### Input files for usage example

### File: cds.list

    tembl-id:X65921[782:856]
    tembl-id:X65921[951:1095]
    tembl-id:X65921[1557:1612]
    tembl-id:X65921[1787:1912]

You may find the program yank useful for creating List files.

## Output file format

### Output files for usage example

### File: x65921.fasta

    >X65921 X65921.1 H.sapiens fau 1 gene
    atgcagctctttgtccgcgcccaggagctacacaccttcgaggtgaccggccaggaaacg
    gtcgcccagatcaaggctcatgtagcctcactggagggcattgccccggaagatcaagtc
    gtgctcctggcaggcgcgcccctggaggatgaggccactctgggccagtgcggggtggag
    gccctgactaccctggaagtagcaggccgcatgcttggaggtaaagtccatggttccctg
    gcccgtgctggaaaagtgagaggtcagactcctaaggtggccaaacaggagaagaagaag
    aagaagacaggtcgggctaagcggcggatgcagtacaaccggcgctttgtcaacgttgtg
    cccacctttggcaagaagaagggccccaatgccaactcttaa

The result is a normal sequence file containing a single sequence resulting from the concatenation of the input sequences.

## Data files

None.

## Notes

union is most useful when the input sequences are specified in a "list file". A list file contain references to any number of sequences which are retrieved from some other file or database. Each sequence reference is a Uniform Sequence Address (USA) which can include the specification of sub-regions of the sequence, eg. `em:x65923[20:55]`). Specifying several such subregions in a sequence or sequences allows you to enter disjoint sequences to be joined.

## References

None.

## Warnings

None.

## Diagnostic Error Messages

None.

## Exit status

It always exits with status 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
aligncopy | Reads and writes alignments
aligncopypair | Reads and writes pairs from alignments
biosed | Replace or delete sequence sections
codcopy | Copy and reformat a codon usage table
cutseq | Removes a section from a sequence
degapseq | Removes non-alphabetic (e.g. gap) characters from sequences
descseq | Alter the name or description of a sequence
entret | Retrieves sequence entries from flatfile databases and files
extractalign | Extract regions from a sequence alignment
extractfeat | Extract features from sequence(s)
extractseq | Extract regions from a sequence
featcopy | Reads and writes a feature table
featreport | Reads and writes a feature table
listor | Write a list file of the logical OR of two sets of sequences
makenucseq | Create random nucleotide sequences
makeprotseq | Create random protein sequences
maskambignuc | Masks all ambiguity characters in nucleotide sequences with N
maskambigprot | Masks all ambiguity characters in protein sequences with X
maskfeat | Write a sequence with masked features
maskseq | Write a sequence with masked regions
newseq | Create a sequence file from a typed-in sequence
nohtml | Remove mark-up (e.g. HTML tags) from an ASCII text file
noreturn | Remove carriage return from ASCII files
nospace | Remove all whitespace from an ASCII text file
notab | Replace tabs with spaces in an ASCII text file
notseq | Write to file a subset of an input stream of sequences
nthseq | Write to file a single sequence from an input stream of sequences
nthseqset | Reads and writes (returns) one set of sequences from many
pasteseq | Insert one sequence into another
revseq | Reverse and complement a nucleotide sequence
seqret | Reads and writes (returns) sequences
seqretsetall | Reads and writes (returns) many sets of sequences
seqretsplit | Reads sequences and writes them to individual files
sizeseq | Sort sequences by size
skipredundant | Remove redundant sequences from an input set
skipseq | Reads and writes (returns) sequences, skipping first few
splitsource | Split sequence(s) into original source sequences
splitter | Split sequence(s) into smaller sequences
trimest | Remove poly-A tails from nucleotide sequences
trimseq | Remove unwanted characters from start and end of sequence(s)
trimspace | Remove extra whitespace from an ASCII text file
vectorstrip | Removes vectors from the ends of nucleotide sequence(s)
yank | Add a sequence reference (a full USA) to a list file

You may find the program yank useful for creating List files.

## Author(s)

Peter Rice (pmr © ebi.ac.uk)
European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

## History

Written (March 2002) - Peter Rice.

## Target users

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

## Comments

None