ngsfilter : Assigns sequence records to the corresponding experiment/sample based on DNA tags and primers

To distinguish between sequences from different PCR products pooled in the same sequencing library, pairs of small DNA sequences (call tags, see the oligoTag command and its associated paper for more informations on the design of such tags) can be concatenated to the PCR primers.

ngsfilter takes as input sequence record files and a file describing the DNA tags and primers sequences used for each PCR sample. ngsfilter allows to demultiplex sequence records file by identifying these DNA tags and the primers.

ngsfilter requires a sample description file containing the description of the primers and tags associated to each sample (specified by option -t). The sample description file is a text file where each line describes one sample. Columns are separated by space or tab characters. Lines beginning with the ‘#’ character will be considered as commentary lines and will simply be ignored by ngsfilter.

Here is an example of a sample description file:

#exp   sample     tags                   forward_primer       reverse_primer              extra_information
gh     01_11a     cacgcagtc:cacgcatcg    GGGCAATCCTGAGCCAA    CCATTGAGTCTCTGCACCTATC    F @ community=Festuca; bucket=1; extraction=1;
gh     01_12a     cacgcatcg:cacgcagtc    GGGCAATCCTGAGCCAA    CCATTGAGTCTCTGCACCTATC    F @ community=Festuca; bucket=1; extraction=2;
gh     01_21a     cacgcgcat:cacgctact    GGGCAATCCTGAGCCAA    CCATTGAGTCTCTGCACCTATC    F @ community=Festuca; bucket=2; extraction=1;
gh     01_22a     cacgctact:cacgcgcat    GGGCAATCCTGAGCCAA    CCATTGAGTCTCTGCACCTATC    F @ community=Festuca; bucket=2; extraction=2;
gh     02_11a     cacgctgag:cacgtacga    GGGCAATCCTGAGCCAA    CCATTGAGTCTCTGCACCTATC    F @ community=Festuca; bucket=1; extraction=1;
gh     02_12a     cacgtacga:cacgctgag    GGGCAATCCTGAGCCAA    CCATTGAGTCTCTGCACCTATC    F @ community=Festuca; bucket=1; extraction=2;

The results consist of sequence records, printed on the standard output, with their sequence trimmed of the primers and tags and annotated with the corresponding experiment and sample (and possibly some extra informations). Sequences for which the tags and primers have not been well identified, and which are thus unassigned to any sample, are stored in a file if option -u is specified and tagged as erroneous sequences (error attribute) by ngsfilter.

ngsfilter specific options

-t, --tag-list

Used to specify the file containing the samples description (with tags, primers, sample names,...)

-u, --unidentified

Filename used to store the sequences unassigned to any sample

-e, --error

Used to specify the number of errors allowed for matching primers [default = 2]

Options to specify input format

Restrict the analysis to a sub-part of the input file

--skip <N>

The N first sequence records of the file are discarded from the analysis and not reported to the output file

--only <N>

Only the N next sequence records of the file are analyzed. The following sequences in the file are neither analyzed, neither reported to the output file. This option can be used conjointly with the –skip option.

Sequence annotated format

--genbank

Input file is in genbank format.

--embl

Input file is in embl format.

Specifying the sequence type

--nuc

Input file contains nucleic sequences.

--prot

Input file contains protein sequences.

Options to specify output format

Standard output format

--fasta-output

Output sequences in OBITools fasta format

--fastq-output

Output sequences in Sanger fastq format

Generating an ecoPCR database

--ecopcrdb-output=<PREFIX_FILENAME>

Creates an ecoPCR database from sequence records results

Miscellaneous option

--uppercase

Print sequences in upper case (default is lower case)

Common options

-h, --help

Shows this help message and exits.

--DEBUG

Sets logging in debug mode.