def test_raises_for_unlabeled_examples(self):
        FLAGS.ref = testdata.CHR20_FASTA
        FLAGS.examples = testdata.GOLDEN_CALLING_EXAMPLES
        FLAGS.output_vcf = test_utils.test_tmpfile('unlabeled.vcf')

        with self.assertRaisesRegexp(
                ValueError,
            ('Variant .* does not have any genotypes. This tool only works with '
             'variants that have been labeled')):
            labeled_examples_to_vcf.main(0)
    def test_sample_name_flag(self):
        FLAGS.ref = testdata.CHR20_FASTA
        FLAGS.examples = testdata.GOLDEN_TRAINING_EXAMPLES
        FLAGS.sample_name = 'sample_name'
        FLAGS.output_vcf = test_utils.test_tmpfile('no_sample_name.vcf')

        labeled_examples_to_vcf.main(0)

        with vcf.VcfReader(FLAGS.output_vcf) as vcf_reader:
            self.assertEqual(list(vcf_reader.header.sample_names),
                             [FLAGS.sample_name])
    def test_end2end(self):
        FLAGS.ref = testdata.CHR20_FASTA
        FLAGS.examples = testdata.GOLDEN_TRAINING_EXAMPLES + '@3'  # Sharded.
        FLAGS.output_vcf = test_utils.test_tmpfile('examples_to_vcf.vcf')

        labeled_examples_to_vcf.main(0)

        self.assertEqual(
            open(FLAGS.output_vcf).readlines(),
            open(testdata.deepvariant_testdata(
                'golden.training_examples.vcf')).readlines())