Program: 132258
Project: 132258
Buggy source:
/** 
 * Run the VerifyBamId algorithm and output the resulting contamination estimate.
 */
public static void main(String[] args) throws GeneralSecurityException, IOException {
  PipelineOptionsFactory.register(VerifyBamIdOptions.class);
  options=PipelineOptionsFactory.fromArgs(args).withValidation().as(VerifyBamId.VerifyBamIdOptions.class);
  GenomicsDatasetOptions.Methods.validateOptions(options);
  auth=GenomicsOptions.Methods.getGenomicsAuth(options);
  p=Pipeline.create(options);
  DataflowWorkarounds.registerGenomicsCoders(p);
  DataflowWorkarounds.registerCoder(p,Read.class,SerializableCoder.of(Read.class));
  DataflowWorkarounds.registerCoder(p,Variant.class,SerializableCoder.of(Variant.class));
  DataflowWorkarounds.registerCoder(p,ReadBaseQuality.class,GenericJsonCoder.of(ReadBaseQuality.class));
  DataflowWorkarounds.registerCoder(p,AlleleFreq.class,GenericJsonCoder.of(AlleleFreq.class));
  DataflowWorkarounds.registerCoder(p,ReadCounts.class,GenericJsonCoder.of(ReadCounts.class));
  if (options.getInputDatasetId().isEmpty() && (options.getReadGroupSetIds().isEmpty() || options.getVariantSetIds().isEmpty())) {
    throw new IllegalArgumentException("String_Node_Str" + "String_Node_Str");
  }
  List<String> rgsIds;
  List<String> vsIds;
  if (options.getInputDatasetId().isEmpty()) {
    rgsIds=Lists.newArrayList(options.getReadGroupSetIds().split("String_Node_Str"));
    vsIds=Lists.newArrayList(options.getVariantSetIds().split("String_Node_Str"));
  }
 else {
    rgsIds=ReadUtils.getReadGroupSetIds(options.getInputDatasetId(),auth);
    vsIds=VariantUtils.getVariantSetIds(options.getInputDatasetId(),auth);
  }
  List<Contig> contigs;
  String referenceSetId=checkReferenceSetIds(rgsIds);
  if (options.isAllReferences()) {
    contigs=getAllReferences(referenceSetId);
  }
 else {
    contigs=parseReferences(options.getReferences(),referenceSetId);
  }
  PCollection<Read> reads=getReadsFromAPI(rgsIds);
  PCollection<Variant> variants=getVariantsFromAPI(vsIds);
  PCollection<KV<Position,AlleleFreq>> refFreq=getFreq(variants,options.getMinFrequency());
  PCollection<KV<Position,ReadCounts>> readCountsTable=combineReads(reads,options.getSamplingFraction(),HASH_PREFIX,refFreq);
  PCollectionView<Map<Position,ReadCounts>> view=readCountsTable.apply(View.<Position,ReadCounts>asMap().withSingletonValues());
  PCollection<String> result=p.begin().apply(Create.of("String_Node_Str")).apply(ParDo.of(new Maximizer(view)).withSideInputs(view));
  result.apply(TextIO.Write.to(options.getOutput()).named("String_Node_Str").withoutSharding());
  p.run();
}

Fixed version (ground truth):
/** 
 * Run the VerifyBamId algorithm and output the resulting contamination estimate.
 */
public static void main(String[] args) throws GeneralSecurityException, IOException {
  PipelineOptionsFactory.register(VerifyBamIdOptions.class);
  options=PipelineOptionsFactory.fromArgs(args).withValidation().as(VerifyBamId.VerifyBamIdOptions.class);
  GenomicsDatasetOptions.Methods.validateOptions(options);
  auth=GenomicsOptions.Methods.getGenomicsAuth(options);
  p=Pipeline.create(options);
  DataflowWorkarounds.registerGenomicsCoders(p);
  DataflowWorkarounds.registerCoder(p,Read.class,SerializableCoder.of(Read.class));
  DataflowWorkarounds.registerCoder(p,Variant.class,SerializableCoder.of(Variant.class));
  DataflowWorkarounds.registerCoder(p,ReadBaseQuality.class,GenericJsonCoder.of(ReadBaseQuality.class));
  DataflowWorkarounds.registerCoder(p,AlleleFreq.class,GenericJsonCoder.of(AlleleFreq.class));
  DataflowWorkarounds.registerCoder(p,ReadCounts.class,GenericJsonCoder.of(ReadCounts.class));
  if (options.getInputDatasetId().isEmpty() && (options.getReadGroupSetIds().isEmpty() || options.getVariantSetIds().isEmpty())) {
    throw new IllegalArgumentException("String_Node_Str" + "String_Node_Str");
  }
  List<String> rgsIds;
  List<String> vsIds;
  if (options.getInputDatasetId().isEmpty()) {
    rgsIds=Lists.newArrayList(options.getReadGroupSetIds().split("String_Node_Str"));
    vsIds=Lists.newArrayList(options.getVariantSetIds().split("String_Node_Str"));
  }
 else {
    rgsIds=ReadStreamer.getReadGroupSetIds(options.getInputDatasetId(),auth);
    vsIds=VariantStreamer.getVariantSetIds(options.getInputDatasetId(),auth);
  }
  List<Contig> contigs;
  String referenceSetId=checkReferenceSetIds(rgsIds);
  if (options.isAllReferences()) {
    contigs=getAllReferences(referenceSetId);
  }
 else {
    contigs=parseReferences(options.getReferences(),referenceSetId);
  }
  PCollection<Read> reads=getReadsFromAPI(rgsIds);
  PCollection<Variant> variants=getVariantsFromAPI(vsIds);
  PCollection<KV<Position,AlleleFreq>> refFreq=getFreq(variants,options.getMinFrequency());
  PCollection<KV<Position,ReadCounts>> readCountsTable=combineReads(reads,options.getSamplingFraction(),HASH_PREFIX,refFreq);
  PCollectionView<Map<Position,ReadCounts>> view=readCountsTable.apply(View.<Position,ReadCounts>asMap().withSingletonValues());
  PCollection<String> result=p.begin().apply(Create.of("String_Node_Str")).apply(ParDo.of(new Maximizer(view)).withSideInputs(view));
  result.apply(TextIO.Write.to(options.getOutput()).named("String_Node_Str").withoutSharding());
  p.run();
}