def ancestral_sequence_inference(tree=None, aln=None, ref=None, infer_gtr=True, marginal=False, optimize_branch_length=True, branch_length_mode='auto'): from treetime import TreeAnc tt = TreeAnc(tree=tree, aln=aln, ref=ref, gtr='JC69', verbose=1) #convert marginal (from args.ancestral) from 'joint' or 'marginal' to True or False bool_marginal = (marginal == "marginal") if optimize_branch_length: tt.optimize_seq_and_branch_len(infer_gtr=infer_gtr, marginal_sequences=bool_marginal, branch_length_mode=branch_length_mode) else: # only infer ancestral sequences, leave branch length untouched tt.infer_ancestral_sequences(infer_gtr=infer_gtr, marginal=bool_marginal) print( "\nInferred ancestral sequence states using TreeTime:" "\n\tSagulenko et al. TreeTime: Maximum-likelihood phylodynamic analysis" "\n\tVirus Evolution, vol 4, https://academic.oup.com/ve/article/4/1/vex042/4794731\n" ) return tt
def ancestral_sequence_inference(tree=None, aln=None, infer_gtr=True, optimize_branch_length=True): from treetime import TreeAnc tt = TreeAnc(tree=tree, aln=aln, gtr='JC69') if optimize_branch_length: tt.optimize_seq_and_branch_len(infer_gtr=infer_gtr) else: # only infer ancestral sequences, leave branch length untouched tt.infer_ancestral_sequences(infer_gtr=infer_gtr) return tt