treetime/wrappers.py
def read_if_vcf(params):
    """
    Checks if input is VCF and reads in appropriately if it is
    """
    ref = None
    aln = params.aln
    fixed_pi = None
    if hasattr(params, 'aln') and params.aln is not None:
        if any([params.aln.lower().endswith(x) for x in ['.vcf', '.vcf.gz']]):
            if not params.vcf_reference:
                print("ERROR: a reference Fasta is required with VCF-format alignments")
                return -1
            compress_seq = read_vcf(params.aln, params.vcf_reference)
            sequences = compress_seq['sequences']
            ref = compress_seq['reference']
            aln = sequences

            if not hasattr(params, 'gtr') or params.gtr=="infer": #if not specified, set it:
                alpha = alphabets['aa'] if params.aa else alphabets['nuc']
                fixed_pi = [ref.count(base)/len(ref) for base in alpha]
                if fixed_pi[-1] == 0:
                    fixed_pi[-1] = 0.05
                    fixed_pi = [v-0.01 for v in fixed_pi]

    return aln, ref, fixed_pi
def read_if_vcf(params):
    """
    Checks if input is VCF and reads in appropriately if it is
    """
    ref = None
    aln = params.aln
    fixed_pi = None
    if hasattr(params, 'aln') and params.aln is not None:
        if any([params.aln.lower().endswith(x) for x in ['.vcf', '.vcf.gz']]):
            if not params.vcf_reference:
                print("ERROR: a reference Fasta is required with VCF-format alignments")
                return -1
            compress_seq = read_vcf(params.aln, params.vcf_reference)
            sequences = compress_seq['sequences']
            ref = compress_seq['reference']
            aln = sequences

            if not hasattr(params, 'gtr') or params.gtr=="infer": #if not specified, set it:
                alpha = alphabets['aa'] if params.aa else alphabets['nuc']
                fixed_pi = [ref.count(base)/len(ref) for base in alpha]
                if fixed_pi[-1] == 0:
                    fixed_pi[-1] = 0.05
                    fixed_pi = [v-0.01 for v in fixed_pi]

    return aln, ref, fixed_pi
def read_if_vcf ( params ) : ref = None aln = params . aln fixed_pi = None if hasattr ( params , 'aln' ) and params . aln is not None : if any ( [ params . aln . lower ( ) . endswith ( x ) for x in [ '.vcf' , '.vcf.gz' ] ] ) : if not params . vcf_reference : print ( "ERROR: a reference Fasta is required with VCF-format alignments" ) return - 1 compress_seq = read_vcf ( params . aln , params . vcf_reference ) sequences = compress_seq [ 'sequences' ] ref = compress_seq [ 'reference' ] aln = sequences if not hasattr ( params , 'gtr' ) or params . gtr == "infer" : #if not specified, set it: alpha = alphabets [ 'aa' ] if params . aa else alphabets [ 'nuc' ] fixed_pi = [ ref . count ( base ) / len ( ref ) for base in alpha ] if fixed_pi [ - 1 ] == 0 : fixed_pi [ - 1 ] = 0.05 fixed_pi = [ v - 0.01 for v in fixed_pi ] return aln , ref , fixed_pi
Checks if input is VCF and reads in appropriately if it is
Checks if input is VCF and reads in appropriately if it is