Пример #1
0
 def test_variants(self):
     start = 120000
     stop = 121000
     x = pileup.Features(json="{}",
                         build='hg19',
                         contig='chr1',
                         start=start,
                         stop=stop)
     assert (x.start == start)
     assert (x.stop == stop)
Пример #2
0
 def test_minimal_features_html(self):
     w = pileup.Features(json="{}",
                         build='hg19',
                         contig='chr1',
                         start=1,
                         stop=20)
     output = StringIO()
     state = dependency_state(w, drop_defaults=True)
     embed_minimal_html(output, views=w, drop_defaults=True, state=state)
     content = output.getvalue()
     assert content.splitlines()[0] == '<!DOCTYPE html>'
Пример #3
0
    def test_embed_features(self):
        w = pileup.Features(json="{}",
                            build='hg19',
                            contig='chr1',
                            start=1,
                            stop=20)
        state = dependency_state(w, drop_defaults=True)
        data = embed_data(views=w, drop_defaults=True, state=state)

        state = data['manager_state']['state']
        views = data['view_specs']

        assert len(views) == 1

        model_names = [s['model_name'] for s in state.values()]
        assert 'FeatureModel' in model_names
Пример #4
0
    def ViewFeatures(self, featureRDD, contig, start, end, showPlot=True):
        contig_trimmed = contig.lstrip(self.chrPrefix)

        # Filter RDD
        filtered = featureRDD.transform(lambda r: r.filter(
            ((r.contigName == contig) | (r.contigName == contig_trimmed))
            & (r.start < end) & (r.end > start)))

        # convert to GA4GH JSON to be consumed by mango-viz module
        json = self.ac._jvm.org.bdgenomics.mango.converters.GA4GHutil.featureRDDtoJSON(
            filtered._jvmRdd)

        # visualize
        if (showPlot):
            return pileup.Features(json=json,
                                   build=self.build,
                                   contig=contig,
                                   start=start,
                                   stop=end)
Пример #5
0
    def test_embed_data_two_widgets(self):
        w1 = pileup.Variants(json="{}",
                             build='hg19',
                             contig='chr1',
                             start=1,
                             stop=20)
        w2 = pileup.Features(json="{}",
                             build='hg19',
                             contig='chr1',
                             start=1,
                             stop=20)

        jslink((w1, 'start'), (w2, 'start'))
        state = dependency_state([w1, w2], drop_defaults=True)
        data = embed_data(views=[w1, w2], drop_defaults=True, state=state)

        state = data['manager_state']['state']
        views = data['view_specs']

        assert len(views) == 2

        model_names = [s['model_name'] for s in state.values()]
        assert 'VariantModel' in model_names
        assert 'FeatureModel' in model_names