def run(parser, args): args = parser.parse_args() # args = check_args(args) if args.quiet: logger.setLevel(logging.ERROR) else: logger.setLevel(logging.INFO) DBNAME = 'atlas-%s' % (args.db_name) db = client[DBNAME] connect(DBNAME) logger.debug("Using DB %s" % DBNAME) reference_set_name = ".".join( os.path.basename(args.reference_set).split(".")[:-1]) try: reference_set = ReferenceSet.objects.get(name=reference_set_name) except DoesNotExist: reference_set = ReferenceSet.create_and_save(name=reference_set_name) # Hack try: reference = Reference.create_and_save(name=reference_set_name, reference_sets=[reference_set], md5checksum="NA") except: pass vcf = VCF(args.vcf, reference_set.id, method=args.method, force=args.force) vcf.add_to_database()
def test_add_add_variants_and_calls(self): vcf = VCF(f="tests/vcf_tests/test.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database() assert VariantCall.objects().count() == 21 assert Variant.objects().count() == 21
def run(parser, args): args = parser.parse_args() # args = check_args(args) if args.quiet: logger.setLevel(logging.ERROR) else: logger.setLevel(logging.INFO) DBNAME = "%s-%s" % (DB_PREFIX, args.db_name) connect(DBNAME, host=args.db_uri) logger.debug("Using DB %s" % DBNAME) with open(args.reference_set) as fp: reference_set_name = get_first_chrom_name(fp) try: reference_set = ReferenceSet.objects.get(name=reference_set_name) except DoesNotExist: reference_set = ReferenceSet.create_and_save(name=reference_set_name) try: reference = Reference.create_and_save(name=reference_set_name, reference_sets=[reference_set], md5checksum="NA") except: pass vcf = VCF(args.vcf, reference_set.id, method=args.method, force=args.force) vcf.add_to_database()
def test_add_new_vcf_variant_set(self): vcf = VCF(f="tests/vcf_tests/test.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database() assert VariantSetMetadata.objects().count() >= 2 assert VariantSetMetadata.objects(key="KMER").count() == 2
def test_add_new_vcf_variant_set(self): vcf = VCF(f="tests/vcf_tests/test.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database() # We create a global variant set as well as one for the individual VCF assert VariantSet.objects().count() == 2 vs = VariantSet.objects()[0] assert len(Variant.objects()[0].variant_sets) == 2 assert vs.name == "test.vcf"
def setup(self): DB.drop_database('mykrobe-test') self.reference_set = ReferenceSet().create_and_save(name="ref_set") self.reference = Reference().create_and_save( name="NC_000962.3", md5checksum="sre", reference_sets=[self.reference_set]) vcf = VCF(f="tests/vcf_tests/test.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database()
def test_add_new_call_set(self): vcf = VCF(f="tests/vcf_tests/test.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database() # Only one callset but the callset should belong to multiple variant # sets assert VariantCallSet.objects().count() == 1 assert VariantCallSet.objects()[0].created_at <= datetime.datetime.now( ) assert len(VariantCallSet.objects()[0].variant_sets) == 2
def test_add_second_vcf_variant_set(self): # This VCF only has one Variant which is not in the first VCF vcf = VCF(f="tests/vcf_tests/test2.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database() assert VariantSet.objects().count() == 3 assert VariantCallSet.objects().count() == 2 assert VariantCall.objects().count() == 42 assert Variant.objects().count() == 22 assert len(Variant.objects()[0].variant_sets) == 3 assert len( Variant.objects.get( names="UNION_BC_k31_var_147").variant_sets) == 3
def test_add_second_vcf_variant_set(self): # This VCF only has one Variant which is not in the first VCF vcf = VCF(f="tests/vcf_tests/test3.vcf", reference_set_id=self.reference_set.id, method="CORTEX") vcf.add_to_database() assert VariantSet.objects().count() == 2 assert VariantCallSet.objects().count() == 1 assert VariantCall.objects().count() == 106 assert Variant.objects().count() == 106 assert Variant.snps().count() == 89 assert Variant.indels().count() == 17 assert Variant.insertions().count() == 8 assert Variant.deletions().count() == 8 assert Variant.ph_snps.count() == 1
def run_make_probes_from_vcf_file(args): # Make VariantSet from vcf reference = os.path.basename(args.reference_filepath).split(".fa")[0] try: reference_set = ReferenceSet.objects.get(name=reference) except DoesNotExist: reference_set = ReferenceSet.create_and_save(name=reference) # Hack try: reference = Reference.create_and_save( name=reference, reference_sets=[reference_set], md5checksum=reference) except NotUniqueError: pass vcf = VCF( args.vcf, reference_set.id, method="tmp", force=True, append_to_global_variant_set=False) vcf.add_to_database()