**What it does**

This tool uses an annotated genome object to collect labeled genomic
positions for the selected genomic signal.  Positive examples are
generated as they are annotated (e.g. transcription starts as annotated
5' ends of transcripts). We use the regions covered by transcripts in
annotation to generate negative examples at all consensus positions
unless they were labeled positive. For transcription start and cleavage
sites we use a subsample of the large set of non-positive examples to
obtain negative examples. The output is a file in signal prediction
format (SPF) providing the chromosome/contig name, position, strand and
the label of the example.

--------

**Example**

When chosing the signal "Acceptor Splice Site" and to ignore coding regions, the following data in GFF3 format::

   CHR1	TAIR8	gene	        11649	13714	.	-	.	ID=AT1G01030;Name=AT1G01030
   CHR1	TAIR8	mRNA	        11649	13714	.	-	.	ID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;Index=1
   CHR1	TAIR8	exon	        13335	13714	.	-	.	Parent=AT1G01030.1
   CHR1	TAIR8	exon	        11649	13173	.	-	.	Parent=AT1G01030.1

will lead to the following output in Signal Prediction Format (SPF)::

   ...
   CHR1	acc	label	13099	-	-1.000
   CHR1	acc	label	13105	-	-1.000
   CHR1	acc	label	13160	-	-1.000
   CHR1	acc	label	13165	-	-1.000
   CHR1	acc	label	13173	-	1.000
   CHR1	acc	label	13225	-	-1.000
   CHR1	acc	label	13321	-	-1.000
   CHR1	acc	label	13329	-	-1.000
   CHR1	acc	label	13334	-	-1.000
   ...

------

**About formats**


**AGS format** Annotation Gene Structure Object is an internal structure that
efficiently stores the information from a GFF3 file. Can be generated
with the GFF2Anno tool. The Anno2GFF converts it back to a GFF3 file.

**GIO format** Genome Information Object is an internal format used to
store relevant information about the considered genome (as extracted
from a FASTA file). Includes for example number and length of
chromosomes/contigs. File is generated by applying the GenomeTool.

**SPF format** Signal Prediction format is designed to provide
information such as labels or predictions for specific genomic
locations (with strand information). It requires exactly six
fields::

    1. chrom - The name of the chromosome (e.g. chr1, chrY_random).
    2. signalName - possible choices include tss, tis, acc, don, cdsStop, cleave.
    3. scoreName - possible choices include label, output, Conf, Conf_Cum
    4. chromPos - The position in the chromosome. (The first base in a chromosome is numbered 1.)
    5. strand - Defines the strand - either '+' or '-'.
    6. score - The score between -infinity and infinity. If scoreName is 'label', then the score should be either -1 or 1.
