Ejemplo n.º 1
0
    def test_inter(self):
        fi = gt.FeatureIndexMemory()
        gt.FeatureStream(gt.CustomStreamExample(self.ins), fi).pull()

        f = fi.get_features_for_seqid('ctg123')
        dfi = gt.FeatureNodeIteratorDepthFirst(f[0])
        f = dfi.next()
        types = set([])
        while f:
            types.update([f.type])
            f = dfi.next()
        self.assertTrue('bar' in types, types)
Ejemplo n.º 2
0
    def test_merge(self):
        fi = gt.FeatureIndexMemory()
        gt.FeatureStream(gt.MergeFeatureStream(self.ins), fi).pull()

        f = fi.get_features_for_seqid('seq1')
        self.assertEqual(len(f), 1)
        dfi = gt.FeatureNodeIteratorDirect(f[0])
        sub = dfi.next()
        self.assertEqual(None, dfi.next())

        self.assertEqual(sub.start, 1000)
        self.assertEqual(sub.end, 10000)
Ejemplo n.º 3
0
    def test_dup(self):
        fi = gt.FeatureIndexMemory()
        gt.FeatureStream(gt.DuplicateFeatureStream(self.ins, "intron", "exon"),
                         fi).pull()

        f = fi.get_features_for_seqid('ctg123')
        dfi = gt.FeatureNodeIteratorDepthFirst(f[0])
        f = dfi.next()
        types = set([])
        while f:
            types.update([f.type])
            f = dfi.next()
        self.assertTrue('intron' in types, types)
Ejemplo n.º 4
0
    def test_pull(self):
        add_introns_stream = gt.AddIntronsStream(self.ins)
        fi = gt.FeatureIndexMemory()
        gt.FeatureStream(add_introns_stream, fi).pull()

        self.assertTrue('1877523' in fi.get_seqids())