| union

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

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

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

Standard (Mandatory) qualifiers | Allowed values | Default
--- | --- | ---
[-sequence] (Parameter 1) | (Gapped) sequence(s) filename and optional format, or reference (input USA) | Readable sequence(s) | Required
[-outseq] (Parameter 2) | Sequence filename and optional format (output USA) | Writeable sequence | <*>.format
Additional (Optional) qualifiers | Allowed values | Default
-overlapfile | Sequence overlaps output file (optional) | Output file | <*>.union
Advanced (Unprompted) qualifiers | Allowed values | Default
-feature | Use feature information | Boolean value Yes/No | No
-source | Create source features | Boolean value Yes/No | No
-findoverlap | Look for overlaps when joining | Boolean value Yes/No | No

## 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
pasteseq | Insert one sequence into another
revseq | Reverse and complement a nucleotide sequence
seqret | Reads and writes (returns) 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
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)
Informatics Division, 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