Skip to content
Commits on Source (3)
......@@ -24,7 +24,7 @@ Most of the nucleotide based commands and options in USEARCH version 7 are suppo
## Getting Help
If you can't find an answer in the [VSEARCH documentation](https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch_manual.pdf), please visit the [VSEARCH Web Forum](https://groups.google.com/forum/#!forum/vsearch-forum) to post a question or start a discussion.
If you can't find an answer in the [VSEARCH documentation](https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch_manual.pdf), please visit the [VSEARCH Web Forum](https://groups.google.com/forum/#!forum/vsearch-forum) to post a question or start a discussion.
## Example
......@@ -37,9 +37,9 @@ In the example below, VSEARCH will identify sequences in the file database.fsa t
**Source distribution** To download the source distribution from a [release](https://github.com/torognes/vsearch/releases) and build the executable and the documentation, use the following commands:
```
wget https://github.com/torognes/vsearch/archive/v2.8.5.tar.gz
tar xzf v2.8.5.tar.gz
cd vsearch-2.8.5
wget https://github.com/torognes/vsearch/archive/v2.9.0.tar.gz
tar xzf v2.9.0.tar.gz
cd vsearch-2.9.0
./autogen.sh
./configure
make
......@@ -70,36 +70,36 @@ Binary distributions are provided for x86-64 systems running GNU/Linux, macOS (v
Download the appropriate executable for your system using the following commands if you are using a Linux x86_64 system:
```sh
wget https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch-2.8.5-linux-x86_64.tar.gz
tar xzf vsearch-2.8.5-linux-x86_64.tar.gz
wget https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch-2.9.0-linux-x86_64.tar.gz
tar xzf vsearch-2.9.0-linux-x86_64.tar.gz
```
Or these commands if you are using a Linux ppc64le system:
```sh
wget https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch-2.8.5-linux-ppc64le.tar.gz
tar xzf vsearch-2.8.5-linux-ppc64le.tar.gz
wget https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch-2.9.0-linux-ppc64le.tar.gz
tar xzf vsearch-2.9.0-linux-ppc64le.tar.gz
```
Or these commands if you are using a Mac:
```sh
wget https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch-2.8.5-macos-x86_64.tar.gz
tar xzf vsearch-2.8.5-macos-x86_64.tar.gz
wget https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch-2.9.0-macos-x86_64.tar.gz
tar xzf vsearch-2.9.0-macos-x86_64.tar.gz
```
Or if you are using Windows, download and extract (unzip) the contents of this file:
```
https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch-2.8.5-win-x86_64.zip
https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch-2.9.0-win-x86_64.zip
```
Linux and Mac: You will now have the binary distribution in a folder called `vsearch-2.8.5-linux-x86_64` or `vsearch-2.8.5-macos-x86_64` in which you will find three subfolders `bin`, `man` and `doc`. We recommend making a copy or a symbolic link to the vsearch binary `bin/vsearch` in a folder included in your `$PATH`, and a copy or a symbolic link to the vsearch man page `man/vsearch.1` in a folder included in your `$MANPATH`. The PDF version of the manual is available in `doc/vsearch_manual.pdf`.
Linux and Mac: You will now have the binary distribution in a folder called `vsearch-2.9.0-linux-x86_64` or `vsearch-2.9.0-macos-x86_64` in which you will find three subfolders `bin`, `man` and `doc`. We recommend making a copy or a symbolic link to the vsearch binary `bin/vsearch` in a folder included in your `$PATH`, and a copy or a symbolic link to the vsearch man page `man/vsearch.1` in a folder included in your `$MANPATH`. The PDF version of the manual is available in `doc/vsearch_manual.pdf`.
Windows: You will now have the binary distribution in a folder called `vsearch-2.8.5-win-x86_64`. The vsearch executable is called `vsearch.exe`. The manual in PDF format is called `vsearch_manual.pdf`.
Windows: You will now have the binary distribution in a folder called `vsearch-2.9.0-win-x86_64`. The vsearch executable is called `vsearch.exe`. The manual in PDF format is called `vsearch_manual.pdf`.
**Documentation** The VSEARCH user's manual is available in the `man` folder in the form of a [man page](https://github.com/torognes/vsearch/blob/master/man/vsearch.1). A pdf version ([vsearch_manual.pdf](https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch_manual.pdf)) will be generated by `make`. To install the manpage manually, copy the `vsearch.1` file or a create a symbolic link to `vsearch.1` in a folder included in your `$MANPATH`. The manual in both formats is also available with the binary distribution. The manual in PDF form ([vsearch_manual.pdf](https://github.com/torognes/vsearch/releases/download/v2.8.5/vsearch_manual.pdf)) is also attached to the latest [release](https://github.com/torognes/vsearch/releases).
**Documentation** The VSEARCH user's manual is available in the `man` folder in the form of a [man page](https://github.com/torognes/vsearch/blob/master/man/vsearch.1). A pdf version ([vsearch_manual.pdf](https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch_manual.pdf)) will be generated by `make`. To install the manpage manually, copy the `vsearch.1` file or a create a symbolic link to `vsearch.1` in a folder included in your `$MANPATH`. The manual in both formats is also available with the binary distribution. The manual in PDF form ([vsearch_manual.pdf](https://github.com/torognes/vsearch/releases/download/v2.9.0/vsearch_manual.pdf)) is also attached to the latest [release](https://github.com/torognes/vsearch/releases).
## Plugins, packages, and wrappers
......
......@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
AC_INIT([vsearch], [2.8.5], [torognes@ifi.uio.no])
AC_INIT([vsearch], [2.9.0], [torognes@ifi.uio.no])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([subdir-objects])
AC_LANG([C++])
......
vsearch (2.9.0-1) unstable; urgency=medium
* Team upload.
* New upstream version.
- Added the fastq_join command
* d/u/metadata: Added reference to paper in PeerJ.
-- Steffen Moeller <moeller@debian.org> Mon, 15 Oct 2018 19:26:53 +0200
vsearch (2.8.5-1) unstable; urgency=medium
* New upstream version
......
Reference:
- Author: >
Torbjørn Rognes and Tomáš Flouri and Ben Nichols and
Christopher Quince and Frédéric Mahé
Journal: PeerJ
Title: >
VSEARCH: a versatile open source tool for metagenomics
URL: https://peerj.com/articles/2584/
ePrint: https://peerj.com/articles/2584.pdf
Volume: 4
Pages: e2584
DOI: https://doi.org/10.7717/peerj.2584
Registry:
- Name: OMICtools
Entry: OMICS_14601
......
.\" ============================================================================
.TH vsearch 1 "September 26, 2018" "version 2.8.5" "USER COMMANDS"
.TH vsearch 1 "October 10, 2018" "version 2.9.0" "USER COMMANDS"
.\" ============================================================================
.SH NAME
vsearch \(em chimera detection, clustering, dereplication and
......@@ -55,6 +55,10 @@ FASTA/FASTQ file processing:
\-\-fastaout_discarded | \-\-fastqout | \-\-fastqout_discarded)
\fIoutputfile\fR [\fIoptions\fR]
.PP
\fBvsearch\fR \-\-fastq_join \fIfastqfile\fR \-\-reverse
\fIfastqfile\fR (\-\-fastaout | \-\-fastqout) \fIoutputfile\fR
[\fIoptions\fR]
.PP
\fBvsearch\fR \-\-fastq_mergepairs \fIfastqfile\fR \-\-reverse
\fIfastqfile\fR (\-\-fastaout | \-\-fastqout |
\-\-fastaout_notmerged_fwd | \-\-fastaout_notmerged_rev |
......@@ -1091,6 +1095,22 @@ Shorten and/or filter sequences in the given FASTQ file. Similar to
the \-\-fastx_filter command, but works only on FASTQ files. See
\-\-fastx_filter for details.
.TP
.BI \-\-fastq_join\0 filename
Join paired-end sequence reads into one sequence and add a gap between
them using a padding sequence. The sequences are not merged as with
the fastq_mergepairs command, but simply joined with a gap. The
forward reads are specified as the argument to this option and the
reverse reads are specified with the \-\-reverse option. The resulting
sequences consist of the forward read, the padding sequence and the
reverse complement of the reverse read. The padding sequence is
specified with the \-\-join_padgap option and the padding quality is
specified with the \-\-join_padgapq option. The default padding
sequence string is NNNNNNNN and the default padding quality string is
IIIIIIII, corresponding to a base quality score of 40 (a very high
quality score with error probability 0.0001). The joined sequences are
output to the file(s) specified with the \-\-fastaout or \-\-fastqout
options.
.TP
.BI \-\-fastq_maxdiffs\~ "positive integer"
When using \-\-fastq_mergepairs, specify the maximum number of
non-matching nucleotides allowed in the overlap region. That option
......@@ -1354,6 +1374,16 @@ file specified with the \-\-fastaout and/or \-\-fastqout options. If
the input file is in FASTA format, the output can not be written back
to a FASTQ file due to missing base quality scores.
.TP
.BI \-\-join_padgap\~ string
When running \-\-fastq_join, use the \fIstring\fR as a sequence
padding string. The default is NNNNNNNN (8 N's).
.TP
.BI \-\-join_padgapq\~ string
When running \-\-fastq_join, use the \fIstring\fR as a quality padding
string. The default is a string of I's equal in length to the sequence
padding string. The letter I corresponds to a base quality score of 40
indicating a very high quality base with error probability of 0.0001.
.TP
.BI \-\-label_suffix\~ string
When using \-\-fastx_revcomp or \-\-fastq_mergepairs, add the suffix
\fIstring\fR to sequence headers.
......@@ -1389,8 +1419,8 @@ Please see the description of the same option under Chimera detection
for details.
.TP
.BI \-\-reverse \0filename
When using \-\-fastq_mergepairs, specify the FASTQ file containing
containing the reverse reads.
When using \-\-fastq_mergepairs or \-\-fastq_join, specify the FASTQ
file containing containing the reverse reads.
.TP
.B \-\-xsize
Strip abundance information from the headers when writing the output
......@@ -3418,6 +3448,14 @@ are in effect.
.BR v2.8.5\~ "released September 26th, 2018"
Fixed a bug in fastq_eestats2 that caused the values for large lengths
to be much too high when the input sequences had varying lengths.
.TP
.BR v2.8.6\~ "released October 9th, 2018"
Fixed a bug introduced in version 2.8.2 that caused derep_fulllength
to include the full FASTA header in its output instead of stopping at
the first space (unless the notrunclabels option is in effect).
.TP
.BR v2.9.0\~ "released October 10th, 2018"
Added the fastq_join command.
.RE
.LP
.\" ============================================================================
......
......@@ -30,6 +30,7 @@ dynlibs.h \
eestats.h \
fasta.h \
fastq.h \
fastqjoin.h \
fastqops.h \
fastx.h \
kmerhash.h \
......@@ -108,6 +109,7 @@ dynlibs.cc \
eestats.cc \
fasta.cc \
fastq.cc \
fastqjoin.cc \
fastqops.cc \
fastx.cc \
kmerhash.cc \
......
......@@ -298,7 +298,7 @@ void derep_fulllength()
double median = 0.0;
double average = 0.0;
while(fastx_next(h, 0, chrmap_no_change))
while(fastx_next(h, ! opt_notrunclabels, chrmap_no_change))
{
int64_t seqlen = fastx_get_sequence_length(h);
......
/*
VSEARCH: a versatile open source tool for metagenomics
Copyright (C) 2014-2018, Torbjorn Rognes, Frederic Mahe and Tomas Flouri
All rights reserved.
Contact: Torbjorn Rognes <torognes@ifi.uio.no>,
Department of Informatics, University of Oslo,
PO Box 1080 Blindern, NO-0316 Oslo, Norway
This software is dual-licensed and available under a choice
of one of two licenses, either under the terms of the GNU
General Public License version 3 or the BSD 2-Clause License.
GNU General Public License version 3
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
The BSD 2-Clause License
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
#include "vsearch.h"
/* static variables */
FILE * join_fileopenw(char * filename)
{
FILE * fp = 0;
fp = fopen_output(filename);
if (!fp)
fatal("Unable to open file for writing (%s)", filename);
return fp;
}
void fastq_join()
{
FILE * fp_fastqout = 0;
FILE * fp_fastaout = 0;
fastx_handle fastq_fwd = 0;
fastx_handle fastq_rev = 0;
uint64_t total = 0;
/* check input and options */
if (!opt_reverse)
fatal("No reverse reads file specified with --reverse");
if ((!opt_fastqout) && (!opt_fastaout))
fatal("No output files specified");
char * padgap = 0;
char * padgapq = 0;
if (opt_join_padgap)
padgap = xstrdup(opt_join_padgap);
else
padgap = xstrdup("NNNNNNNN");
uint64_t padlen = strlen(padgap);
if (opt_join_padgapq)
padgapq = xstrdup(opt_join_padgapq);
else
{
padgapq = (char *) xmalloc(padlen + 1);
for(uint64_t i = 0; i < padlen; i++)
padgapq[i] = 'I';
padgapq[padlen] = 0;
}
if (padlen != strlen(padgapq))
fatal("Strings given by --join_padgap and --join_padgapq differ in length");
/* open input files */
fastq_fwd = fastq_open(opt_fastq_join);
fastq_rev = fastq_open(opt_reverse);
/* open output files */
if (opt_fastqout)
fp_fastqout = join_fileopenw(opt_fastqout);
if (opt_fastaout)
fp_fastaout = join_fileopenw(opt_fastaout);
/* main */
uint64_t filesize = fastq_get_size(fastq_fwd);
progress_init("Joining reads", filesize);
/* do it */
total = 0;
uint64_t alloc = 0;
uint64_t len = 0;
char * seq = 0;
char * qual = 0;
while(fastq_next(fastq_fwd, 0, chrmap_no_change))
{
if (! fastq_next(fastq_rev, 0, chrmap_no_change))
fatal("More forward reads than reverse reads");
uint64_t fwd_seq_length = fastq_get_sequence_length(fastq_fwd);
uint64_t rev_seq_length = fastq_get_sequence_length(fastq_rev);
/* allocate enough mem */
uint64_t needed = fwd_seq_length + rev_seq_length + padlen + 1;
if (alloc < needed)
{
seq = (char *) xrealloc(seq, needed);
qual = (char *) xrealloc(qual, needed);
alloc = needed;
}
/* join them */
strcpy(seq, fastq_get_sequence(fastq_fwd));
strcpy(qual, fastq_get_quality(fastq_fwd));
len = fwd_seq_length;
strcpy(seq + len, padgap);
strcpy(qual + len, padgapq);
len += padlen;
/* reverse complement reverse read */
char * rev_seq = fastq_get_sequence(fastq_rev);
char * rev_qual = fastq_get_quality(fastq_rev);
for(uint64_t i = 0; i < rev_seq_length; i++)
{
uint64_t rev_pos = rev_seq_length - 1 - i;
seq[len] = chrmap_complement[(int)(rev_seq[rev_pos])];
qual[len] = rev_qual[rev_pos];
len++;
}
seq[len] = 0;
qual[len] = 0;
/* write output */
if (opt_fastqout)
{
fastq_print_general(fp_fastqout,
seq,
len,
fastq_get_header(fastq_fwd),
fastq_get_header_length(fastq_fwd),
qual,
0,
total + 1,
0,
0);
}
if (opt_fastaout)
{
fasta_print_general(fp_fastaout,
0,
seq,
len,
fastq_get_header(fastq_fwd),
fastq_get_header_length(fastq_fwd),
0,
total + 1,
-1,
-1,
0,
0);
}
total++;
progress_update(fastq_get_position(fastq_fwd));
}
progress_done();
if (fastq_next(fastq_rev, 0, chrmap_no_change))
fatal("More reverse reads than forward reads");
fprintf(stderr,
"%" PRIu64 " pairs joined\n",
total);
/* clean up */
if (opt_fastaout)
fclose(fp_fastaout);
if (opt_fastqout)
fclose(fp_fastqout);
fastq_close(fastq_rev);
fastq_rev = 0;
fastq_close(fastq_fwd);
fastq_fwd = 0;
free(seq);
free(qual);
free(padgap);
free(padgapq);
}
/*
VSEARCH: a versatile open source tool for metagenomics
Copyright (C) 2014-2018, Torbjorn Rognes, Frederic Mahe and Tomas Flouri
All rights reserved.
Contact: Torbjorn Rognes <torognes@ifi.uio.no>,
Department of Informatics, University of Oslo,
PO Box 1080 Blindern, NO-0316 Oslo, Norway
This software is dual-licensed and available under a choice
of one of two licenses, either under the terms of the GNU
General Public License version 3 or the BSD 2-Clause License.
GNU General Public License version 3
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
The BSD 2-Clause License
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
void fastq_join();
......@@ -108,6 +108,7 @@ char * opt_fastq_convert;
char * opt_fastq_eestats;
char * opt_fastq_eestats2;
char * opt_fastq_filter;
char * opt_fastq_join;
char * opt_fastq_mergepairs;
char * opt_fastq_stats;
char * opt_fastqout;
......@@ -118,6 +119,8 @@ char * opt_fastx_filter;
char * opt_fastx_mask;
char * opt_fastx_revcomp;
char * opt_fastx_subsample;
char * opt_join_padgap;
char * opt_join_padgapq;
char * opt_label_suffix;
char * opt_log;
char * opt_makeudb_usearch;
......@@ -661,6 +664,7 @@ void args_init(int argc, char **argv)
opt_fastq_eestats = 0;
opt_fastq_eestats2 = 0;
opt_fastq_filter = 0;
opt_fastq_join = 0;
opt_fastq_maxdiffpct = 100.0;
opt_fastq_maxdiffs = 10;
opt_fastq_maxee = DBL_MAX;
......@@ -713,6 +717,8 @@ void args_init(int argc, char **argv)
opt_iddef = 2;
opt_idprefix = 0;
opt_idsuffix = 0;
opt_join_padgap = 0;
opt_join_padgapq = 0;
opt_label_suffix = 0;
opt_leftjust = 0;
opt_length_cutoffs_increment = 50;
......@@ -1024,6 +1030,9 @@ void args_init(int argc, char **argv)
{"sintax_cutoff", required_argument, 0, 0 },
{"tabbedout", required_argument, 0, 0 },
{"fastq_maxdiffpct", required_argument, 0, 0 },
{"fastq_join", required_argument, 0, 0 },
{"join_padgap", required_argument, 0, 0 },
{"join_padgapq", required_argument, 0, 0 },
{ 0, 0, 0, 0 }
};
......@@ -1870,6 +1879,18 @@ void args_init(int argc, char **argv)
opt_fastq_maxdiffpct = args_getdouble(optarg);
break;
case 199:
opt_fastq_join = optarg;
break;
case 200:
opt_join_padgap = optarg;
break;
case 201:
opt_join_padgapq = optarg;
break;
default:
fatal("Internal error in option parsing");
}
......@@ -1957,6 +1978,8 @@ void args_init(int argc, char **argv)
commands++;
if (opt_sintax)
commands++;
if (opt_fastq_join)
commands++;
if (commands > 1)
......@@ -2331,6 +2354,16 @@ void cmd_help()
" Output\n"
" --output FILENAME output to specified FASTA file\n"
"\n"
"Paired-end reads joining\n"
" --fastq_join FILENAME join paired-end reads into one sequence with gap\n"
" Data\n"
" --reverse FILENAME specify FASTQ file with reverse reads\n"
" --join_padgap STRING sequence string used for padding (NNNNNNNN)\n"
" --join_padgapq STRING quality string used for padding (IIIIIIII)\n"
" Output\n"
" --fastaout FILENAME FASTA output filename for joined sequences\n"
" --fastqout FILENAME FASTQ output filename for joined sequences\n"
"\n"
"Paired-end reads merging\n"
" --fastq_mergepairs FILENAME merge paired-end reads into one sequence\n"
" Data\n"
......@@ -2696,6 +2729,7 @@ void cmd_none()
"vsearch --fastq_convert FILENAME --fastqout FILENAME --fastq_ascii 64\n"
"vsearch --fastq_eestats FILENAME --output FILENAME\n"
"vsearch --fastq_eestats2 FILENAME --output FILENAME\n"
"vsearch --fastq_join FILENAME --reverse FILENAME --fastqout FILENAME\n"
"vsearch --fastq_mergepairs FILENAME --reverse FILENAME --fastqout FILENAME\n"
"vsearch --fastq_stats FILENAME --log FILENAME\n"
"vsearch --fastx_filter FILENAME --fastaout FILENAME --fastq_trunclen 100\n"
......@@ -2939,6 +2973,8 @@ int main(int argc, char** argv)
cmd_fastq_eestats();
else if (opt_fastq_eestats2)
cmd_fastq_eestats2();
else if (opt_fastq_join)
fastq_join();
else if (opt_rereplicate)
cmd_rereplicate();
else if (opt_version)
......
......@@ -211,6 +211,7 @@
#include "udb.h"
#include "kmerhash.h"
#include "sintax.h"
#include "fastqjoin.h"
/* options */
......@@ -260,6 +261,7 @@ extern char * opt_fastq_convert;
extern char * opt_fastq_eestats2;
extern char * opt_fastq_eestats;
extern char * opt_fastq_filter;
extern char * opt_fastq_join;
extern char * opt_fastq_mergepairs;
extern char * opt_fastq_stats;
extern char * opt_fastqout;
......@@ -270,6 +272,8 @@ extern char * opt_fastx_filter;
extern char * opt_fastx_mask;
extern char * opt_fastx_revcomp;
extern char * opt_fastx_subsample;
extern char * opt_join_padgap;
extern char * opt_join_padgapq;
extern char * opt_label_suffix;
extern char * opt_log;
extern char * opt_makeudb_usearch;
......