Mercurial > repos > abims-sbr > gffalign
changeset 0:294f5ba28746 draft
"planemo upload for repository https://github.com/abims-sbr/tools-abims/tools/gffalign commit d8aa0e49353e78e5fd772498a1fcf591e2744f99"
author | abims-sbr |
---|---|
date | Mon, 30 Nov 2020 18:20:46 +0000 |
parents | |
children | afed7e0cf69e |
files | GFFalign.py GFFalign.xml test-data/genome_aln.tab test-data/output.gff test-data/query.gff test-data/target.gff |
diffstat | 6 files changed, 545 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GFFalign.py Mon Nov 30 18:20:46 2020 +0000 @@ -0,0 +1,337 @@ +#!/usr/bin/python3 + +import argparse +import os +import gffutils +from Bio import SeqIO + + +class GeneComp: + # This cass aims to discover the position of the genes in the alignment + # and to extract informations on the genes characteristics + + def __init__(self, ccgene, qstart, qend, otgene, dstart, dend, extract, tol, gattr, output=None): + # d* / ot* are the db result, q* / cc the query + # gene are the gene from maf-tab file + # start, end are the coordinates ''' + self.otbeg = int(otgene.start) - dstart + self.otend = int(otgene.end) - dstart + self.ccbeg = int(ccgene.start) - qstart + self.ccend = int(ccgene.end) - qstart + self.tol = tol # how much tolerance in nucleotides + self.ccname = ccgene.chrom + self.otname = otgene.chrom + self.q_outstart = qstart+self.otbeg + self.q_outend = qstart+self.otend + self.genelist = [] + self.qstart = qstart + if extract: + self.fastafile = extract[0] + self.fastaout = extract[1] + self.output = output + self.out = "" + self.gattr = f"New_annotation='{gattr}'" + + def is_equal(self): + if (self.otbeg - self.tol) <= self.ccbeg <= (self.otbeg + self.tol) and (self.otend - self.tol) <= self.ccend <= (self.otend + self.tol): + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=confirmed" + return self.out + + def is_shorter(self): + if (self.otbeg + self.tol) < self.ccbeg and (self.otend - self.tol) > self.ccend: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=shorter" + return self.out + elif (self.otbeg - self.tol) <= self.ccbeg <= (self.otbeg + self.tol) and (self.otend - self.tol) > self.ccend: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=shorter_right" + return self.out + elif (self.otbeg + self.tol) < self.ccbeg and (self.otend - self.tol) <= self.ccend <= (self.otend + self.tol): + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=shorter_left" + return self.out + + def is_longer(self): + if (self.otbeg - self.tol) > self.ccbeg and (self.otend + self.tol) < self.ccend: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=longer" + return self.out + elif (self.otbeg - self.tol) <= self.ccbeg <= (self.otbeg + self.tol) and (self.otend + self.tol) < self.ccend: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=longer_right" + return self.out + elif (self.otbeg - self.tol) > self.ccbeg and (self.otend - self.tol) <= self.ccend <= (self.otend + self.tol): + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=longer_left" + return self.out + + def is_offset(self): + if (self.otbeg + self.tol) < self.ccbeg < (self.otend - self.tol) and (self.otend + self.tol) < self.ccend: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=offset_right" + return self.out + if (self.otbeg - self.tol) > self.ccbeg and (self.otbeg - self.tol) < self.ccend < self.otend + self.tol: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=offset_left" + return self.out + + def is_different(self): + if self.otbeg - self.tol > self.ccend or self.otend + self.tol < self.otbeg: + self.out = f"{self.ccname}\tprediction\tgene\t{self.q_outstart}\t{self.q_outend}\t.\t{self.qstart}\t.\tID={self.ccname};{self.gattr};Note=new" + return self.out + + def extract_fasta(self): + with open(self.fastaout,"a") as fileout: + with open(self.fastafile) as filefasta: + for record in SeqIO.parse(filefasta,"fasta"): + if record.id == self.ccname: + fileout.write(f">{self.ccname}_{self.q_outstart}:{self.q_outend}\n{record.seq[self.q_outstart:self.q_outend]}\n") + + # def extract_stout(self): + # with open(self.fastafile) as filefasta: + # for record in SeqIO.parse(filefasta,"fasta"): + # if record.id == self.ccname: + # print(f">{self.ccname}_{self.q_outstart}:{self.q_outend}\n{record.seq[self.q_outstart:self.q_outend]}") + + + #def __str__(self): + # return f"{self.ccname}\t{self.q_outstart}\t{self.q_outend}" + + + def fout(self): + try: + if self.__class__.fout.called: + with open(self.output,"a") as fileout: + fileout.write(self.out+"\n") + except AttributeError: + try: + if os.path.isfile(self.output): + os.remove(self.output) + with open(self.output,"a") as fileout: + #fileout.write("##gff-version 3\n") + fileout.write(f"##gff-version 3\n{self.out}\n") + self.__class__.fout.called = True + self.__class__.fout(self) + except TypeError: + pass + + +def diff_gene(query_genes, target_genes, dstart, dend, qstart, qend, query_db): + # are the two genes the same? + if args.extract: + extract = args.extract + else: + extract = None + + if args.tollerance: + tol = args.tollerance + else: + tol = 30 + + + for otgene in target_genes: + # gattr is a variable created to store the the annotation of the target gene. + # It will be use to suggest a functional annotation + gattr = str(otgene).split("\t")[-1] + for ccgene in query_genes: + algene = GeneComp(ccgene, qstart, qend, otgene, dstart, dend, extract, tol, gattr) + if "new" in args.verbosity or "all" in args.verbosity: + if algene.is_different(): + algene_out = algene.is_different() + algene_name = algene_out.split("\t")[0] + algene_start = int(algene_out.split("\t")[3]) + algene_end = int(algene_out.split("\t")[4]) + #print(al_name, al_start, al_end) + #print(list(target_db.region(region=(al_name, al_start, al_end), completely_within=True))) + if not list(query_db.region(region=(algene_name, algene_start, algene_end), completely_within=False)): + if args.output: + algene.output=args.output + algene.fout() + else: + print(algene.is_different()) + if args.extract: + algene.extract_fasta() + + if "shorter" in args.verbosity or "all" in args.verbosity: + if algene.is_shorter(): + if args.output: + algene.output=args.output + algene.fout() + else: + print(algene.is_shorter()) + if args.extract: + algene.extract_fasta() + if "longer" in args.verbosity or "all" in args.verbosity: + if algene.is_longer(): + if args.output: + algene.output=args.output + algene.fout() + else: + print(algene.is_longer()) + if args.extract: + algene.extract_fasta() + if "offset" in args.verbosity or "all" in args.verbosity: + if algene.is_offset(): + if args.output: + algene.output=args.output + algene.fout() + else: + print(algene.is_offset()) + if args.extract: + algene.extract_fasta() + if "confirmed" in args.verbosity: + if algene.is_equal(): + if args.output: + algene.output=args.output + algene.fout() + else: + print(algene.is_equal()) + if args.extract: + algene.extract_fasta() + + +def gff_gene_check(GffName, db_name, memory=0): + # The IDs on the GFFs must be unique. Moreover, because only the gene + # information are needed, all the other information must be removed + # from the GFFs. + tempgff="" + for line in open(GffName): + if line[0] != "#": + if line.split()[2] == "gene": + tempgff+=line + + else: + tempgff+=line + + if memory: + # Write the db in memory and return it as variable so it can be used + # as subclass of _DBCreator + dbout = gffutils.create_db(tempgff, ":memory:", from_string=True) + return dbout + else: + gffutils.create_db(tempgff, db_name, from_string=True) + +def check_strand(start,leng,strand): + if strand == "+": + end = start+leng + else: + end = start-leng + start,end = end,start + return(start,end) + +def check_position(line, query_db,target_db): + # check if there is a gene in the aligned area + # lets' start with the coordinatescharacteristics + elsp = line.split('\t') + dname = elsp[1] + dstart = int(elsp[2]) + dlen = int(elsp[3]) + dstrand = elsp[4] + qname = elsp[6] + qstart = int(elsp[7]) + qlen = int(elsp[8]) + qstrand = elsp[9] + + # check the strand, if - reverse the start and the end + qstart,qend = check_strand(qstart,qlen,qstrand) + dstart,dend = check_strand(dstart,dlen,dstrand) + + #counter + d_counter = 0 + + # lists of gene within the coordinates + target_genes = [ gene for gene in list(target_db.region(region=(dname, dstart, dend), completely_within=True))] + query_genes = [ gene for gene in list(query_db.region(region=(qname, qstart, qend), completely_within=True))] + + if len(target_genes): + # and len(query_genes): +###### +# PER PROVARE HO TOLTO QUESTO, DA CONTROLLARE +###### + #if len(target_genes) >= len(query_genes): # the number of genes in the aligned area must be bigger in the target (?) + diff_gene(query_genes, target_genes, dstart, dend, qstart, qend, query_db) + + + if d_counter>=1: + return(d_counter) + else: + return(0) + + +def main(args): + fcounter = 0 + # import the GFF library and create (has to be done only once) + # the GFF databases + target_db = query_db = None + db_query_name=args.queryGff + "_db" + db_target_name=args.targetGff + "_db" + + if args.force_database: + # remove the database if required by user + os.remove(db_query_name) + os.remove(db_target_name) + + if args.use_query_database: + # use the db passed by the user + query_db = gffutils.FeatureDB(args.use_query_database) + else: + #create the db + #gffutils.create_db(args.queryGff, db_query_name) + qdbout = gff_gene_check(args.queryGff, db_query_name, args.memory) + + if args.memory: + query_db = gffutils.FeatureDB(qdbout.dbfn) + else: + query_db = gffutils.FeatureDB(db_query_name) + # except ValueError: + # print("Please check your GFF file") + # except: + # raise Exception(f"It seems you already have a db called {db_query_name}. Use the -qu if you want to use it or delete the") + + + if args.use_target_database: + target_db = gffutils.FeatureDB(args.use_target_database) + else: + tdbout = gff_gene_check(args.targetGff, db_target_name, args.memory) + if args.memory: + target_db = gffutils.FeatureDB(tdbout.dbfn) + else: + target_db = gffutils.FeatureDB(db_target_name) + # except ValueError: + # print("Please check your GFF file")if "all" in args.verbosity: + # except: + # raise Exception(f"It seems you already have a db called {db_target_name}. Use the -du if you want to use it or delete the") + + # put the content of the DB in objects + with open(args.aln) as maftab: + for line in maftab: + if line[0] != "#": + fcounter += check_position(line, query_db, target_db) + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description = '''Tool to extract genes coordinates from a whole genome alignent. + This script needs an alignement in TAB format and two gff files''') + parser.add_argument('aln', help='alignment file in TAB format. The suggested way to obtain it is to run Last and\ + than convert the file from MAF to TAB with maf-convert') + parser.add_argument('queryGff', + help='''Gff file of the query organism. The gene IDs in the GFF must be unique.''') + parser.add_argument('targetGff', + help='''Gff file of the "target" organism. The gene IDs in the GFF must be unique.''') + parser.add_argument("-uq", "--use-query-database", + help='''Use this parament if you already have a query gffutils formatted database or + if it\'s not the first time you run this script''', type=str) + parser.add_argument("-ut", "--use-target-database", + help='''Use this parament if you already have a target gffutils formatted database or + if it\'s not the first time you run this script''', type=str) + parser.add_argument("-fd", "--force-database", help="delete old gffutils databases and create new ones", action='store_true') + parser.add_argument("-m", "--memory", help='''create an in-memory database. This option can't be used with the other DB options. + probably usefull in Galaxy integration''', action='store_true' ) + parser.add_argument("-e", "--extract", + help='''Extract the fasta sequence of the new suggested gene. It takes two argument: the fasta file + of the genome and the name of the output file. This will slow down the process A LOT.''', nargs=2, type=str) + #parser.add_argument("-es", "--extract_stout", help='Like -e but it will print the result in the standard output. FASTER than -e. It need the fasta file', type=str) + parser.add_argument("-o", "--output", help='Name of the output file. Default output is stout', type=str) + parser.add_argument("-t", "--tollerance", help='Interval, in nucleotide, within a gene is considered in the same position. Default 30', default=30, type=int) + parser.add_argument("-v", "--verbosity", + help='''Output options. If not specify the software shows only the genes that are in the exact position of the + genes in the target. It\'s possible to show annotated genes that are in aligned regions but that have different lengths or in slightly + different positions. It's possible to select multiple, space separated, values.''', + choices=["all","shorter", "longer", "offset", "new", "confirmed"], nargs='*', default='new', type=str) + #metavar=('all','shorter','longer','shifted','new'), + #action='append', + #choices=["all","shorter", "longer", "shifted", "new"], default="new") + parser.add_argument('--version', action='version', version='0.1.0') + args = parser.parse_args() + main(args) \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GFFalign.xml Mon Nov 30 18:20:46 2020 +0000 @@ -0,0 +1,73 @@ +<tool id="gffalign" name="GFF align" version="0.1.0+galaxy0" python_template_version="3.5"> + <requirements> + <requirement type="package" version="1.78">biopython</requirement> + <requirement type="package" version="0.10.1">gffutils</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + python3 '$__tool_directory__/GFFalign.py' + + '$aln' + '$queryGFF' + '$targetGFF' + + -m + -t $t + -v $v + #if $extract.extract_fasta == 'true' + -e $e '$output_extract_fasta' + #end if + + > '$output_file' + ]]></command> + <inputs> + <param name="aln" type="data" format="tabular" label="Alignement file" help="Alignment file in TAB format. The suggested way to obtain it is to run Last and than convert the file from MAF to TAB with maf-convert" /> + <param name="queryGFF" type="data" format="gff" label="Query organism GFF file" help="Gff file of the query organism. The gene IDs in the GFF must be unique. To solve the problem please extract only the 'gene' lines. Try to format the file with AWK: awk `{if ($3==\'gene\') print $0}` GFFfile" /> + <param name="targetGFF" type="data" format="gff" label="Target organism GFF file" help="Gff file of the 'target' organism. The gene IDs in the GFF must be unique. To solve the problem please extract only the gene lines as explained in queryGff" /> + + <!--<param argument="-m" type="boolean" checked="false" truevalue="-memory" falsevalue="" label="Memory" help="Create an in-memory database. This option can't be used with the other DB options. Probably usefull in Galaxy integration" />--> + <param argument="-t" type="integer" value="30" label="Interval" help="Interval, in nucleotide, within a gene is considered in the same position." /> + <param argument="-v" type="select" multiple="true" label="Verbosity" help="Output options. If not specify the software shows only the genes that are in the exact position of the genes in the target. It's possible to show annotated genes that are in aligned regions but that have different lengths or in slightly different positions. It's possible to select multiple values." > + <option value="All">All</option> + <option value="shorter">Shorter</option> + <option value="longer">Longer</option> + <option value="offset">Offset</option> + <option value="new" selected="true">New</option> + <option value="confirmed">Confirmed</option> + </param> + <conditional name="extract"> + <param name="extract_fasta" type="select" label="Extract fasta sequence of the new suggested gene" help="This option needs the fasta file of the genome. This will slow down the process A LOT."> + <option value="true">Extract fasta sequence</option> + <option selected="true" value="false">Do not extract fasta sequence</option> + </param> + <when value="true"> + <param argument="-e" type="data" format="fasta" label="Fasta file of the genome."/> + </when> + <when value="false"/> + </conditional> + </inputs> + <outputs> + <data name="output_file" format="gff" label="GFF align from ${on_string}"/> + <data name="output_extract_fasta" format="fasta" label="Extracted fasta sequence from ${on_string}"> + <filter>options['extract_fasta'] == 'true'</filter> + </data> + </outputs> + + <tests> + <test> + <param name="aln" value="genome_aln.tab" ftype="tabular"/> + <param name="queryGFF" value="query.gff" ftype="gff"/> + <param name="targetGFF" value="target.gff" ftype="gff"/> + <param name="t" value="30"/> + <param name="v" value="new"/> + <output name="output_file" file="output.gff" ftype="gff"/> + </test> + </tests> + + <help><![CDATA[ + Tool to extract genes coordinates from a whole genome alignment. + This script needs an alignement in TAB format and two gff files. + ]]></help> + <citations> + <citation type="bibtex">@manual{title="https://github.com/eosc-life/D4_marine_eukaryote_genomics_portal", url="https://github.com/eosc-life/D4_marine_eukaryote_genomics_portal"}</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/genome_aln.tab Mon Nov 30 18:20:46 2020 +0000 @@ -0,0 +1,3 @@ +9920 NW_012219049.1 513841 4747 + 2725244 scaffold7 968452 4684 - 3903238 150,9:0,13,0:17,6,0:1,11,0:1,13,0:13,17,7:0,5,1:0,12,0:3,13,6:0,7,0:1,24,4:0,10,11:0,121,0:3,107,0:3,28,0:11,18,0:5,27,0:1,6,15:0,112,2:0,9,5:0,50,0:1,31,1:0,23,4:0,6,0:3,10,0:4,23,3:0,6,7:0,14,0:5,9,0:1,12,0:18,18,0:8,7,2:0,17,1:0,23,0:4,9,0:14,5,12:0,20,1:0,71,5:0,114,0:3,44,22:0,78,6:0,11,0:3,29,0:3,45,0:18,14,0:1,17,0:11,6,0:1,29,0:30,45,11:0,17,4:0,35,1:0,5,0:8,35,0:12,5,3:0,87,1:0,24,0:16,5,0:9,7,0:10,8,8:0,13,3:0,23,2:0,14,0:6,25,12:0,19,1:0,20,9:0,6,8:0,174,0:5,53,0:1,136,2:0,58,0:4,34,7:0,23,5:0,38,0:2,29,4:0,7,4:0,12,23:0,6,0:7,5,0:18,32,0:4,14,4:0,9,4:0,76,0:2,40,0:2,21,0:10,10,8:0,11,2:0,5,12:0,32,0:1,85,0:1,47,2:0,124,1:0,6,2:0,17,8:0,49,9:0,8,1:0,122,1:0,60,32:0,37,10:0,28,2:0,11,0:3,9,7:0,33,9:0,3,0:14,31,0:3,42,5:0,15,0:13,19,0:4,56,9:0,69,0:4,81,1:0,48,0:23,5,2:0,37,5:0,27,0:2,34,1:0,25,0:5,33,0:6,105,5:0,5,5:0,33,0:3,30,0:4,15,0:3,7,0:2,33,76:0,18,1:0,188,3:0,7,0:2,18 mismap=1e-10 +11428 NW_012217743.1 12365405 6678 + 13053552 scaffold21 1062549 6820 + 2391267 12,4:0,28,4:0,16,4:0,53,3:0,9,4:0,21,0:2,3,6:0,7,1:0,11,0:3,24,3:0,32,4:0,25,0:2,18,0:2,53,6:0,2,0:1,23,2:0,16,0:3,8,10:0,18,5:0,86,2:0,13,0:1,36,0:12,32,6:0,50,6:0,13,1:0,30,2:0,5,3:0,27,7:0,22,7:0,6,0:5,110,0:1,3,8:0,19,0:1,24,0:4,5,1:0,59,4:0,31,1:0,4,4:0,3,0:3,31,0:1,41,0:11,18,20:0,52,0:2,12,2:0,10,0:3,76,1:0,14,2:0,16,1:0,327,6:0,78,0:24,101,3:0,890,0:43,11,4:0,16,6:0,68,0:3,29,2:0,138,4:0,9,3:0,30,3:0,25,1:0,16,0:6,20,0:2,31,0:11,33,2:0,31,0:17,12,5:0,4,0:10,7,1:0,22,5:0,17,0:1,50,5:0,12,0:4,19,2:0,54,0:1,10,0:3,8,0:4,27,2:0,20,10:0,88,0:8,87,2:0,16,4:0,85,0:36,23,0:5,38,0:6,3,11:0,15,3:0,75,0:11,3,3:0,7,9:0,9,0:5,16,6:0,10,6:0,2,0:5,12,1:0,37,2:0,28,4:0,14,10:0,11,0:33,14,0:3,53,4:0,85,0:35,12,0:8,19,3:0,36,0:6,6,0:8,27,0:1,8,10:0,34,0:15,22,10:0,8,0:10,5,0:5,6,34:0,17,30:0,15,2:0,10,7:0,41,8:0,134,6:0,19,3:0,37,4:0,126,0:9,4,0:8,15,0:4,5,7:0,13,0:7,13,4:0,13,0:15,8,2:0,17,2:0,25,4:0,10,0:5,179,17:0,13,7:0,17,0:18,11,0:1,20,13:0,9,0:11,6,0:25,17,0:1,14,0:1,35,1:0,10,0:5,9,0:5,12,0:43,13,1:0,148,0:9,35,0:5,15,0:4,7,9:0,15,0:2,97,0:2,27,0:1,10,11:0,76,0:18,13,0:27,13,0:16,11,1:0,5,0:25,29,0:3,7,0:13,20,14:0,50,0:21,24,0:1,9,5:0,7,2:0,33,1:0,18,16:0,10,16:0,16,0:5,12,21:0,5,1:0,19,3:0,41,21:0,24,0:3,22,0:7,133,5:0,20 mismap=1e-10 +19504 NW_012222569.1 351588 5843 + 2417895 scaffold27 2112341 5893 - 2121867 16,8:0,108,0:13,5,0:10,26,6:0,13,0:5,33,0:2,23,0:5,10,0:5,27,3:0,29,0:2,10,1:0,12,0:5,16,0:9,19,0:4,5,13:0,11,0:1,28,4:0,11,4:0,27,14:0,50,6:0,12,0:7,6,0:15,10,8:0,86,0:20,20,4:0,60,0:2,16,0:2,34,0:1,37,0:1,166,0:1,56,1:0,114,0:31,63,2:0,16,0:5,6,0:5,15,0:10,14,10:0,38,0:29,9,0:5,10,14:0,17,9:0,17,0:7,27,18:0,24,1:0,9,16:0,33,0:1,6,1:0,14,0:1,15,5:0,16,0:61,40,11:0,6,0:1,44,3:0,111,8:0,11,2:0,10,9:0,37,0:2,12,1:0,44,9:0,49,1:0,26,1:0,35,3:0,31,1:0,19,1:0,28,2:0,17,5:0,150,1:0,161,1:0,4,1:0,40,0:1,131,1:0,43,0:5,12,0:6,43,1:0,875,6:0,369,6:0,421,3:0,931,3:0,16,0:3,375,3:0,43,6:0,8,0:4,19 mismap=1e-10
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/output.gff Mon Nov 30 18:20:46 2020 +0000 @@ -0,0 +1,3 @@ +scaffold7 prediction gene 967081 968380 . 963768 . ID=scaffold7;New_annotation='ID=gene2900;Dbxref=GeneID:105913423;Name=LOC105913423;gbkey=Gene;gene=LOC105913423;gene_biotype=lncRNA';Note=new +scaffold21 prediction gene 1066913 1069210 . 1062549 . ID=scaffold21;New_annotation='ID=gene518;Dbxref=GeneID:105888784;Name=LOC105888784;gbkey=Gene;gene=LOC105888784;gene_biotype=protein_coding';Note=new +scaffold27 prediction gene 2109210 2112138 . 2106448 . ID=scaffold27;New_annotation='ID=gene19467;Dbxref=GeneID:105906405;Name=tshz2;gbkey=Gene;gene=tshz2;gene_biotype=protein_coding';Note=new
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/query.gff Mon Nov 30 18:20:46 2020 +0000 @@ -0,0 +1,126 @@ +scaffold7 maker gene 964712 966103 . - . ID=maker-scaffold7-exonerate_protein2genome-gene-9.10;Name=maker-scaffold7-exonerate_protein2genome-gene-9.10 +scaffold21 maker gene 219 1692 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-0.0;Name=maker-scaffold21-exonerate_protein2genome-gene-0.0 +scaffold21 maker gene 9272 18338 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-0.2;Name=maker-scaffold21-exonerate_protein2genome-gene-0.2 +scaffold21 maker gene 33298 36449 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-0.4;Name=maker-scaffold21-exonerate_protein2genome-gene-0.4 +scaffold21 maker gene 2813 9288 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-0.5;Name=maker-scaffold21-exonerate_protein2genome-gene-0.5 +scaffold21 maker gene 24374 25243 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-0.8;Name=maker-scaffold21-exonerate_protein2genome-gene-0.8 +scaffold21 maker gene 144980 149321 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-1.0;Name=maker-scaffold21-exonerate_protein2genome-gene-1.0 +scaffold21 maker gene 217208 225190 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-2.0;Name=maker-scaffold21-exonerate_protein2genome-gene-2.0 +scaffold21 maker gene 271640 278603 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-2.9;Name=maker-scaffold21-exonerate_protein2genome-gene-2.9 +scaffold21 maker gene 281443 283476 . - . ID=maker-scaffold21-augustus-gene-2.9;Name=maker-scaffold21-augustus-gene-2.9;Dbxref=Coils:Coil,InterPro:IPR008386,PANTHER:PTHR12427,Pfam:PF05680;Note=Similar to ATP5ME: ATP synthase subunit e%2C mitochondrial (Bos taurus OX%3D9913);Ontology_term=GO:0000276,GO:0015078,GO:0015986 +scaffold21 maker gene 244209 248333 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-2.18;Name=maker-scaffold21-exonerate_protein2genome-gene-2.18 +scaffold21 maker gene 250981 253254 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-2.20;Name=maker-scaffold21-exonerate_protein2genome-gene-2.20 +scaffold21 maker gene 261621 262807 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-2.24;Name=maker-scaffold21-exonerate_protein2genome-gene-2.24 +scaffold21 maker gene 284698 285297 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-2.14;Name=maker-scaffold21-exonerate_protein2genome-gene-2.14 +scaffold21 maker gene 298319 304580 . + . ID=maker-scaffold21-augustus-gene-3.10;Name=maker-scaffold21-augustus-gene-3.10;Dbxref=Gene3D:G3DSA:3.20.20.80,InterPro:IPR005199,InterPro:IPR017853,PANTHER:PTHR14363,PANTHER:PTHR14363:SF10,Pfam:PF03662,SUPERFAMILY:SSF51445;Note=Similar to HPSE: Heparanase (Homo sapiens OX%3D9606);Ontology_term=GO:0016020,GO:0016798 +scaffold21 maker gene 306866 318341 . + . ID=augustus-scaffold21-processed-gene-3.1;Name=augustus-scaffold21-processed-gene-3.1;Dbxref=Gene3D:G3DSA:1.20.5.490,InterPro:IPR024864,InterPro:IPR025712,PANTHER:PTHR13000,PANTHER:PTHR13000:SF0,Pfam:PF13874;Note=Similar to NUP54: Nucleoporin p54 (Homo sapiens OX%3D9606);Ontology_term=GO:0005643 +scaffold21 maker gene 338744 340636 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-3.7;Name=maker-scaffold21-exonerate_protein2genome-gene-3.7 +scaffold21 maker gene 375900 382676 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-3.9;Name=maker-scaffold21-exonerate_protein2genome-gene-3.9 +scaffold21 maker gene 304743 306373 . - . ID=maker-scaffold21-augustus-gene-3.12;Name=maker-scaffold21-augustus-gene-3.12;Dbxref=Gene3D:G3DSA:1.10.238.10,InterPro:IPR002048,InterPro:IPR011992,InterPro:IPR018247,MobiDBLite:mobidb-lite,PANTHER:PTHR23049,PANTHER:PTHR23049:SF8,Pfam:PF13405,ProSitePatterns:PS00018,ProSiteProfiles:PS50222,SMART:SM00054,SUPERFAMILY:SSF47473;Note=Similar to MYL5: Myosin light chain 5 (Felis catus OX%3D9685);Ontology_term=GO:0005509 +scaffold21 maker gene 319222 319661 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-3.14;Name=maker-scaffold21-exonerate_protein2genome-gene-3.14 +scaffold21 maker gene 342986 343267 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-3.8;Name=maker-scaffold21-exonerate_protein2genome-gene-3.8 +scaffold21 maker gene 468193 474238 . + . ID=maker-scaffold21-augustus-gene-4.7;Name=maker-scaffold21-augustus-gene-4.7;Dbxref=CDD:cd03580,Gene3D:G3DSA:1.10.2000.10,Gene3D:G3DSA:2.40.50.120,InterPro:IPR001134,InterPro:IPR008993,InterPro:IPR015526,InterPro:IPR018933,InterPro:IPR020067,InterPro:IPR026559,InterPro:IPR036790,PANTHER:PTHR11309,PANTHER:PTHR11309:SF87,Pfam:PF01392,Pfam:PF01759,ProSiteProfiles:PS50038,ProSiteProfiles:PS50189,SMART:SM00063,SMART:SM00643,SUPERFAMILY:SSF50242,SUPERFAMILY:SSF63501;Note=Similar to Sfrp1: Secreted frizzled-related protein 1 (Mus musculus OX%3D10090);Ontology_term=GO:0005515 +scaffold21 maker gene 458084 464076 . - . ID=maker-scaffold21-augustus-gene-4.12;Name=maker-scaffold21-augustus-gene-4.12;Dbxref=Coils:Coil,InterPro:IPR019383,PANTHER:PTHR13254,PANTHER:PTHR13254:SF1,Pfam:PF10256;Note=Similar to GOLGA7: Golgin subfamily A member 7 (Homo sapiens OX%3D9606) +scaffold21 maker gene 423091 435097 . - . ID=maker-scaffold21-augustus-gene-4.10;Name=maker-scaffold21-augustus-gene-4.10;Dbxref=CDD:cd14735,Gene3D:G3DSA:1.25.40.420,Gene3D:G3DSA:2.120.10.80,Gene3D:G3DSA:3.30.710.10,InterPro:IPR000210,InterPro:IPR006652,InterPro:IPR011333,InterPro:IPR011705,InterPro:IPR015915,InterPro:IPR017096,InterPro:IPR030605,MobiDBLite:mobidb-lite,PANTHER:PTHR24412,PANTHER:PTHR24412:SF403,PIRSF:PIRSF037037,PRINTS:PR00501,Pfam:PF00651,Pfam:PF01344,Pfam:PF07707,ProSiteProfiles:PS50097,SMART:SM00225,SMART:SM00612,SMART:SM00875,SUPERFAMILY:SSF117281,SUPERFAMILY:SSF54695;Note=Similar to KLHL8: Kelch-like protein 8 (Homo sapiens OX%3D9606);Ontology_term=GO:0005515,GO:0016567,GO:0031463 +scaffold21 maker gene 386839 388958 . - . ID=maker-scaffold21-augustus-gene-4.8;Name=maker-scaffold21-augustus-gene-4.8;Dbxref=Gene3D:G3DSA:3.10.100.10,InterPro:IPR001304,InterPro:IPR016186,InterPro:IPR016187,InterPro:IPR018378,PANTHER:PTHR22803,PANTHER:PTHR22803:SF89,Pfam:PF00059,ProSitePatterns:PS00615,ProSiteProfiles:PS50041,SUPERFAMILY:SSF56436;Note=Similar to MRC1: Macrophage mannose receptor 1 (Homo sapiens OX%3D9606) +scaffold21 maker gene 452419 452901 . - . ID=maker-scaffold21-augustus-gene-4.11;Name=maker-scaffold21-augustus-gene-4.11;Note=Similar to SDAD1: Protein SDA1 homolog (Homo sapiens OX%3D9606) +scaffold21 maker gene 390939 391459 . - . ID=maker-scaffold21-augustus-gene-4.9;Name=maker-scaffold21-augustus-gene-4.9;Dbxref=CDD:cd00037,Gene3D:G3DSA:3.10.100.10,InterPro:IPR001304,InterPro:IPR016186,InterPro:IPR016187,PANTHER:PTHR22803,PANTHER:PTHR22803:SF89,Pfam:PF00059,ProSiteProfiles:PS50041,SMART:SM00034,SUPERFAMILY:SSF56436;Note=Similar to Fcer2: Low affinity immunoglobulin epsilon Fc receptor (Mus musculus OX%3D10090) +scaffold21 maker gene 392366 398239 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-4.4;Name=maker-scaffold21-exonerate_protein2genome-gene-4.4 +scaffold21 maker gene 442645 445385 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-4.20;Name=maker-scaffold21-exonerate_protein2genome-gene-4.20 +scaffold21 maker gene 454285 456766 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-4.25;Name=maker-scaffold21-exonerate_protein2genome-gene-4.25 +scaffold21 maker gene 566694 572975 . + . ID=maker-scaffold21-augustus-gene-5.15;Name=maker-scaffold21-augustus-gene-5.15;Dbxref=CDD:cd15329,Gene3D:G3DSA:1.20.1070.10,InterPro:IPR000276,InterPro:IPR001069,InterPro:IPR017452,PANTHER:PTHR24247,PANTHER:PTHR24247:SF88,PRINTS:PR00237,PRINTS:PR00652,Pfam:PF00001,ProSiteProfiles:PS50262,SUPERFAMILY:SSF81321;Note=Similar to Htr7: 5-hydroxytryptamine receptor 7 (Mus musculus OX%3D10090);Ontology_term=GO:0004930,GO:0004993,GO:0006939,GO:0007186,GO:0007268,GO:0007623,GO:0016021,GO:0042310 +scaffold21 maker gene 825856 827239 . - . ID=maker-scaffold21-augustus-gene-8.14;Name=maker-scaffold21-augustus-gene-8.14;Dbxref=Gene3D:G3DSA:3.40.50.1460,InterPro:IPR001309,InterPro:IPR002138,InterPro:IPR015471,InterPro:IPR015917,InterPro:IPR029030,MobiDBLite:mobidb-lite,PANTHER:PTHR10454,PANTHER:PTHR10454:SF31,PRINTS:PR00376,Pfam:PF00656,ProSiteProfiles:PS50207,ProSiteProfiles:PS50208,SMART:SM00115,SUPERFAMILY:SSF52129;Note=Similar to Casp7: Caspase-7 (Mus musculus OX%3D10090);Ontology_term=GO:0004197,GO:0006508,GO:0008234 +scaffold21 maker gene 834708 836367 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-8.18;Name=maker-scaffold21-exonerate_protein2genome-gene-8.18 +scaffold21 maker gene 861308 862096 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-8.20;Name=maker-scaffold21-exonerate_protein2genome-gene-8.20 +scaffold21 maker gene 890972 899157 . + . ID=augustus-scaffold21-processed-gene-9.3;Name=augustus-scaffold21-processed-gene-9.3;Dbxref=CDD:cd00924,Gene3D:G3DSA:2.60.11.10,InterPro:IPR002124,InterPro:IPR036972,PANTHER:PTHR10122,PANTHER:PTHR10122:SF4,Pfam:PF01215,ProDom:PD007270,ProSiteProfiles:PS51359,SUPERFAMILY:SSF57802;Note=Similar to COX5B: Cytochrome c oxidase subunit 5B%2C mitochondrial (Vulpes vulpes OX%3D9627);Ontology_term=GO:0004129,GO:0005740 +scaffold21 maker gene 926337 932981 . + . ID=maker-scaffold21-augustus-gene-9.1;Name=maker-scaffold21-augustus-gene-9.1;Dbxref=CDD:cd00012,Gene3D:G3DSA:3.30.420.40,Gene3D:G3DSA:3.90.640.10,InterPro:IPR004000,InterPro:IPR004001,InterPro:IPR020902,InterPro:IPR029909,PANTHER:PTHR11937,PANTHER:PTHR11937:SF195,PRINTS:PR00190,Pfam:PF00022,ProSitePatterns:PS00432,ProSitePatterns:PS01132,SMART:SM00268,SUPERFAMILY:SSF53067;Note=Similar to Actr1b: Beta-centractin (Mus musculus OX%3D10090);Ontology_term=GO:0005869 +scaffold21 maker gene 938048 942296 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-9.11;Name=maker-scaffold21-exonerate_protein2genome-gene-9.11 +scaffold21 maker gene 977259 981092 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-9.16;Name=maker-scaffold21-exonerate_protein2genome-gene-9.16 +scaffold21 maker gene 921431 924431 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-9.22;Name=maker-scaffold21-exonerate_protein2genome-gene-9.22 +scaffold21 maker gene 908085 909206 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-9.3;Name=maker-scaffold21-exonerate_protein2genome-gene-9.3 +scaffold21 maker gene 919938 920906 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-9.20;Name=maker-scaffold21-exonerate_protein2genome-gene-9.20 +scaffold21 maker gene 996275 998398 . + . ID=maker-scaffold21-augustus-gene-10.9;Name=maker-scaffold21-augustus-gene-10.9;Note=Similar to RHOBTB2: Rho-related BTB domain-containing protein 2 (Homo sapiens OX%3D9606) +scaffold21 maker gene 994118 995287 . + . ID=maker-scaffold21-augustus-gene-10.8;Name=maker-scaffold21-augustus-gene-10.8;Dbxref=Gene3D:G3DSA:3.30.710.10,InterPro:IPR011333,PANTHER:PTHR24072,PANTHER:PTHR24072:SF137,SUPERFAMILY:SSF54695;Note=Similar to RHOBTB2: Rho-related BTB domain-containing protein 2 (Homo sapiens OX%3D9606) +scaffold21 maker gene 988098 990151 . - . ID=maker-scaffold21-augustus-gene-10.10;Name=maker-scaffold21-augustus-gene-10.10;Dbxref=InterPro:IPR004978,PANTHER:PTHR11245,PANTHER:PTHR11245:SF7,Pfam:PF03298;Note=Similar to stc: Stanniocalcin (Oncorhynchus kisutch OX%3D8019);Ontology_term=GO:0005179,GO:0005576 +scaffold21 maker gene 999806 1006534 . - . ID=maker-scaffold21-augustus-gene-10.11;Name=maker-scaffold21-augustus-gene-10.11;Dbxref=CDD:cd00038,CDD:cd05572,Coils:Coil,Gene3D:G3DSA:1.10.510.10,Gene3D:G3DSA:2.60.120.10,Gene3D:G3DSA:3.30.200.20,InterPro:IPR000595,InterPro:IPR000719,InterPro:IPR000961,InterPro:IPR002374,InterPro:IPR008271,InterPro:IPR011009,InterPro:IPR014710,InterPro:IPR017441,InterPro:IPR018488,InterPro:IPR018490,InterPro:IPR035014,MobiDBLite:mobidb-lite,PANTHER:PTHR24353,PANTHER:PTHR24353:SF68,PRINTS:PR00104,Pfam:PF00027,Pfam:PF00069,ProSitePatterns:PS00107,ProSitePatterns:PS00108,ProSitePatterns:PS00888,ProSitePatterns:PS00889,ProSiteProfiles:PS50011,ProSiteProfiles:PS50042,ProSiteProfiles:PS51285,SMART:SM00100,SMART:SM00133,SMART:SM00220,SUPERFAMILY:SSF51206,SUPERFAMILY:SSF56112;Note=Similar to PRKG1: cGMP-dependent protein kinase 1 (Bos taurus OX%3D9913);Ontology_term=GO:0004672,GO:0004674,GO:0004692,GO:0005524,GO:0006468 +scaffold21 maker gene 1017091 1024394 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-10.25;Name=maker-scaffold21-exonerate_protein2genome-gene-10.25 +scaffold21 maker gene 1063842 1065209 . - . ID=maker-scaffold21-exonerate_protein2genome-gene-10.33;Name=maker-scaffold21-exonerate_protein2genome-gene-10.33 +scaffold21 maker gene 1013571 1014220 . + . ID=maker-scaffold21-exonerate_protein2genome-gene-10.3;Name=maker-scaffold21-exonerate_protein2genome-gene-10.3 +scaffold27 maker gene 78964 84532 . + . ID=maker-scaffold27-augustus-gene-0.6;Name=maker-scaffold27-augustus-gene-0.6;Dbxref=Coils:Coil,Gene3D:G3DSA:1.10.287.370,InterPro:IPR002777,InterPro:IPR009053,InterPro:IPR016661,PANTHER:PTHR21100,PIRSF:PIRSF016477,Pfam:PF01920,SUPERFAMILY:SSF46579;Note=Similar to PFDN4: Prefoldin subunit 4 (Homo sapiens OX%3D9606);Ontology_term=GO:0006457,GO:0016272,GO:0051082 +scaffold27 maker gene 48231 52047 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-0.4;Name=maker-scaffold27-exonerate_protein2genome-gene-0.4 +scaffold27 maker gene 61378 65183 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-0.6;Name=maker-scaffold27-exonerate_protein2genome-gene-0.6 +scaffold27 maker gene 3695 6685 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-0.0;Name=maker-scaffold27-exonerate_protein2genome-gene-0.0 +scaffold27 maker gene 148461 162196 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-1.6;Name=maker-scaffold27-exonerate_protein2genome-gene-1.6 +scaffold27 maker gene 102125 102751 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-1.2;Name=maker-scaffold27-exonerate_protein2genome-gene-1.2 +scaffold27 maker gene 113040 113444 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-1.3;Name=maker-scaffold27-exonerate_protein2genome-gene-1.3 +scaffold27 maker gene 141043 141363 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-1.4;Name=maker-scaffold27-exonerate_protein2genome-gene-1.4 +scaffold27 maker gene 134273 134461 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-1.5;Name=maker-scaffold27-exonerate_protein2genome-gene-1.5 +scaffold27 maker gene 199903 200492 . - . ID=maker-scaffold27-augustus-gene-2.0;Name=maker-scaffold27-augustus-gene-2.0;Dbxref=Gene3D:G3DSA:1.10.10.60,PANTHER:PTHR11211,PANTHER:PTHR11211:SF12;Note=Similar to irx5: Iroquois-class homeodomain protein irx-5 (Xenopus laevis OX%3D8355) +scaffold27 maker gene 379798 388445 . + . ID=maker-scaffold27-augustus-gene-3.0;Name=maker-scaffold27-augustus-gene-3.0;Dbxref=CDD:cd04278,Gene3D:G3DSA:2.60.40.10,Gene3D:G3DSA:3.40.390.10,InterPro:IPR001818,InterPro:IPR006026,InterPro:IPR007110,InterPro:IPR013783,InterPro:IPR021190,InterPro:IPR024079,InterPro:IPR028687,InterPro:IPR033739,InterPro:IPR036179,PANTHER:PTHR10201,PANTHER:PTHR10201:SF7,PRINTS:PR00138,Pfam:PF00413,ProSiteProfiles:PS50835,SMART:SM00235,SUPERFAMILY:SSF48726,SUPERFAMILY:SSF55486;Note=Similar to MMP23: Matrix metalloproteinase-23 (Bos taurus OX%3D9913);Ontology_term=GO:0004222,GO:0006508,GO:0008237,GO:0008270,GO:0031012 +scaffold27 maker gene 348162 352549 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-3.0;Name=maker-scaffold27-exonerate_protein2genome-gene-3.0 +scaffold27 maker gene 354599 366178 . - . ID=maker-scaffold27-augustus-gene-3.2;Name=maker-scaffold27-augustus-gene-3.2;Dbxref=CDD:cd14735,Gene3D:G3DSA:1.25.40.420,Gene3D:G3DSA:2.120.10.80,Gene3D:G3DSA:3.30.710.10,InterPro:IPR000210,InterPro:IPR006652,InterPro:IPR011333,InterPro:IPR011705,InterPro:IPR015915,InterPro:IPR017096,PANTHER:PTHR24412,PANTHER:PTHR24412:SF255,PIRSF:PIRSF037037,Pfam:PF00651,Pfam:PF01344,Pfam:PF07707,Pfam:PF13964,ProSiteProfiles:PS50097,SMART:SM00225,SMART:SM00612,SMART:SM00875,SUPERFAMILY:SSF117281,SUPERFAMILY:SSF54695;Note=Similar to klhl21: Kelch-like protein 21 (Danio rerio OX%3D7955);Ontology_term=GO:0005515 +scaffold27 maker gene 301455 310534 . - . ID=maker-scaffold27-augustus-gene-3.1;Name=maker-scaffold27-augustus-gene-3.1;Dbxref=CDD:cd00160,CDD:cd13244,Coils:Coil,Gene3D:G3DSA:1.20.900.10,Gene3D:G3DSA:2.30.29.30,InterPro:IPR000219,InterPro:IPR001849,InterPro:IPR011993,InterPro:IPR035899,MobiDBLite:mobidb-lite,PANTHER:PTHR13217,PANTHER:PTHR13217:SF9,Pfam:PF00621,ProSiteProfiles:PS50003,ProSiteProfiles:PS50010,SMART:SM00233,SMART:SM00325,SUPERFAMILY:SSF48065,SUPERFAMILY:SSF50729;Note=Similar to PLEKHG5: Pleckstrin homology domain-containing family G member 5 (Homo sapiens OX%3D9606);Ontology_term=GO:0005089,GO:0035023 +scaffold27 maker gene 274578 275266 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-3.10;Name=maker-scaffold27-exonerate_protein2genome-gene-3.10 +scaffold27 maker gene 331767 344451 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-3.16;Name=maker-scaffold27-exonerate_protein2genome-gene-3.16 +scaffold27 maker gene 370682 373215 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-3.23;Name=maker-scaffold27-exonerate_protein2genome-gene-3.23 +scaffold27 maker gene 353502 353825 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-3.19;Name=maker-scaffold27-exonerate_protein2genome-gene-3.19 +scaffold27 maker gene 412780 416126 . + . ID=maker-scaffold27-augustus-gene-4.7;Name=maker-scaffold27-augustus-gene-4.7;Dbxref=InterPro:IPR003112,PANTHER:PTHR23192,PANTHER:PTHR23192:SF49,Pfam:PF02191,ProSiteProfiles:PS51132,SMART:SM00284;Note=Similar to olfml3b: Olfactomedin-like protein 3B (Danio rerio OX%3D7955) +scaffold27 maker gene 398701 403728 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-4.7;Name=maker-scaffold27-exonerate_protein2genome-gene-4.7 +scaffold27 maker gene 417814 426306 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-4.8;Name=maker-scaffold27-exonerate_protein2genome-gene-4.8 +scaffold27 maker gene 434315 434716 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-4.11;Name=maker-scaffold27-exonerate_protein2genome-gene-4.11 +scaffold27 maker gene 569785 573302 . + . ID=augustus-scaffold27-processed-gene-5.20;Name=augustus-scaffold27-processed-gene-5.20;Dbxref=CDD:cd00063,Gene3D:G3DSA:2.60.40.10,InterPro:IPR003961,InterPro:IPR013783,InterPro:IPR026966,InterPro:IPR036116,MobiDBLite:mobidb-lite,PANTHER:PTHR43951,PANTHER:PTHR43951:SF2,Pfam:PF00041,Pfam:PF13882,ProSiteProfiles:PS50853,SMART:SM00060,SUPERFAMILY:SSF49265;Note=Similar to nadl1.1: Neural cell adhesion molecule L1.1 (Fragment) (Danio rerio OX%3D7955);Ontology_term=GO:0005515 +scaffold27 maker gene 500500 510440 . + . ID=maker-scaffold27-augustus-gene-5.4;Name=maker-scaffold27-augustus-gene-5.4;Dbxref=InterPro:IPR011685,PANTHER:PTHR14009,PANTHER:PTHR14009:SF13,Pfam:PF07766;Note=Similar to letmd1: LETM1 domain-containing protein 1 (Xenopus tropicalis OX%3D8364) +scaffold27 maker gene 475732 483996 . + . ID=maker-scaffold27-augustus-gene-5.3;Name=maker-scaffold27-augustus-gene-5.3;Dbxref=InterPro:IPR013662,InterPro:IPR015925,MobiDBLite:mobidb-lite,PANTHER:PTHR13715,PANTHER:PTHR13715:SF51,Pfam:PF08454;Note=Similar to ITPR3: Inositol 1%2C4%2C5-trisphosphate receptor type 3 (Homo sapiens OX%3D9606);Ontology_term=GO:0006816 +scaffold27 maker gene 467681 469205 . + . ID=maker-scaffold27-augustus-gene-5.2;Name=maker-scaffold27-augustus-gene-5.2;Dbxref=Coils:Coil,InterPro:IPR015925,PANTHER:PTHR13715,PANTHER:PTHR13715:SF51;Note=Similar to Itpr3: Inositol 1%2C4%2C5-trisphosphate receptor type 3 (Mus musculus OX%3D10090);Ontology_term=GO:0006816 +scaffold27 maker gene 460622 463709 . + . ID=maker-scaffold27-augustus-gene-5.1;Name=maker-scaffold27-augustus-gene-5.1;Dbxref=Coils:Coil,Gene3D:G3DSA:1.25.10.30,Gene3D:G3DSA:2.80.10.50,InterPro:IPR000699,InterPro:IPR015925,InterPro:IPR016093,InterPro:IPR035910,InterPro:IPR036300,PANTHER:PTHR13715,PANTHER:PTHR13715:SF51,Pfam:PF01365,Pfam:PF02815,SUPERFAMILY:SSF100909,SUPERFAMILY:SSF82109;Note=Similar to Itpr3: Inositol 1%2C4%2C5-trisphosphate receptor type 3 (Mus musculus OX%3D10090);Ontology_term=GO:0005262,GO:0006816,GO:0016020,GO:0070588 +scaffold27 maker gene 489952 495692 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-5.5;Name=maker-scaffold27-exonerate_protein2genome-gene-5.5 +scaffold27 maker gene 524406 524795 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-5.12;Name=maker-scaffold27-exonerate_protein2genome-gene-5.12 +scaffold27 maker gene 576979 593059 . + . ID=augustus-scaffold27-processed-gene-6.0;Name=augustus-scaffold27-processed-gene-6.0;Dbxref=CDD:cd03275,Coils:Coil,Gene3D:G3DSA:1.20.1060.20,Gene3D:G3DSA:3.30.70.1620,Gene3D:G3DSA:3.40.50.300,InterPro:IPR003395,InterPro:IPR010935,InterPro:IPR024704,InterPro:IPR027417,InterPro:IPR029683,InterPro:IPR036277,PANTHER:PTHR18937,PANTHER:PTHR18937:SF170,PIRSF:PIRSF005719,Pfam:PF02463,Pfam:PF06470,SMART:SM00968,SUPERFAMILY:SSF52540,SUPERFAMILY:SSF75553;Note=Similar to Smc1a: Structural maintenance of chromosomes protein 1A (Mus musculus OX%3D10090);Ontology_term=GO:0003682,GO:0005515,GO:0005524,GO:0005694,GO:0006281,GO:0007064,GO:0008278,GO:0051276 +scaffold27 maker gene 647681 651875 . + . ID=maker-scaffold27-augustus-gene-6.16;Name=maker-scaffold27-augustus-gene-6.16;Dbxref=CDD:cd07989,InterPro:IPR000872,InterPro:IPR002123,PANTHER:PTHR12497,PANTHER:PTHR12497:SF0,PRINTS:PR00979,Pfam:PF01553,SMART:SM00563,SUPERFAMILY:SSF69593;Note=Similar to TAZ: Tafazzin (Macaca mulatta OX%3D9544);Ontology_term=GO:0006644,GO:0008152,GO:0016746 +scaffold27 maker gene 601548 610645 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-6.5;Name=maker-scaffold27-exonerate_protein2genome-gene-6.5 +scaffold27 maker gene 621607 628922 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-6.12;Name=maker-scaffold27-exonerate_protein2genome-gene-6.12 +scaffold27 maker gene 640384 647146 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-6.17;Name=maker-scaffold27-exonerate_protein2genome-gene-6.17 +scaffold27 maker gene 653498 659083 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-6.28;Name=maker-scaffold27-exonerate_protein2genome-gene-6.28 +scaffold27 maker gene 662664 663493 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-6.29;Name=maker-scaffold27-exonerate_protein2genome-gene-6.29 +scaffold27 maker gene 670398 673271 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-6.30;Name=maker-scaffold27-exonerate_protein2genome-gene-6.30 +scaffold27 maker gene 615010 619770 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-6.31;Name=maker-scaffold27-exonerate_protein2genome-gene-6.31 +scaffold27 maker gene 634567 636892 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-6.33;Name=maker-scaffold27-exonerate_protein2genome-gene-6.33 +scaffold27 maker gene 785928 788634 . + . ID=maker-scaffold27-augustus-gene-7.3;Name=maker-scaffold27-augustus-gene-7.3;Dbxref=Gene3D:G3DSA:4.10.60.10,InterPro:IPR001878,InterPro:IPR036875,PANTHER:PTHR23002,PANTHER:PTHR23002:SF53,Pfam:PF00098,ProSiteProfiles:PS50158,SMART:SM00343,SUPERFAMILY:SSF57756;Note=Similar to CNBP: Cellular nucleic acid-binding protein (Bos taurus OX%3D9913);Ontology_term=GO:0003676,GO:0008270 +scaffold27 maker gene 752288 763459 . + . ID=maker-scaffold27-augustus-gene-7.2;Name=maker-scaffold27-augustus-gene-7.2;Dbxref=Coils:Coil,Gene3D:G3DSA:3.30.1490.20,Gene3D:G3DSA:3.30.470.20,Gene3D:G3DSA:3.40.50.20,InterPro:IPR001359,InterPro:IPR013815,InterPro:IPR016185,InterPro:IPR020897,InterPro:IPR020898,MobiDBLite:mobidb-lite,PANTHER:PTHR10841,PANTHER:PTHR10841:SF23,PRINTS:PR01368,Pfam:PF02078,Pfam:PF02750,SUPERFAMILY:SSF52440,SUPERFAMILY:SSF56059;Note=Similar to SYN1: Synapsin-1 (Bos taurus OX%3D9913);Ontology_term=GO:0005524,GO:0007269,GO:0008021 +scaffold27 maker gene 712784 722276 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-7.0;Name=maker-scaffold27-exonerate_protein2genome-gene-7.0 +scaffold27 maker gene 984863 985075 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-9.0;Name=maker-scaffold27-exonerate_protein2genome-gene-9.0 +scaffold27 maker gene 1138838 1140970 . + . ID=maker-scaffold27-augustus-gene-11.7;Name=maker-scaffold27-augustus-gene-11.7;Dbxref=Gene3D:G3DSA:4.10.75.10,InterPro:IPR008197,InterPro:IPR036645,PANTHER:PTHR19441,PANTHER:PTHR19441:SF42,PRINTS:PR00003,Pfam:PF00095,ProSiteProfiles:PS51390,SMART:SM00217,SUPERFAMILY:SSF57256;Note=Similar to WAP: Whey acidic protein (Macropus eugenii OX%3D9315);Ontology_term=GO:0005576,GO:0030414 +scaffold27 maker gene 1160062 1174007 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-11.4;Name=maker-scaffold27-exonerate_protein2genome-gene-11.4 +scaffold27 maker gene 1090337 1094397 . - . ID=maker-scaffold27-augustus-gene-11.9;Name=maker-scaffold27-augustus-gene-11.9;Dbxref=InterPro:IPR006838,PANTHER:PTHR10989,Pfam:PF04750;Note=Similar to AIG1: Androgen-induced gene 1 protein (Homo sapiens OX%3D9606);Ontology_term=GO:0016021 +scaffold27 maker gene 1110751 1127672 . - . ID=maker-scaffold27-augustus-gene-11.10;Name=maker-scaffold27-augustus-gene-11.10;Dbxref=CDD:cd09582,Gene3D:G3DSA:1.10.150.50,Gene3D:G3DSA:1.10.510.10,Gene3D:G3DSA:2.30.30.140,Gene3D:G3DSA:3.30.200.20,InterPro:IPR000719,InterPro:IPR000961,InterPro:IPR001660,InterPro:IPR002515,InterPro:IPR004092,InterPro:IPR008271,InterPro:IPR011009,InterPro:IPR013761,InterPro:IPR017892,InterPro:IPR036060,MobiDBLite:mobidb-lite,PANTHER:PTHR12247,PANTHER:PTHR12247:SF69,Pfam:PF00069,Pfam:PF00433,Pfam:PF00536,Pfam:PF01530,Pfam:PF02820,ProSitePatterns:PS00108,ProSiteProfiles:PS50011,ProSiteProfiles:PS50105,ProSiteProfiles:PS51079,ProSiteProfiles:PS51285,ProSiteProfiles:PS51802,SMART:SM00133,SMART:SM00220,SMART:SM00454,SMART:SM00561,SUPERFAMILY:SSF103637,SUPERFAMILY:SSF47769,SUPERFAMILY:SSF56112,SUPERFAMILY:SSF63748;Note=Similar to L3MBTL1: Lethal(3)malignant brain tumor-like protein 1 (Gallus gallus OX%3D9031);Ontology_term=GO:0003700,GO:0004672,GO:0004674,GO:0005515,GO:0005524,GO:0005634,GO:0006355,GO:0006468,GO:0008270 +scaffold27 maker gene 1174728 1189139 . - . ID=maker-scaffold27-augustus-gene-11.11;Name=maker-scaffold27-augustus-gene-11.11;Dbxref=Coils:Coil,InterPro:IPR024832,InterPro:IPR024835,MobiDBLite:mobidb-lite,PANTHER:PTHR15607,PANTHER:PTHR15607:SF12;Note=Similar to SYCP2: Synaptonemal complex protein 2 (Homo sapiens OX%3D9606) +scaffold27 maker gene 1085420 1086617 . - . ID=maker-scaffold27-augustus-gene-11.8;Name=maker-scaffold27-augustus-gene-11.8;Dbxref=InterPro:IPR029021,PANTHER:PTHR23339,PANTHER:PTHR23339:SF94,SUPERFAMILY:SSF52799;Note=Similar to ptpdc1: Protein tyrosine phosphatase domain-containing protein 1 (Danio rerio OX%3D7955) +scaffold27 maker gene 1080839 1085054 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-11.12;Name=maker-scaffold27-exonerate_protein2genome-gene-11.12 +scaffold27 maker gene 1096041 1099266 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-11.16;Name=maker-scaffold27-exonerate_protein2genome-gene-11.16 +scaffold27 maker gene 1102298 1109092 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-11.18;Name=maker-scaffold27-exonerate_protein2genome-gene-11.18 +scaffold27 maker gene 1129337 1132836 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-11.29;Name=maker-scaffold27-exonerate_protein2genome-gene-11.29 +scaffold27 maker gene 1142492 1148133 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-11.39;Name=maker-scaffold27-exonerate_protein2genome-gene-11.39 +scaffold27 maker gene 1208941 1212725 . + . ID=maker-scaffold27-augustus-gene-12.0;Name=maker-scaffold27-augustus-gene-12.0;Dbxref=InterPro:IPR029266,MobiDBLite:mobidb-lite,PANTHER:PTHR22145,PANTHER:PTHR22145:SF2,Pfam:PF15344;Note=Similar to FAM217B: Protein FAM217B (Homo sapiens OX%3D9606) +scaffold27 maker gene 1262942 1272995 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-12.3;Name=maker-scaffold27-exonerate_protein2genome-gene-12.3 +scaffold27 maker gene 1206565 1208726 . - . ID=maker-scaffold27-exonerate_est2genome-gene-12.3;Name=maker-scaffold27-exonerate_est2genome-gene-12.3;Dbxref=Gene3D:G3DSA:2.60.40.2440,InterPro:IPR005036,InterPro:IPR038175,MobiDBLite:mobidb-lite,PANTHER:PTHR12307,PANTHER:PTHR12307:SF4,Pfam:PF03370,ProSiteProfiles:PS51159;Note=Similar to PPP1R3D: Protein phosphatase 1 regulatory subunit 3D (Homo sapiens OX%3D9606);Ontology_term=GO:0005515 +scaffold27 maker gene 1213029 1217507 . - . ID=maker-scaffold27-augustus-gene-12.1;Name=maker-scaffold27-augustus-gene-12.1;Dbxref=Gene3D:G3DSA:3.30.1490.20,Gene3D:G3DSA:3.30.470.20,InterPro:IPR004344,InterPro:IPR013815,InterPro:IPR027751,PANTHER:PTHR12241,PANTHER:PTHR12241:SF39,Pfam:PF03133,ProSiteProfiles:PS51221,SUPERFAMILY:SSF56059;Note=Similar to TTLL9: Probable tubulin polyglutamylase TTLL9 (Homo sapiens OX%3D9606);Ontology_term=GO:0005524,GO:0006464 +scaffold27 maker gene 1198032 1202479 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-12.5;Name=maker-scaffold27-exonerate_protein2genome-gene-12.5 +scaffold27 maker gene 1226155 1230783 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-12.15;Name=maker-scaffold27-exonerate_protein2genome-gene-12.15 +scaffold27 maker gene 1430214 1446282 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-14.0;Name=maker-scaffold27-exonerate_protein2genome-gene-14.0 +scaffold27 maker gene 1447513 1451570 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-14.1;Name=maker-scaffold27-exonerate_protein2genome-gene-14.1 +scaffold27 maker gene 1865048 1865963 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-18.3;Name=maker-scaffold27-exonerate_protein2genome-gene-18.3 +scaffold27 maker gene 1841075 1845788 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-18.4;Name=maker-scaffold27-exonerate_protein2genome-gene-18.4 +scaffold27 maker gene 1867030 1868428 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-18.5;Name=maker-scaffold27-exonerate_protein2genome-gene-18.5 +scaffold27 maker gene 1874552 1880976 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-18.6;Name=maker-scaffold27-exonerate_protein2genome-gene-18.6 +scaffold27 maker gene 1893574 1898072 . + . ID=maker-scaffold27-augustus-gene-19.10;Name=maker-scaffold27-augustus-gene-19.10;Dbxref=InterPro:IPR019402,InterPro:IPR032990,PANTHER:PTHR21324,PANTHER:PTHR21324:SF10,Pfam:PF10277;Note=Similar to Dram2: DNA damage-regulated autophagy modulator protein 2 (Mus musculus OX%3D10090);Ontology_term=GO:0007601,GO:0010506 +scaffold27 maker gene 1947919 1954646 . + . ID=maker-scaffold27-augustus-gene-19.11;Name=maker-scaffold27-augustus-gene-19.11;Dbxref=Gene3D:G3DSA:1.20.1740.10,InterPro:IPR002293,MobiDBLite:mobidb-lite,PANTHER:PTHR11785,PANTHER:PTHR11785:SF315,PIRSF:PIRSF006060,Pfam:PF13520;Note=Similar to SLC7A5: Large neutral amino acids transporter small subunit 1 (Homo sapiens OX%3D9606);Ontology_term=GO:0016020,GO:0022857,GO:0055085 +scaffold27 maker gene 1884564 1890230 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-19.0;Name=maker-scaffold27-exonerate_protein2genome-gene-19.0 +scaffold27 maker gene 1899996 1916044 . - . ID=maker-scaffold27-augustus-gene-19.12;Name=maker-scaffold27-augustus-gene-19.12;Dbxref=Coils:Coil,Gene3D:G3DSA:3.30.450.200,Gene3D:G3DSA:3.40.50.11500,InterPro:IPR001194,InterPro:IPR005112,InterPro:IPR005113,InterPro:IPR037516,MobiDBLite:mobidb-lite,PANTHER:PTHR15288,PANTHER:PTHR15288:SF2,Pfam:PF02141,Pfam:PF03455,Pfam:PF03456,ProSiteProfiles:PS50211,SMART:SM00799,SMART:SM00800,SMART:SM00801;Note=Similar to DENND2D: DENN domain-containing protein 2D (Homo sapiens OX%3D9606) +scaffold27 maker gene 1932427 1935356 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-19.24;Name=maker-scaffold27-exonerate_protein2genome-gene-19.24 +scaffold27 maker gene 1960006 1967447 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-19.26;Name=maker-scaffold27-exonerate_protein2genome-gene-19.26 +scaffold27 maker gene 2089385 2093369 . + . ID=maker-scaffold27-augustus-gene-20.12;Name=maker-scaffold27-augustus-gene-20.12;Dbxref=CDD:cd00170,Gene3D:G3DSA:1.10.8.20,Gene3D:G3DSA:1.20.5.1200,Gene3D:G3DSA:3.40.525.10,InterPro:IPR001251,InterPro:IPR011074,InterPro:IPR036273,InterPro:IPR036865,PANTHER:PTHR10174,PANTHER:PTHR10174:SF130,PRINTS:PR00180,Pfam:PF00650,Pfam:PF03765,ProSiteProfiles:PS50191,SMART:SM00516,SMART:SM01100,SUPERFAMILY:SSF46938,SUPERFAMILY:SSF52087;Note=Similar to TTPAL: Alpha-tocopherol transfer protein-like (Pongo abelii OX%3D9601) +scaffold27 maker gene 2026933 2030798 . + . ID=augustus-scaffold27-processed-gene-20.1;Name=augustus-scaffold27-processed-gene-20.1;Dbxref=Coils:Coil,Gene3D:G3DSA:1.20.1050.10,Gene3D:G3DSA:3.40.30.10,InterPro:IPR010987,InterPro:IPR034336,InterPro:IPR036282,PANTHER:PTHR44188,PANTHER:PTHR44188:SF2,Pfam:PF13410,ProSiteProfiles:PS50405,SUPERFAMILY:SSF47616;Note=Similar to GDAP1L1: Ganglioside-induced differentiation-associated protein 1-like 1 (Homo sapiens OX%3D9606) +scaffold27 maker gene 2095740 2102605 . + . ID=maker-scaffold27-augustus-gene-20.13;Name=maker-scaffold27-augustus-gene-20.13;Note=Protein of unknown function +scaffold27 maker gene 2020036 2025103 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-20.2;Name=maker-scaffold27-exonerate_protein2genome-gene-20.2 +scaffold27 maker gene 2106469 2107842 . + . ID=maker-scaffold27-exonerate_protein2genome-gene-20.5;Name=maker-scaffold27-exonerate_protein2genome-gene-20.5 +scaffold27 maker gene 2033474 2034742 . - . ID=maker-scaffold27-exonerate_protein2genome-gene-20.7;Name=maker-scaffold27-exonerate_protein2genome-gene-20.7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/target.gff Mon Nov 30 18:20:46 2020 +0000 @@ -0,0 +1,3 @@ +NW_012219049.1 Gnomon gene 517154 518453 . + . ID=gene2900;Dbxref=GeneID:105913423;Name=LOC105913423;gbkey=Gene;gene=LOC105913423;gene_biotype=lncRNA +NW_012217743.1 Gnomon gene 12369769 12372066 . - . ID=gene518;Dbxref=GeneID:105888784;Name=LOC105888784;gbkey=Gene;gene=LOC105888784;gene_biotype=protein_coding +NW_012222569.1 Gnomon gene 354350 357278 . - . ID=gene19467;Dbxref=GeneID:105906405;Name=tshz2;gbkey=Gene;gene=tshz2;gene_biotype=protein_coding