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_get_first_chrom_name_multiple_chroms_gets_first(): fp = StringIO(">ch1\nA\n>ch2\nG") actual = get_first_chrom_name(fp) expected = "ch1" assert actual == expected
def test_get_first_chrom_name_pointer_is_past_start_gets_first(): fp = StringIO(">ch1\nA\n>ch2\nG") _ = fp.readline() actual = get_first_chrom_name(fp) expected = "ch1" assert actual == expected
def test_get_first_chrom_name_not_fasta_raises_error(): fp = StringIO("@chrom1\nACGT") with pytest.raises(ValueError): get_first_chrom_name(fp)