def test_gff3join(): #apidb|MAL1 ApiDB gene 56913 57116 . - . ID=apidb|PFA0035c;Name=PFA0035c;description=hypothetical+protein%2C+conserved+in+P.+falciparum;size=204;web_id=PFA0035c;locus_tag=PFA0035c;size=204;Alias=MAL1P4.06b snps = (('chr', 'pos'), ('apidb|MAL1', 56911), ('apidb|MAL1', 56915)) features = fromgff3(plasmodb_gff3_file.name) genes = selecteq(features, 'type', 'gene') actual = gff3join(snps, genes, seqid='chr', start='pos', end='pos') expect = (('chr', 'pos', 'seqid', 'source', 'type', 'start', 'end', 'score', 'strand', 'phase', 'attributes'), ('apidb|MAL1', 56915, 'apidb|MAL1', 'ApiDB', 'gene', 56913, 57116, '.', '-', '.', gff3_parse_attributes("ID=apidb|PFA0035c;Name=PFA0035c;description=hypothetical+protein%2C+conserved+in+P.+falciparum;size=204;web_id=PFA0035c;locus_tag=PFA0035c;size=204;Alias=MAL1P4.06b"))) ieq(expect, actual) ieq(expect, actual)
def test_gff3lookup(): features = fromgff3(plasmodb_gff3_file.name) genes = selecteq(features, 'type', 'gene') lkp = gff3lookup(genes) #apidb|MAL1 ApiDB gene 56913 57116 . - . ID=apidb|PFA0035c;Name=PFA0035c;description=hypothetical+protein%2C+conserved+in+P.+falciparum;size=204;web_id=PFA0035c;locus_tag=PFA0035c;size=204;Alias=MAL1P4.06b actual = lkp['apidb|MAL1'][56911:56915] eq_(1, len(actual)) eq_(56913, actual[0][3]) eq_(57116, actual[0][4]) actual = lkp['apidb|MAL1'][56915] eq_(1, len(actual)) eq_(56913, actual[0][3]) eq_(57116, actual[0][4])