Melt the samples columns. E.g.::
    
        >>> import petl as etl
        >>> # activate bio extensions
        ... import petlx.bio
        >>> table1 = (
        ...     etl
        ...     .fromvcf('fixture/sample.vcf')
        ...     .vcfmeltsamples()
        ... )
        >>> table1
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | CHROM | POS | ID   | REF | ALT | QUAL | FILTER | INFO | SAMPLE    | CALL                                                |
        +=======+=====+======+=====+=====+======+========+======+===========+=====================================================+
        | '19'  | 111 | None | 'A' | [C] |  9.6 | None   | {}   | 'NA00001' | Call(sample=NA00001, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 111 | None | 'A' | [C] |  9.6 | None   | {}   | 'NA00002' | Call(sample=NA00002, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 111 | None | 'A' | [C] |  9.6 | None   | {}   | 'NA00003' | Call(sample=NA00003, CallData(GT=0/1, HQ=[3, 3]))   |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 112 | None | 'A' | [G] |   10 | None   | {}   | 'NA00001' | Call(sample=NA00001, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 112 | None | 'A' | [G] |   10 | None   | {}   | 'NA00002' | Call(sample=NA00002, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        ...

def vcfmeltsamples(table, *samples):
    """
    Melt the samples columns. E.g.::
    
        >>> import petl as etl
        >>> # activate bio extensions
        ... import petlx.bio
        >>> table1 = (
        ...     etl
        ...     .fromvcf('fixture/sample.vcf')
        ...     .vcfmeltsamples()
        ... )
        >>> table1
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | CHROM | POS | ID   | REF | ALT | QUAL | FILTER | INFO | SAMPLE    | CALL                                                |
        +=======+=====+======+=====+=====+======+========+======+===========+=====================================================+
        | '19'  | 111 | None | 'A' | [C] |  9.6 | None   | {}   | 'NA00001' | Call(sample=NA00001, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 111 | None | 'A' | [C] |  9.6 | None   | {}   | 'NA00002' | Call(sample=NA00002, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 111 | None | 'A' | [C] |  9.6 | None   | {}   | 'NA00003' | Call(sample=NA00003, CallData(GT=0/1, HQ=[3, 3]))   |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 112 | None | 'A' | [G] |   10 | None   | {}   | 'NA00001' | Call(sample=NA00001, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        | '19'  | 112 | None | 'A' | [G] |   10 | None   | {}   | 'NA00002' | Call(sample=NA00002, CallData(GT=0|0, HQ=[10, 10])) |
        +-------+-----+------+-----+-----+------+--------+------+-----------+-----------------------------------------------------+
        ...

    """

    result = etl.melt(table, key=VCF_HEADER, variables=samples,
                      variablefield='SAMPLE', valuefield='CALL')
    return result