<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bcftoolsConsensus(outFile, vcfFile, id_, referenceFile, executor):
 """ Use bcftools to extract consensus FASTA. @param outFile: The C{str} name to write the output to. @param vcfFile: The C{str} name of the VCF file with the calls from the pileup. @param id_: The C{str} identifier to use in the resulting FASTA sequence. @param referenceFile: The C{str} name of the FASTA file with the reference sequence. @param executor: An C{Executor} instance. """

    bgz = vcfFile + '.gz'
    executor.execute('bgzip -c %s > %s' % (vcfFile, bgz))
    executor.execute('tabix %s' % bgz)
    executor.execute(
        'bcftools consensus %s < %s | '
        'filter-fasta.py --idLambda \'lambda id: "%s"\' > %s' %
        (bgz, referenceFile, id_, outFile))