# vmatchselect(1)

## NAME

vmatchselect - sort and select matches

## SYNOPSIS

*vmatchselect* [options] matchfile

## DESCRIPTION

*vmatchselect* allows one to select interesting matches from the output of
vmatch as specified by user-defined criteria. It delivers matches of chosen
length, degeneracy or significance into further analysis routines.

*vmatchselect* removes from the input all those matches that are contained in
another match. To do this efficiently, the matches are sorted by their
position in the database sequence, and hence in the order in which the matches
are output, unless the user specifies otherwise. Moreover, the sequences of
the virtual suffix tree for which the match filewas produced can be clustered
according to the matches. The input for *vmatchselect* is a file produced by
vmatch, called a match file.

The output of *vmatchselect* goes to standard output and is sorted in
ascending order of the positions of the left instance of a match. Two matches
where the left instance occurs at the same position, are sorted in descending
order of their length. Two matches of the same length where the left instance
occurs in the same position, are sorted in ascending order of the position of
the right instance of the match.

*vmatchselect* provides a subset of the options of *vmatch*.
The main difference to *vmatch* is that *vmatchselect* gets the matches from
a match file, while *vmatch* computes the matches from scratch. Therefore
options specifying the index and/or the query sequences to be matched, as well
as options specifying how to match are not available in *vmatchselect*.
The options of *vmatchselect* have the same meaning as in the program *vmatch*.
Thus, for a description, see the corresponding documentation. Note that
*vmatchselect* also supports the option "-dbcluster". If *vmatchselect*
is called with this option, then it parses the given match file and performs
single linkage clustering based on the matches in this file.
Thus *vmatch* and *vmatchselect* can perform hierarchical clustering.
In a first step an initial set of matches with loose matching criteria is
computed, using *vmatch*. Then one clusters these matches by calling
*vmatchselect*. In a second round one applies more strict choices for the
matches by the using the options "-l", "-leastscore", "-evalue", or
"-identity", etc. This facilitates stepwise refinement of clusters without much
computational effort and no new index construction for the sequence of a
cluster. The output of *vmatchselect* is the same as the output of *vmatch*.

## OPTIONS

*-dbcluster* <args>::
  Cluster the database sequences.
               * first argument is percentage of shorter string
                 to be included in match,
               * second argument is percentage of larger string
                 to be included in match,
               * third optional argument is filenameprefix,
               * fourth optional argument is (minclustersize, maxclustersize)

*-nonredundant*::
  Generate file with non-redundant set of sequences; only works together
  with option *-dbcluster*.

*-selfun* <file>::
  Specify shared object file containing selection function.

*-l* <length>::
  Specify that match must have the given length, optionally specify minimum
  and maximum size of gaps between repeat instances.

*-leastscore* <score>::
  Specify the minimum score of a match.

*-evalue* <value>::
  Specify the maximum E-value of a match.

*-identity* <value>::
  Specify minimum identity of match in range [1..100%].

*-sort* <mode>::
  Sort the matches, additional argument is mode:
               la: ascending order of length
               ld: descending order of length
               ia: ascending order of first position
               id: descending order of first position
               ja: ascending order of second position
               jd: descending order of second position
               ea: ascending order of Evalue
               ed: descending order of Evalue
               sa: ascending order of score
               sd: descending order of score
               ida: ascending order of identity
               idd: descending order of identity

*-best* <n>::
  Show the best matches (those with smallest E-values), default is best 50.

*-s*::
  Show the alignment of matching sequences.

*-showdesc*::
  Show sequence description of match.

*-f*::
  Show filename where match occurs.

*-absolute*::
  Show absolute positions.

*-nodist*::
  Do not show distance of match.

*-noevalue*::
  Do not show E-value of match.

*-noscore*:: 
  Do not show score of match.

*-noidentity*::
  Do not show identity of match.

*-v*::
  Verbose mode.

*-version*::
  Show the version of the Vmatch package.

*-help*::
  Show help.

## SEE ALSO

vmatch(1)
