Exemplo n.º 1
0
def test_migrate_one_variant(mongo_adapter):
    ##GIVEN a adapter to an empty old database
    adapter = mongo_adapter
    assert adapter.get_variants().count() == 0

    ##WHEN inserting a old style variant and updating the database
    chrom = '1'
    pos = 880086
    ref = 'T'
    alt = 'C'
    hom = hem = 0
    obs = 3
    families = ['recessive_trio', '1', '2']
    variant = {
        '_id': '_'.join([chrom, str(pos), ref, alt]),
        'homozygote': hom,
        'hemizygote': hem,
        'observations': obs,
        'families': families,
    }
    adapter.db.variant.insert_one(variant)
    ##THEN assert that the variant was updated correct

    nr_updated = migrate_database(adapter)
    assert nr_updated == 1

    migrated_variant = adapter.db.variant.find_one()

    assert migrated_variant['chrom'] == chrom
    assert migrated_variant['start'] == pos
    assert migrated_variant['end'] == pos
    assert migrated_variant['homozygote'] == hom
    assert migrated_variant['hemizygote'] == hem
    assert migrated_variant['observations'] == obs
    assert migrated_variant['families'] == families
Exemplo n.º 2
0
def test_migrate_one_variant(mongo_adapter):
    ##GIVEN a adapter to an empty old database
    adapter = mongo_adapter
    assert sum(1 for i in adapter.get_variants()) == 0

    ##WHEN inserting a old style variant and updating the database
    chrom = "1"
    pos = 880086
    ref = "T"
    alt = "C"
    hom = hem = 0
    obs = 3
    families = ["recessive_trio", "1", "2"]
    variant = {
        "_id": "_".join([chrom, str(pos), ref, alt]),
        "homozygote": hom,
        "hemizygote": hem,
        "observations": obs,
        "families": families,
    }
    adapter.db.variant.insert_one(variant)
    ##THEN assert that the variant was updated correct

    nr_updated = migrate_database(adapter)
    assert nr_updated == 1

    migrated_variant = adapter.db.variant.find_one()

    assert migrated_variant["chrom"] == chrom
    assert migrated_variant["start"] == pos
    assert migrated_variant["end"] == pos
    assert migrated_variant["homozygote"] == hom
    assert migrated_variant["hemizygote"] == hem
    assert migrated_variant["observations"] == obs
    assert migrated_variant["families"] == families
Exemplo n.º 3
0
def migrate(ctx, ):
    """Migrate an old loqusdb instance to 1.0"""
    adapter = ctx.obj["adapter"]

    start_time = datetime.now()

    nr_updated = migrate_database(adapter)

    LOG.info("All variants updated, time to complete migration: {}".format(
        datetime.now() - start_time))
    LOG.info("Nr variants that where updated: %s", nr_updated)