The script aims to add info from a tsv/csv file to the attributes of a gff file. An attribute looks like that: tag=value1,value2 The first line of the tsv/csv must contains the headers, the other lines contain the values. The header becomes the tag of the new attribute. If the tag already exists, the value will be added only if the value does not already exists. The first column does not become an attribute, indeed it must contain the feature ID that will be used to know to which feature we will add the attributes.

--- example ---

* input.tsv:

ID	annot_type1  
gene1	annot_x  
cds1	annot_y  

* input.gff:

chr1	irgsp	gene	1000	2000	.	+	.	ID=gene1  
chr1	irgsp	CDS	2983	3268	.	+	.	ID=cds1  

* output.gff:

chr1	irgsp	gene	1000	2000	.	+	.	ID=gene1;annot_type1=annot_x  
chr1	irgsp	CDS	2983	3268	.	+	.	ID=cds1;annot_type1=annot_y  

SYNOPSIS --gff input.gff --tsv input.tsv [ -o output.gff3 ] --help


  • --gff

    STRING: Input GTF/GFF file.

  • --tsv

    STRING: Input tsv file

  • --csv

    BOLEAN: Inform the script that the tsv input file is actually a csv (coma-separated).

  • -v or --verbose

    BOLEAN: Add verbosity

  • -o or --output

    STRING: Output file. If no output file is specified, the output will be written to STDOUT. The result is in tabulate format.

  • --help or -h

    Display this helpful text.