def main(argv): if len(argv) != 2: print('Usage: {} <input_vcf>'.format(argv[0])) sys.exit(-1) in_vcf = argv[1] total = 0 by_type = collections.defaultdict(int) by_ref = collections.defaultdict(int) with vcf.VcfReader(in_vcf) as reader: for variant in reader: total += 1 by_type[variant_utils.variant_type(variant)] += 1 by_ref[variant.reference_name] += 1 print('# variants: {}'.format(total)) print('# ref variants: {}'.format(by_type[variant_utils.VariantType.ref])) print('# SNP variants: {}'.format(by_type[variant_utils.VariantType.snp])) print('# indel variants: {}'.format(by_type[variant_utils.VariantType.indel])) for k, v in sorted(by_ref.items()): print('# variants in {}: {}'.format(k, v))
def test_variant_type(self, variant, expected): self.assertEqual(variant_utils.variant_type(variant), expected)