Extract rows from a tabix indexed file, e.g.::

        >>> import petl as etl
        >>> # activate bio extensions
        ... import petlx.bio
        >>> table1 = etl.fromtabix('fixture/test.bed.gz',
        ...                        region='Pf3D7_02_v3')
        >>> table1
        +---------------+----------+----------+-----------------------------+
        | #chrom        | start    | end      | region                      |
        +===============+==========+==========+=============================+
        | 'Pf3D7_02_v3' | '0'      | '23100'  | 'SubtelomericRepeat'        |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '23100'  | '105800' | 'SubtelomericHypervariable' |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '105800' | '447300' | 'Core'                      |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '447300' | '450450' | 'Centromere'                |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '450450' | '862500' | 'Core'                      |
        +---------------+----------+----------+-----------------------------+
        ...

        >>> table2 = etl.fromtabix('fixture/test.bed.gz',
        ...                        region='Pf3D7_02_v3:110000-120000')
        >>> table2
        +---------------+----------+----------+--------+
        | #chrom        | start    | end      | region |
        +===============+==========+==========+========+
        | 'Pf3D7_02_v3' | '105800' | '447300' | 'Core' |
        +---------------+----------+----------+--------+

def fromtabix(filename, reference=None, start=None, stop=None, region=None,
              header=None):
    """
    Extract rows from a tabix indexed file, e.g.::

        >>> import petl as etl
        >>> # activate bio extensions
        ... import petlx.bio
        >>> table1 = etl.fromtabix('fixture/test.bed.gz',
        ...                        region='Pf3D7_02_v3')
        >>> table1
        +---------------+----------+----------+-----------------------------+
        | #chrom        | start    | end      | region                      |
        +===============+==========+==========+=============================+
        | 'Pf3D7_02_v3' | '0'      | '23100'  | 'SubtelomericRepeat'        |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '23100'  | '105800' | 'SubtelomericHypervariable' |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '105800' | '447300' | 'Core'                      |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '447300' | '450450' | 'Centromere'                |
        +---------------+----------+----------+-----------------------------+
        | 'Pf3D7_02_v3' | '450450' | '862500' | 'Core'                      |
        +---------------+----------+----------+-----------------------------+
        ...

        >>> table2 = etl.fromtabix('fixture/test.bed.gz',
        ...                        region='Pf3D7_02_v3:110000-120000')
        >>> table2
        +---------------+----------+----------+--------+
        | #chrom        | start    | end      | region |
        +===============+==========+==========+========+
        | 'Pf3D7_02_v3' | '105800' | '447300' | 'Core' |
        +---------------+----------+----------+--------+

    """
    
    return TabixView(filename, reference, start, stop, region, header)