| 1 | /* |
|---|
| 2 | |
|---|
| 3 | PHYML : a program that computes maximum likelihood phylogenies from |
|---|
| 4 | DNA or AA homologous sequences |
|---|
| 5 | |
|---|
| 6 | Copyright (C) Stephane Guindon. Oct 2003 onward |
|---|
| 7 | |
|---|
| 8 | All parts of the source except where indicated are distributed under |
|---|
| 9 | the GNU public licence. See http://www.opensource.org for details. |
|---|
| 10 | |
|---|
| 11 | */ |
|---|
| 12 | |
|---|
| 13 | #include <config.h> |
|---|
| 14 | |
|---|
| 15 | #ifndef IO_H |
|---|
| 16 | #define IO_H |
|---|
| 17 | |
|---|
| 18 | #include "utilities.h" |
|---|
| 19 | |
|---|
| 20 | t_tree *Read_Tree(char **s_tree); |
|---|
| 21 | void R_rtree(char *s_tree_a,char *s_tree_d,t_node *a,t_tree *tree,int *n_int,int *n_ext); |
|---|
| 22 | void Read_Branch_Label(char *s_d,char *s_a,t_edge *b); |
|---|
| 23 | void Read_Branch_Length(char *s_d,char *s_a,t_tree *tree); |
|---|
| 24 | void Read_Node_Name(t_node *d,char *s_tree_d,t_tree *tree); |
|---|
| 25 | void Clean_Multifurcation(char **subtrees,int current_deg,int end_deg); |
|---|
| 26 | char **Sub_Trees(char *tree,int *degree); |
|---|
| 27 | int Next_Par(char *s,int pos); |
|---|
| 28 | void Print_Tree(FILE *fp,t_tree *tree); |
|---|
| 29 | char *Write_Tree(t_tree *tree,int custom); |
|---|
| 30 | void R_wtree(t_node *pere,t_node *fils,int *available,char **s_tree,t_tree *tree); |
|---|
| 31 | void R_wtree_Custom(t_node *pere,t_node *fils,int *available,char **s_tree,int *pos,t_tree *tree); |
|---|
| 32 | void Detect_Align_File_Format(option *io); |
|---|
| 33 | void Detect_Tree_File_Format(option *io); |
|---|
| 34 | align **Get_Seq(option *io); |
|---|
| 35 | void Get_Nexus_Data(FILE *fp,option *io); |
|---|
| 36 | int Get_Token(FILE *fp,char *token); |
|---|
| 37 | align **Get_Seq_Phylip(option *io); |
|---|
| 38 | void Read_Ntax_Len_Phylip(FILE *fp,int *n_otu,int *n_tax); |
|---|
| 39 | align **Read_Seq_Sequential(option *io); |
|---|
| 40 | align **Read_Seq_Interleaved(option *io); |
|---|
| 41 | int Read_One_Line_Seq(align ***data,int num_otu,FILE *in); |
|---|
| 42 | t_tree *Read_Tree_File(option *io); |
|---|
| 43 | char *Return_Tree_String_Phylip(FILE *fp_input_tree); |
|---|
| 44 | t_tree *Read_Tree_File_Phylip(FILE *fp_input_tree); |
|---|
| 45 | void Print_Site_Lk(t_tree *tree,FILE *fp); |
|---|
| 46 | void Print_Seq(FILE *fp, align **data, int n_otu); |
|---|
| 47 | void Print_CSeq(FILE *fp,int compressed,calign *cdata); |
|---|
| 48 | void Print_CSeq_Select(FILE *fp,int compressed,calign *cdata,t_tree *tree); |
|---|
| 49 | void Print_Dist(matrix *mat); |
|---|
| 50 | void Print_Node(t_node *a,t_node *d,t_tree *tree); |
|---|
| 51 | void Print_Model(t_mod *mod); |
|---|
| 52 | void Print_Mat(matrix *mat); |
|---|
| 53 | FILE *Openfile(char *filename,int mode); |
|---|
| 54 | void Print_Fp_Out(FILE *fp_out,time_t t_beg,time_t t_end,t_tree *tree,option *io,int n_data_set,int num_tree, int add_citation); |
|---|
| 55 | void Print_Fp_Out_Lines(FILE *fp_out,time_t t_beg,time_t t_end,t_tree *tree,option *io,int n_data_set); |
|---|
| 56 | void Print_Freq(t_tree *tree); |
|---|
| 57 | void Print_Settings(option *io); |
|---|
| 58 | void Print_Banner(FILE *fp); |
|---|
| 59 | void Print_Banner_Small(FILE *fp); |
|---|
| 60 | void Print_Data_Set_Number(option *io,FILE *fp); |
|---|
| 61 | void Print_Lk(t_tree *tree,char *string); |
|---|
| 62 | void Print_Pars(t_tree *tree); |
|---|
| 63 | void Print_Lk_And_Pars(t_tree *tree); |
|---|
| 64 | void Read_Qmat(phydbl *daa,phydbl *pi,FILE *fp); |
|---|
| 65 | void Print_Qmat_AA(phydbl *daa,phydbl *pi); |
|---|
| 66 | void Print_Square_Matrix_Generic(int n,phydbl *mat); |
|---|
| 67 | void Print_Diversity(FILE *fp,t_tree *tree); |
|---|
| 68 | void Print_Diversity_Pre(t_node *a,t_node *d,t_edge *b,FILE *fp,t_tree *tree); |
|---|
| 69 | t_tree *Read_User_Tree(calign *cdata,t_mod *mod,option *io); |
|---|
| 70 | void Print_Time_Info(time_t t_beg,time_t t_end); |
|---|
| 71 | void PhyML_Printf(char *format,...); |
|---|
| 72 | void PhyML_Fprintf(FILE *fp,char *format,...); |
|---|
| 73 | void Read_Clade_Priors(char *file_name,t_tree *tree); |
|---|
| 74 | option *Get_Input(int argc,char **argv); |
|---|
| 75 | void Print_Data_Structure(int final, FILE *fp, t_tree *root); |
|---|
| 76 | int Set_Whichmodel(int select); |
|---|
| 77 | void Print_Site(calign *cdata, int num, int n_otu, char *sep, int stepsize, FILE *fp); |
|---|
| 78 | void PhyML_XML(char *xml_filename); |
|---|
| 79 | void Check_Taxa_Sets(t_tree *mixt_tree); |
|---|
| 80 | void Make_Ratematrice_From_XML_Node(xml_node *instance, option *io, t_mod *mod); |
|---|
| 81 | void Make_Efrq_From_XML_Node(xml_node *instance, option *io, t_mod *mod); |
|---|
| 82 | void Make_Topology_From_XML_Node(xml_node *instance, option *io, t_mod *mod); |
|---|
| 83 | void Make_RAS_From_XML_Node(xml_node *parent, t_mod *mod); |
|---|
| 84 | void Post_Process_Data(option *io); |
|---|
| 85 | int *Return_Int(int in); |
|---|
| 86 | |
|---|
| 87 | #endif |
|---|