PROGRAM: clean_genes
DESCRIPTION: Given a GFF describing a set of genes and a corresponding
multiple alignment, output a new GFF with only those
genes that meet certain "cleanliness" criteria. The
coordinates in the GFF are assumed to correspond to
the reference sequence in the alignment, which is
assumed to be the first one listed. Default behavior
is simply to require that all annotated start/stop codons and
splice sites are valid in the reference sequence (GT-AG,
GC-AG, and AT-AC splice sites are allowed). This can
be used with an "alignment" consisting of a single
sequence to filter out incorrect annotations. Options
are available to impose additional criteria as well,
mostly having to do with conservation across species
(see the '--conserved' option in particular).
USAGE: clean_genes [options]
OPTIONS:
--start, -s
Require conserved start codons (all species)
--stop, -t
Require conserved stop codons (all species)
--splice, -l
Require conserved splice sites (all species). By default,
only GT-AG, GC-AG, and AT-AC splice sites are allowed (see also
--splice-strict)
--fshift, -f
Require that no frame-shift gap is present in any species. Frame
shifts are evaluated with respect to the reference sequence. Gaps
that have non-multiple-of-three lengths are allowed if
compensatory gaps occur nearby (see source code for details).
--nonsense, -n
Require that no premature stop codon is present in any species.
--conserved, -c
Implies --start, --stop, --splice, --fshift, and --nonsense.
Recommended option for cross-species analysis.
--N-limit, -N
Maximum fraction of bases aligned to CDSs that are Ns in any
species ( must be between 0 and 1). Default is 0.05. Set to 1
to allow any number of Ns.
--clean-gaps, -e
Require all cds gaps to be multiples of three in length. Can be
used with --conserved.
--indel-strict, -I
Implies --clean_gaps, usually used with --conserved. Prohibits
overlapping cds gaps in different sequences, gaps near cds
boundaries, and gaps in the reference sequence within and between
flanking features (splice sites, etc.; see code for details).
Designed for use in training a phylo-HMM with an indel model.
--splice-strict, -C
Implies --splice. Allow only GT-AG canonical splice sites. Useful
when training a gene finder with a simple model for splice sites.
--groupby, -g
Group features according to specified tag (default
"transcript_id"). If any feature within a group fails, the
entire group will be discarded. By choosing to group features
according to different criteria, you can make the program
"clean" the data set at different levels. For example, to
clean at the level of individual exons, add a tag like
"exon_id" to indicate exons (see the program "refeature"),
and then invoke clean_genes with "--groupby exon_id".
--msa-format, -i FASTA|PHYLIP|MPM|MAF|SS
Alignment file format. Default is to guess format from file
contents.
--refseq, -r
(Required with --msa-format MAF) Complete reference
sequence for alignment (FASTA format).
--offset5, -o
(Default 0) Offset of canonical "GT" with respect to boundary
on *intron side* of annotated 5' splice sites. Useful with
annotations that describe a window around the canonical splice site.
--offset3, -p
(Default 0) Offset of canonical "AG" with respect to boundary
on intron side of annotated 3' splice sites.
--log, -L
Write human-readable log to specified file.
--machine-log, -M
Like --log, but produces more concise, machine-readable log.
--stats, -S
Write statistics on retained and discarded features to specified file.
--discards, -d
Write discarded features to specified file.
--no-output, -x
Suppress output of "cleaned" features to stdout. Useful if only
log file and/or stats are of interest.
--help, -h
Print this help message.
NOTES: Feature types are defined as follows.
coding exon "CDS"
start codon "start_codon"
stop codon "stop_codon"
5' splice site "5'splice"
3' splice site "3'splice"
In addition, splice sites in UTR can be separately designated as
"5'splice_utr" and "3'splice_utr". Errors in these sites will be
given a different code in the log files, which can be useful for
tracking purposes.
If evaluation is done at the level of individual exons (see
--groupby), then splice sites are considered independently
rather than in the context of introns. As a result, the exons flanking
a GT-AC or AT-AG intron might (misleadingly) be considered "clean".
With --fshift and --nonsense, it is possible for entries
to pass through that have stop codons in the frame of the
*reference* sequence, although they do not have any in their
own frame. Use --clean-gaps instead to guarantee that no stop
codons occur in any sequence in the frame of the reference
sequence.