def test_seq_subset_load_from_all_genes(self): seqfile_ops.write_genbank(self.gbk_filename, self.record) subset_mode = 'features' subset_args = {'types': ('genes'), 'tags': {}} subset, subset_file = dataset_load.seq_subset_load(self.gbk_filename, subset_mode, subset_args) self.assertIs(len(subset), 2)
def test_seq_subset_load_from_cds_by_locus_tag(self): seqfile_ops.write_genbank(self.gbk_filename, self.record) subset_mode = 'features' subset_args = {'types': ('CDS'), 'tags': {'locus_tag': ['locustag 1', 'locustag 4']}} subset, subset_file = dataset_load.seq_subset_load(self.gbk_filename, subset_mode, subset_args) self.assertIs(len(subset), 1) self.assertEqual(subset[0].id, 'temp_5-10')
def test_seq_subset_load_from_mixed_features(self): seqfile_ops.write_genbank(self.gbk_filename, self.record) subset_mode = 'features' subset_args = {'types': ('CDS', 'gene'), 'tags': {'locus_tag': ('locustag 3'), 'product': (('product 2'))}} subset, subset_file = dataset_load.seq_subset_load(self.gbk_filename, subset_mode, subset_args) self.assertIs(len(subset), 2)
def test_surefmt_load_gbk2fas(self): count = seqfile_ops.write_genbank(self.gbk_filename, self.record) self.assertIs(count, 1) fas_record = seqfile_ops.surefmt_load(self.gbk_filename, 'fasta', generic_dna) self.assertEqual(fas_record.id, self.record.id)
def setUp(self): # create temp directory self.temp_dir = "tests/temp_data/" os.mkdir(self.temp_dir) # create a sequence record with genbank features self.seq = Seq("AATTTAATGGCGCAGGCTAGGAGAGAGATTTTTGGCGCTCGCGGGGCGGGG", generic_dna) self.feat_cds1 = SeqFeature( FeatureLocation(5, 10), strand=1, type="CDS", qualifiers={"locus_tag": "locustag 1", "product": "product 1"} ) self.feat_cds2 = SeqFeature( FeatureLocation(22, 40), strand=-1, type="CDS", qualifiers={"locus_tag": "locustag 2", "product": "product 2"}, ) self.feat_gene1 = SeqFeature( FeatureLocation(5, 10), strand=-1, type="gene", qualifiers={"locus_tag": "locustag 3", "product": "product 3"}, ) self.feat_gene2 = SeqFeature( FeatureLocation(22, 40), strand=-1, type="gene", qualifiers={"locus_tag": "locustag 4", "product": "product 4"}, ) self.features = [self.feat_cds1, self.feat_cds2, self.feat_gene1, self.feat_gene2] self.record = SeqRecord( self.seq, id="temp", name="temp_name", description="temporary genbank record", features=self.features ) self.filename = self.temp_dir + "temp_in.gbk" self.count = seqfile_ops.write_genbank(self.filename, self.record)
def test_write_and_load_single_genbank(self): count = seqfile_ops.write_genbank(self.gbk_filename, self.record) self.assertIs(count, 1) gbk_record = seqfile_ops.load_genbank(self.gbk_filename) self.assertEqual(gbk_record.id, self.record.id) # check features for index in range (0,1): self.assertEqual(gbk_record.features[index].type, self.record.features[index].type)
def test_load_agnostic_gbk(self): count = seqfile_ops.write_genbank(self.gbk_filename, self.record) self.assertIs(count, 1) gbk_record, type = seqfile_ops.load_agnostic(self.gbk_filename) self.assertEqual(gbk_record.id, self.record.id) self.assertEqual(type, 'genbank') # check features for index in range (0,1): self.assertEqual(gbk_record.features[index].type, self.record.features[index].type)
def test_surefmt_load_gbk2gbk(self): count = seqfile_ops.write_genbank(self.gbk_filename, self.record) self.assertIs(count, 1) gbk_record = seqfile_ops.surefmt_load(self.gbk_filename, 'genbank', generic_dna) self.assertEqual(gbk_record.id, self.record.id) # check features for index in range (0,1): self.assertEqual(gbk_record.features[index].type, self.record.features[index].type)
def test_seqfile_format_gbk(self): count = seqfile_ops.write_genbank(self.gbk_filename, self.record) self.assertIs(count, 1) format, name = seqfile_ops.seqfile_format(self.gbk_filename) self.assertEqual(format, 'genbank')