1 extern int intlen( int *num ); 2 extern char seqcheck( char **seq ); 3 extern void scmx_calc( int icyc, char **aseq, double *effarr, double **scmx ); 4 extern void exitall( char arr[] ); 5 extern void display( char **seq, int nseq ); 6 extern void intergroup_score( char **seq1, char **seq2, double *eff1, double *eff2, int clus1, int clus2, int len, double *value ); 7 //extern void intergroup_score_dynmtx( double **pairoffset, int mtx[0x80][0x80], char **seq1, char **seq2, double *eff1, double *eff2, int clus1, int clus2, int len, double *value ); 8 extern void intergroup_score_multimtx( int **whichmtx, double ***matrices, char **seq1, char **seq2, double *eff1, double *eff2, int clus1, int clus2, int len, double *value ); 9 extern void intergroup_score_gapnomi( char **seq1, char **seq2, double *eff1, double *eff2, int clus1, int clus2, int len, double *value ); 10 extern void intergroup_score_new( char **seq1, char **seq2, double *eff1, double *eff2, int clus1, int clus2, int len, double *value ); 11 extern double score_calc5( char **seq, int s, double **eff, int ex ); 12 extern double score_calc4( char **seq, int s, double **eff, int ex ); 13 extern void upg2( int nseq, double **eff, int ***topol, double **len ); 14 //extern void veryfastsupg_double_realloc_nobk_halfmtx( int njob, double **mtx, int ***topol, double **len ); 15 //extern void veryfastsupg_double_realloc_nobk( int njob, double **mtx, int ***topol, double **len ); 16 extern void veryfastsupg_int_realloc_nobk( int njob, int **mtx, int ***topol, double **len ); 17 extern void veryfastsupg( int nseq, double **oeff, int ***topol, double **len ); 18 extern void veryfastsupg_double( int nseq, double **oeff, int ***topol, double **len ); 19 extern void veryfastsupg_double_loadtree( int nseq, double **oeff, int ***topol, double **len, char **name ); 20 //extern void veryfastsupg_double_loadtop( int nseq, double **oeff, int ***topol, double **len ); 21 extern void veryfastsupg_int( int nseq, int **oeff, int ***topol, double **len ); 22 extern void fastsupg( int nseq, double **oeff, int ***topol, double **len ); 23 extern void supg( int nseq, double **oeff, int ***topol, double **len ); 24 extern void spg( int nseq, double **oeff, int ***topol, double **len ); 25 extern double ipower( double x, int n ); 26 extern void countnode( int nseq, int ***topol, double **node ); 27 extern void countnode_int( int nseq, int ***topol, int **node ); 28 extern void counteff_simple( int nseq, int ***topol, double **len, double *node ); 29 extern void counteff_simple_double( int nseq, int ***topol, double **len, double *node ); 30 extern void counteff_simple_double_nostatic( int nseq, int ***topol, double **len, double *node ); 31 extern void counteff( int nseq, int ***topol, double **len, double **node ); 32 extern double score_calc1( char *seq1, char *seq2 ); 33 extern double score_calcp( char *seq1, char *seq2, int len ); 34 extern double substitution_nid( char *seq1, char *seq2 ); 35 extern double substitution_score( char *seq1, char *seq2 ); 36 extern double substitution_hosei( char *seq1, char *seq2 ); 37 extern double substitution( char *seq1, char *seq2 ); 38 extern void treeconstruction( char **seq, int nseq, int ***topol, double **len, double **eff ); 39 extern double bscore_calc( char **seq, int s, double **eff ); 40 extern void AllocateTmpSeqs( char ***mseq2pt, char **mseq1pt, int locnlenmax ); 41 extern void FreeTmpSeqs( char **mseq2, char *mseq1 ); 42 extern void gappick_samestring( char *aseq ); 43 extern void gappick0( char *aseq, char *seq ); 44 extern void gappick( int nseq, int s, char **aseq, char **mseq2, 45 double **eff, double *effarr ); 46 extern void commongappick_record( int nseq, char **seq, int *map ); 47 extern void commongappick( int nseq, char **seq ); 48 extern int commongapcount( int , int, char **, char ** ); 49 //extern void commongaprecord( int nseq, char **seq, char *originallygapped ); 50 extern double score_calc0( char **seq, int s, double **eff, int ex ); 51 extern void strins( char *str1, char *str2 ); 52 extern int isaligned( int nseq, char **seq ); 53 extern double score_calc_for_score( int nseq, char **seq ); 54 extern void doublencpy( double *vec1, double *vec2, int len ); 55 extern double score_calc_a( char **seq, int s, double **eff ); 56 extern double score_calc_s( char **seq, int s, double **eff ); 57 extern double score_calc_for_score_s( int s, char **seq ); 58 extern double SSPscore( int s, char **seq ); 59 extern double DSPscore( int s, char **seq ); 60 extern int searchAnchors( int nseq, char **seq, Segment *seg ); 61 extern char *progName( char *str ); 62 extern void dontcalcimportance( int nseq, double *eff, char **seq, LocalHom **localhom ); 63 extern void dontcalcimportance_lastone( int nseq, double *eff, char **seq, LocalHom **localhom ); 64 extern void dontcalcimportance_firstone( int nseq, double *eff, char **seq, LocalHom **localhom ); 65 extern void calcimportance( int nseq, double *eff, char **seq, LocalHom **localhom ); 66 extern void weightimportance2( int nseq, double *eff, LocalHom **localhom ); 67 extern void weightimportance4( int clus1, int clus2, double *eff1, double *eff2, LocalHom ***localhom ); 68 extern void extendlocalhom( int nseq, LocalHom **localhom ); 69 extern void extendlocalhom2( int nseq, LocalHom **localhom, double **mtx ); 70 extern int makelocal( char *s1, char *s2, int thr ); 71 extern void mdfymtx( char **pair, int s1, double **partialmtx, double **mtx ); 72 extern double score_calc( char **seq, int s ); 73 extern void cpmx_calc( char **seq, double **cpmx, double *eff, int lgth, int clus ); 74 extern void cpmx_calc_new( char **seq, double **cpmx, double *eff, int lgth, int clus ); 75 extern void MScpmx_calc_new( char **seq, double **cpmx, double *eff, int lgth, int clus ); 76 extern void mseqcat( char **seq1, char **seq2, double **eff, double *effarr1, double *effarr2, char name1[M][B], char name2[M][B], int clus1, int clus2 ); 77 extern void strnbcat( char *s1, char *s2, int m ); 78 extern int conjuctionforgaln( int s0, int s1, char **seq, char **aseq, double *peff, double *eff, char **name, char **aname, char *d ); 79 extern int fastconjuction( int *memlist, char **seq, char **aseq, double *peff, double *eff, char name[M][B], char aname[M][B], char *d ); 80 extern int fastconjuction_noname_kozo( int *memlist, char **seq, char **aseq, double *peff, double *eff, double *peff_kozo, double *eff_kozo, char *d ); 81 extern int fastconjuction_noname( int *memlist, char **seq, char **aseq, double *peff, double *eff, char *d, double mineff ); 82 extern int fastconjuction_noweight( int *memlist, char **seq, char **aseq, double *peff, char *d ); 83 extern int conjuctionfortbfast_old( char **pair, int s, char **seq, char **aseq, double *peff, double *eff, char *d ); 84 extern int conjuction( char **pair, int s, char **seq, char **aseq, double *peff, double *eff, char **name, char **aname, char *d ); 85 extern void doubledelete( double **cpmx, int d, int len ); 86 extern void chardelete( char *seq, int d ); 87 extern int RootBranchNode( int nseq, int ***topol, int step, int branch ); 88 extern void BranchLeafNode( int nseq, int ***topol, int *node, int step, int branch ); 89 extern void RootLeafNode( int nseq, int ***topol, int *node ); 90 extern void nodeFromABranch( int nseq, int *result, int **pairwisenode, int ***topol, double **len, int step, int num ); 91 //extern void OneClusterAndTheOther( int locnjob, char **pair, int *s1, int *s2, int ***topol, int step, int branch ); 92 extern void OneClusterAndTheOther_fast( int locnjob, int *memlist1, int *memlist2, int *s1, int *s2, char *pairbuf, int ***topol, int step, int branch, double **smalldistmtx, double **distmtx, double *distontree ); 93 extern void makeEffMtx( int nseq, double **mtx, double *vec ); 94 extern void node_eff( int nseq, double *eff, int *node ); 95 extern int shrinklocalhom( char **pair, int s1, int s2, LocalHom **localhom, LocalHom ***localhomshrink ); 96 extern int msshrinklocalhom_fast( int *memlist1, int *memlist2, LocalHom **localhom, LocalHom ***localhomshrink ); 97 extern int fastshrinklocalhom( int *mem1, int *mem2, LocalHom **localhom, LocalHom ***localhomshrink ); 98 extern int fastshrinklocalhom_one( int *mem1, int *mem2, int norg, LocalHom **localhom, LocalHom ***localhomshrink ); 99 extern int msfastshrinklocalhom( int *mem1, int *mem2, LocalHom **localhom, LocalHom ***localhomshrink ); 100 extern int TreeDependentIteration( int locnjob, char **name, int nlen[M], char **aseq, char **bseq, int ***topol, double **len, double **eff, int **skipthisbranch, int alloclen, LocalHom **localhomtable, RNApair ***single, int nkozo, char *kozoarivec ); 101 extern void checkMinusLength( int nseq, double **len ); 102 extern void negativeMember2( int *mem, int *query, int locnseq ); 103 extern int *negativeMember( int *query, int locnseq ); 104 extern int IntExistsInVec( int query, int *vector ); 105 extern NodeInCub searchParent( int top, int ***topol, int Start, int End ); 106 extern void stopolInit( int n, Node *stopol ); 107 extern void treeCnv( Node *stopol, int locnseq, int ***topol, double **len, double **bw ); 108 extern int isLeaf( Node node ); 109 extern double syntheticLength( Node *ob, Node *oppositeNode ); 110 extern double calcW( Node *ob, Node *op ); 111 extern void calcBranchWeight( double **bw, int locnseq, Node *stopol, int ***topol, double **len ); 112 extern void branchWeightToPairWeight( int locnseq, int ***topol, double **pw, double **bw ); 113 extern void weightFromABranch( int nseq, double *result, Node *stopol, int ***topol, int step, int LorR ); 114 extern void distFromABranch( int nseq, double *result, Node *stopol, int ***topol, double **len, int step, int LorR ); 115 extern void keika( char *str, int current, int all ); 116 extern double maxItch( double *soukan, int size ); 117 extern void calcNaiseki( Fukusosuu *value, Fukusosuu *x, Fukusosuu *y ); 118 extern Fukusosuu *AllocateFukusosuuVec( int l1 ); 119 extern Fukusosuu **AllocateFukusosuuMtx( int l1, int l2 ); 120 extern Fukusosuu ***AllocateFukusosuuCub( int l1, int l2, int l3 ); 121 extern void FreeFukusosuuVec( Fukusosuu *vec ); 122 extern void FreeFukusosuuMtx( Fukusosuu **mtx ); 123 extern int getKouho( int *kouho, int nkouho, double *soukan, int nlen2 ); 124 extern void zurasu2( int lag, int clus1, int clus2, char **seq1, char **seq2, char **aseq1, char **aseq2 ); 125 extern void zurasu( int lag, int clus1, int clus2, char **seq1, char **seq2, char **aseq1, char **aseq2 ); 126 extern int alignableReagion( int clus1, int clus2, char **seq1, char **seq2, double *eff1, double *eff2, Segment *seg ); 127 extern void blockAlign( int *cut1, int *cut2, double **ocrossscore, int *ncut ); 128 extern void blockAlign2( int *cut1, int *cut2, Segment **seg1, Segment **seg2, double **ocrossscore, int *ncut ); 129 extern void blockAlign3( int *cut1, int *cut2, Segment **seg1, Segment **seg2, double **ocrossscore, int *ncut ); 130 extern double A__align11( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch ); 131 extern double imp_match_out_scD( int i1, int j1 ); 132 extern void imp_match_init_strictD( double *imp, int clus1, int clus2, int lgth1, int lgth2, char **seq1, char **seq2, double *eff1, double *eff2, double *eff1kozo, double*eff2kozo, LocalHom ***localhom, int forscore ); 133 extern void imp_match_init( double *imp, int clus1, int clus2, int lgth1, int lgth2, char **seq1, char **seq2, double *eff1, double *eff2, LocalHom ***localhom ); 134 extern double MSalignmm( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, char *, char *, char *, char *, int *, int, int *, int headgp, int tailgp ); 135 extern double MSalignmm_variousdist( double **pairoffset, double ***matrices, double **dummtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int icyc, int jcyc, int alloclen, char *, char *, char *, char *, int *, int, int *, int headgp, int tailgp ); 136 extern double Lalignmm_hmout( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, char *, char *, char *, char *, double **map ); 137 extern double Lalign2m2m_hmout( char **seq1, char **seq2, char **seq1r, char **seq2r, char *dir1, char *dir2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, char *, char *, char *, char *, double **map ); 138 extern double MSalign11( char **seq1, char **seq2, int alloclen ); 139 //extern double rnalocal( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, RNApair **pair ); 140 extern double A__align( double **scoringmtx, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, char *gs1, char *gs2, char *ge1, char *ge2, int *, int, int *, int headgp, int tailgp ); 141 extern double A__align_variousdist( int **which, double ***scoringmatrices, double **dummtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, char *gs1, char *gs2, char *ge1, char *ge2, int *, int, int *, int headgp, int tailgp ); 142 extern double A__align_gapmap( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, int *gapmap1, int *gapmap2 ); 143 //extern double D__align_gapmap( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, int *gapmap1, int *gapmap2 ); 144 extern double translate_and_Calign( char **mseq1, char **mseq2, double *effarr1, double *effarr2, int clus1, int clus2, int alloclen ); 145 extern double Fgetlag( double **scoringmtx, char **seq1, char **seq2, double *eff1, double *eff2, int clus1, int clus2, int alloclen ); 146 extern double Falign( int **whichmtx, double ***scoringmatrices, double **scoreingmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, int *fftlog, int *, int, int * ); 147 extern double Falign_udpari_long( int **whichmtx, double ***scoringmatrices, double **scoringmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, int *fftlog ); 148 double Falign_localhom( int **which, double ***scoringmatrices, double **scoreingmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, LocalHom ***localhom, double *totalimpmatch, int *gapmap1, int *gapmap2, int *chudanpt, int chudanref, int *chudanres ); 149 extern double part_imp_match_out_sc( int i1, int j1 ); 150 extern void part_imp_match_init_strict( double *imp, int clus1, int clus2, int lgth1, int lgth2, char **seq1, char **seq2, double *eff1, double *eff2, double *eff1_kozo, double *eff2_kozo, LocalHom ***localhom, int forscore ); 151 extern void part_imp_match_init( double *imp, int clus1, int clus2, int lgth1, int lgth2, char **seq1, char **seq2, double *eff1, double *eff2, LocalHom ***localhom ); 152 extern double partA__align( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, int start1, int end1, int start2, int end2, int *gapmap1, int *gapmap2, char *, char *, char *, char *, int *, int, int * ); 153 extern double partA__align_variousdist( int **which, double ***scoringmatrices, double **dummtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, int start1, int end1, int start2, int end2, int *gapmap1, int *gapmap2, char *, char *, char *, char *, int *, int, int * ); 154 extern double G__align11( double **scoringmtx, char **seq1, char **seq2, int alloclen, int headgp, int tailgp ); 155 extern double G__align11_noalign( double **scoringmtx, int penal, int penal_ex, char **seq1, char **seq2, int alloclen ); 156 extern double L__align11( double **scoringmtx, double scoreoffset, char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt ); 157 extern double L__align11_noalign( double **scoringmtx, char **seq1, char **seq2 ); 158 extern double genL__align11( double **scoringmtx, char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt ); 159 extern double genG__align11( char **seq1, char **seq2, int alloclen ); 160 extern double VAalign11( char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt, LocalHom *lhmpt ); 161 extern double suboptalign11( char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt, LocalHom *lhmpt ) 162 ; 163 extern int fft(int n, Fukusosuu *x, int dum); 164 extern void topolcpy( int s1[], int s2[], int *mpt1, int *mpt2 ); 165 extern void topolcat( int s1[], int s2[], int *mpt1, int *mpt2 ); 166 extern void topolsort( int m, int s[] ); 167 extern void topolswap( int s1[], int s2[], int *mpt1, int *mpt2 ); 168 extern void reduc( double **mtx, int nseq, int im, int jm ); 169 extern void nj( int nseq, double **omtx, int ***topol, double **dis ); 170 extern void JTTmtx( double **rsr, double *freq, char locamino[0x80], char locgrp[0x80], int isTM ); 171 extern void BLOSUMmtx( int n, double **matrix, double *freq, char *amino, char *amino_grp ); 172 extern void extendedmtx( double **matrix, double *freq, char *amino, char *amino_grp ); 173 extern void putlocalhom2( char *al1, char *al2, LocalHom *localhompt, int off1, int off2, int opt, int overlapaa ); 174 extern void putlocalhom_str( char *al1, char *al2, double *equiv, double scale, LocalHom *localhompt, int off1, int off2, int opt, int overlapaa ); 175 extern void putlocalhom_ext( char *al1, char *al2, LocalHom *localhompt, int off1, int off2, int opt, int overlapaa ); 176 extern void putlocalhom3( char *al1, char *al2, LocalHom *localhompt, int off1, int off2, int opt, int overlapaa ); 177 extern void putlocalhom( char *al1, char *al2, LocalHom *localhompt, int off1, int off2, int opt, int overlapaa ); 178 extern char *cutal( char *al, int al_display_start, int start, int end ); 179 extern void ErrorExit( char *message ); 180 extern void strncpy_caseC( char *str1, char *str2, int len ); 181 extern void seqUpper( int nseq, char **seq ); 182 extern void seqLower( int nseq, char **seq ); 183 extern int getaline_fp_eof( char *s, int l, FILE *fp ); 184 extern int getaline_fp_eof_new(char s[], int l, FILE *fp); 185 extern int myfgets(char s[], int l, FILE *fp); 186 extern double input_new( FILE *fp, int d ); 187 extern void PreRead( FILE *fp, int *locnjob, int *locnlenmax ); 188 extern int allSpace( char *str ); 189 extern void Read( char name[M][B], int nlen[M], char **seq ); 190 extern void FRead( FILE *fp, char name[][B], int nlen[], char **seq ); 191 extern void kake2hiku( char *str ); 192 extern int copydatafromgui( char **namegui, char **seqgui, char **name, int *nlen, char **seq ); 193 extern void readDataforgaln( FILE *fp, char **name, int *nlen, char **seq ); 194 extern void readData( FILE *fp, char name[][B], int nlen[], char **seq ); 195 extern void readData_pointer_casepreserve( FILE *fp, char **name, int *nlen, char **seq ); 196 extern void readData_pointer( FILE *fp, char **name, int *nlen, char **seq ); 197 extern void readData_pointer2( FILE *fp, int nseq, char **name, int *nlen, char **seq ); 198 extern void readData_varlen( FILE *fp, char **name, int *nlen, char **seq ); 199 extern int countATGC( char *s, int *total ); 200 extern void getnumlen( FILE *fp ); 201 extern void getnumlen_casepreserve( FILE *fp, int *nlenmin ); 202 extern void getnumlen_nogap( FILE *fp, int *nlenmin ); 203 extern void WriteGapFill( FILE *fp, int locnjob, char name[][B], int nlen[M], char **aseq ); 204 extern void writeDataforgaln( FILE *fp, int locnjob, char **name, int *nlen, char **aseq ); 205 extern void writeData( FILE *fp, int locnjob, char name[][B], int nlen[], char **aseq ); 206 extern void writeData_pointer( FILE *fp, int locnjob, char **name, int *nlen, char **aseq ); 207 extern void readhat2_doublehalf( FILE *fp, int nseq, char name[M][B], double **mtx ); 208 extern void readhat2_doublehalf_pointer( FILE *fp, int nseq, char **name, double **mtx ); 209 extern void readhat2_doublehalf_part_pointer( FILE *fp, int nseq, int nadd, char **name, double **mtx ); 210 extern void readhat2_double( FILE *fp, int nseq, char name[M][B], double **mtx ); 211 extern void readhat2_int( FILE *fp, int nseq, char name[M][B], int **mtx ); 212 extern void readhat2_pointer( FILE *fp, int nseq, char **name, double **mtx ); 213 extern void readhat2( FILE *fp, int nseq, char name[M][B], double **mtx ); 214 extern void WriteFloatHat2_pointer_halfmtx( FILE *hat2p, int locnjob, char **name, double **mtx ); 215 extern void WriteFloatHat2( FILE *hat2p, int locnjob, char name[M][B], double **mtx ); 216 extern void WriteHat2_int( FILE *hat2p, int locnjob, char name[M][B], int **mtx ); 217 extern void WriteHat2( FILE *hat2p, int locnjob, char name[M][B], double **mtx ); 218 extern void WriteHat2_pointer( FILE *hat2p, int locnjob, char **name, double **mtx ); 219 extern void WriteHat2_part_pointer( FILE *hat2p, int locnjob, int nadd, char **name, double **mtx ); 220 extern int ReadFasta_sub( FILE *fp, double *dis, int nseq, char name[M][B] ); 221 extern int ReadSsearch( FILE *fp, double *dis, int nseq, char name[M][B] ); 222 extern int ReadBlastm7( FILE *fp, double *dis, int qmem, char **name, LocalHom *localhomlist ); 223 extern int ReadBlastm7_scoreonly( FILE *fp, double *dis, int nin ); 224 extern int ReadBlastm7_avscore( FILE *fp, double *dis, int nin ); 225 extern int ReadFasta34noalign( FILE *fp, double *dis, int qmem, char **name, LocalHom *localhomlist ); 226 extern int ReadFasta34m10_nuc( FILE *fp, double *dis, int qmem, char **name, LocalHom *localhomlist ); 227 extern int ReadFasta34m10( FILE *fp, double *dis, int qmem, char **name, LocalHom *localhomlist ); 228 extern int ReadFasta34m10_scoreonly_nuc( FILE *fp, double *dis, int nin ); 229 extern int ReadFasta34m10_scoreonly( FILE *fp, double *dis, int nin ); 230 extern int ReadFasta34( FILE *fp, double *dis, int nseq, char name[M][B], LocalHom *localhomlist ); 231 extern int ReadFasta3( FILE *fp, double *dis, int nseq, char name[M][B] ); 232 extern int ReadFasta( FILE *fp, double *dis, int nseq, char name[M][B] ); 233 extern int ReadOpt( FILE *fp, int opt[M], int nseq, char name[M][B] ); 234 extern int ReadOpt2( FILE *fp, int opt[M], int nseq, char name[M][B] ); 235 extern int writePre( int nseq, char **name, int nlen[M], char **aseq, int force ); 236 extern void readOtherOptions( int *ppidptr, int *fftThresholdptr, int *fftWinSizeptr ); 237 extern void initSignalSM( void ); 238 extern void initFiles( void ); 239 extern void WriteForFasta( FILE *fp, int locnjob, char **name, int nlen[M], char **aseq ); 240 extern void readlocalhomtable( FILE*fp, int njob, LocalHom **localhomtable, char *kozoarivec ); 241 extern void readlocalhomtable2( FILE*fp, int njob, LocalHom **localhomtable, char *kozoarivec ); 242 extern void readlocalhomtable_part( FILE*fp, int njob, int nadd, LocalHom **localhomtable, char *kozoarivec ); 243 extern void readlocalhomtable_two( FILE*fp, int njob, int nadd, LocalHom **localhomtable, LocalHom **localhomtablex, char *kozoarivec ); 244 extern void readlocalhomtable_one( FILE*fp, int njob, int nadd, LocalHom **localhomtable, char *kozoarivec ); 245 extern void outlocalhom( LocalHom **localhom, int nseq ); 246 extern void outlocalhom_part( LocalHom **localhom, int norg, int nadd ); 247 extern void outlocalhompt( LocalHom ***localhom, int n1, int n2 ); 248 extern void FreeLocalHomTable( LocalHom **localhomtable, int n ) ; 249 extern void FreeLocalHomTable_part( LocalHom **localhomtable, int n, int m ) ; 250 extern void FreeLocalHomTable_two( LocalHom **localhomtable, int n, int m ) ; 251 extern void FreeLocalHomTable_one( LocalHom **localhomtable, int n, int m ) ; 252 extern void constants( int nseq, char **seq ); 253 extern void clustalout_pointer( FILE *fp, int nseq, int maxlen, char **seq, char **name, char *mark, char *comment, int *order, int namelen ); 254 extern void phylipout_pointer( FILE *fp, int nseq, int maxlen, char **seq, char **name, int *order, int namelen ); 255 extern void writeData_reorder( FILE *fp, int locnjob, char name[][B], int nlen[], char **aseq, int *order ); 256 extern void writeData_reorder_pointer( FILE *fp, int locnjob, char **name, int *nlen, char **aseq, int *order ); 257 258 extern void resetlocalhom( int, LocalHom ** ); 259 extern int load1SeqWithoutName_new( FILE *fpp, char *cbuf ); 260 extern char *load1SeqWithoutName_realloc( FILE *fpp ); 261 extern char *load1SeqWithoutName_realloc_casepreserve( FILE *fpp ); 262 extern void searchKUorWA( FILE *fp ); 263 extern void gapireru( char *res, char *ori, char *gt ); 264 extern int seqlen( char *seq ); 265 extern void st_FinalGapCount( double *fgcp, int clus, char **seq, double *eff, int len ); 266 extern void st_OpeningGapCount( double *ogcp, int clus, char **seq, double *eff, int len ); 267 extern void st_OpeningGapCount( double *ogcp, int clus, char **seq, double *eff, int len ); 268 extern void st_FinalGapCount_zure( double *fgcp, int clus, char **seq, double *eff, int len ); 269 extern void getdiaminofreq_x( double *freq, int clus, char **seq, double *eff, int len ); 270 extern void new_FinalGapCount_zure( double *fgcp, int clus, char **seq, double *eff, int len, char *s, char *e ); 271 extern void new_FinalGapCount( double *fgcp, int clus, char **seq, double *eff, int len, char *g ); 272 extern void new_OpeningGapCount( double *ogcp, int clus, char **seq, double *eff, int len, char *g ); 273 extern void new_OpeningGapCount_zure( double *ogcp, int clus, char **seq, double *eff, int len, char *s, char *e ); 274 extern void getGapPattern( double *fgcp, int clus, char **seq, double *eff, int len, char *g ); 275 extern void getgapfreq( double *freq, int clus, char **seq, double *eff, int len ); 276 extern void getgapfreq_zure( double *freq, int clus, char **seq, double *eff, int len ); 277 //extern void getgapfreq_zure_part( double *freq, int clus, char **seq, double *eff, int len, char *s ); 278 extern void getgapfreq_zure_part( double *freq, int clus, char **seq, double *eff, int len, char *s ); 279 extern void getdiaminofreq_part( double *freq, int clus, char **seq, double *eff, int len, char *s, char *e ); 280 extern void getdigapfreq_part( double *freq, int clus, char **seq, double *eff, int len, char *s, char *e ); 281 extern void getdiaminofreq_st( double *freq, int clus, char **seq, double *eff, int len ); 282 extern void getdigapfreq_st( double *freq, int clus, char **seq, double *eff, int len ); 283 extern void st_getGapPattern( Gappat **gpat, int clus, char **seq, double *eff, int len ); 284 extern void getkyokaigap( char *g, char **s, int pos, int n ); 285 extern double *loadaamtx( void ); 286 extern double naivepairscore( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, int penal ); 287 extern double naivepairscore11( char *seq1, char *seq2, int penal ); 288 extern double naivepairscore11_dynmtx( double **, char *seq1, char *seq2, int penal ); 289 extern double naivepairscorefast( char *seq1, char *seq2, int *skip1, int *skip2, int penal ); 290 extern double naiveQpairscore( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, int penal ); 291 extern double naiveRpairscore( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, int penal ); 292 extern double naiveHpairscore( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, int penal ); 293 extern void foldrna( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, RNApair ***gr1, RNApair ***gr2, double **impmtx, int *gapmap1, int *gapmap2, RNApair *pair ); 294 extern void foldrna_gappick( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, RNApair ***gr1, RNApair ***gr2, double **impmtx, int *gapmap1, int *gapmap2, RNApair *pair ); 295 extern void imp_rna( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, RNApair ***gr1, RNApair ***gr2, int *gapmap1, int *gapmap2, RNApair *pair ); 296 extern void imp_rnaD( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, RNApair ***gr1, RNApair ***gr2, int *gapmap1, int *gapmap2, RNApair *pair ); 297 extern void part_imp_rna( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, double *eff2, RNApair ***gr1, RNApair ***gr2, int *gapmap1, int *gapmap2, RNApair *pair ); 298 extern void foldalignedrna( int clus1, int clus2, char **mseq1, char **mseq2, double *effarr1, double *effarr2, RNApair *rnapairboth ); 299 void readmccaskill( FILE *fp, RNApair **pairprob, int length ); 300 void makegrouprna( RNApair ***group, RNApair ***all, int *memlist ); 301 void makegrouprnait( RNApair ***group, RNApair ***all, char *pair, int s ); 302 extern void fixed_musclesupg_double_realloc_nobk_halfmtx( int nseq, double **eff, int ***topol, double **len, Treedep *, int progressout, int efffree ); 303 extern void loadtop( int nseq, double **mtx, int ***topol, double **len, char **name, int *nlen, Treedep * ); 304 extern void loadtree( int nseq, int ***topol, double **len, char **name, int *nlen, Treedep * ); 305 //extern void loadtop( int nseq, double **eff, int ***topol, double **len ); 306 extern void fixed_musclesupg_double_realloc_nobk_halfmtx_treeout( int nseq, double **eff, int ***topol, double **len, char **name, int *nlen, Treedep *, int efffree ); 307 extern void fixed_supg_double_realloc_nobk_halfmtx_treeout_constrained( int nseq, double **eff, int ***topol, double **len, char **name, int *nlen, Treedep *, int ncons, int **constraints, int efffree ); 308 extern void fixed_musclesupg_double_treeout( int nseq, double **eff, int ***topol, double **len, char **name ); 309 extern void fixed_supg_double_treeout_constrained( int nseq, double **eff, int ***topol, double **len, char **name, int ncons, int **constraints ); 310 extern void imp_match_init_strict( double *imp, int clus1, int clus2, int lgth1, int lgth2, char **seq1, char **seq2, double *eff1, double *eff2, double *eff1kozo, double*eff2kozo, LocalHom ***localhom, int forscore ); 311 extern void miyataout_reorder_pointer( FILE *fp, int locnjob, int nlenmax, char **name, int *nlen, char **aseq, int *order ); 312 extern void veryfastsupg_double_outtree( int nseq, double **eff, int ***topol, double **len, char **name ); 313 extern void cpmx_ribosum( char **seq, char **seqr, char *dir, double **cpmx, double *eff, int lgth, int clus ); 314 extern void rnaalifoldcall( char **seq, int nseq, RNApair **pairprob ); 315 extern void readpairfoldalign( FILE *fp, char *seq1, char *seq2, char *aln1, char *aln2, int q1, int q2, int *of1, int *of2, int sumlen ); 316 extern void write1seq( FILE *fp, char *aseq ); 317 extern void assignstrweight( int nseq, double *strweight, Node *stopol, int ***topol, int step, int LorR, char *kozoari, double *seqweight ); 318 extern void cutData( FILE *, int **, char **, int * ); 319 extern void cutAlignment( FILE *, int **, char **, int *, char **, char ** ); 320 extern void catData( FILE * ); 321 extern void getnumlen_nogap_outallreg_web( FILE *fp, FILE *ofp, int *nlenminpt, int *isalignedpt ); 322 extern void getnumlen_nogap_outallreg( FILE *fp, int *nlenminpt ); 323 extern double plainscore( int nseq, char **seq ); 324 extern void eq2dash( char *s ); 325 extern void eq2dashmatometehayaku( char **s, int n ); 326 extern void findnewgaps( int n, int rep, char **seq, int *gaplen ); 327 extern void findcommongaps( int, char **, int * ); 328 extern void adjustgapmap( int, int *, char * ); 329 extern void insertnewgaps_bothorders( int njob, int *alreadyaligned, char **seq, int *ex1, int *ex2, int *gaplen, int *gapmap, int gapmaplen, int alloclen, char alg, char gapchar ); 330 extern void insertnewgaps( int njob, int *alreadyaligned, char **seq, int *ex1, int *ex2, int *gaplen, int *gapmap, int alloclen, char alg, char gapchar ); 331 extern void restorecommongaps( int n, int n0, char **seq, int *top0, int *top1, int *gaplen, int alloclen, char gapchar ); 332 extern void restorecommongapssmoothly( int n, int n0, char **seq, int *top0, int *top1, int *gaplen, int alloclen, char gapchar ); 333 extern int samemember( int *mem, int *cand ); 334 extern int samemembern( int *mem, int *cand, int candn ); 335 extern int includemember( int *mem, int *cand ); 336 extern int overlapmember( int *mem1, int *mem2 ); 337 //extern void profilealignment( int n0, int n1, int n2, char **aln0, char **aln1, char **aln2, int alloclen, char alg ); 338 extern void profilealignment2( int n0, int n2, char **aln0, char **aln2, int alloclen, char alg ); 339 extern void sreverse( char *r, char *s ); 340 extern int addonetip( int njobc, int ***topolc, double **lenc, double **iscorec, int ***topol, double **len, Treedep *dep, int treeout, Addtree *addtree, int iadd, char **name, int *alnleninnode, int *nogaplen, int noalign ); 341 extern void intcpy( int *s1, int *s2 ); 342 extern void intncpy( int *s1, int *s2, int n ); 343 extern void fltncpy( double *s1, double *s2, int n ); 344 extern void intcat( int *s1, int *s2 ); 345 extern void readsubalignmentstable( int n, int **table, int *preservegaps, int *nsubpt, int *maxmempt ); 346 extern int myatoi( char * ); 347 extern double myatof( char * ); 348 extern void gapcount( double *freq, char **seq, int nseq, double *eff, int lgth ); 349 extern void gapcountf( double *freq, char **seq, int nseq, double *eff, int lgth ); 350 extern void outgapcount( double *freq, int nseq, char *gappat, double *eff ); 351 extern void makedynamicmtx( double **out, double **in, double offset ); 352 extern double dist2offset( double dist ); 353 extern void reporterr( const char *str, ... ); 354 extern void freeconstants(); 355 extern void closeFiles(); 356 extern void FreeCommonIP(); 357 extern void initglobalvariables(); 358 extern void makeskiptable( int n, int **skip, char **seq ); 359 extern int generatesubalignmentstable( int nseq, int ***tablept, int *nsubpt, int *maxmempt, int ***topol, double **len, double threshold ); 360 extern double sumofpairsscore( int nseq, char **seq ); 361 //extern int maskoriginalgaps( char *repseq, char *originallygapped ); 362 363 //extern void restoregaponlysites( char *originallygapped, int n1, int n2, char **s1, char **s2, int rep ); 364 extern int isallgap( char * ); 365 extern int deletenewinsertions_whole( int on, int an, char **oseq, char **aseq, int **deletelist ); 366 extern int recordoriginalgaps( char *originallygapped, int n, char **s ); 367 extern void restoreoriginalgaps( int n, char **seq, char *originalgaps ); 368 extern void reconstructdeletemap( int nadd, char ** addbk, int **deletelist, char **realn, FILE *fp, char **name ); 369 extern double D__align( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, char *sgap1, char *sgap2, char *egap1, char *egap2, int *chudanpt, int chudanref, int *chudanres, int headgp, int tailgp ); 370 extern double D__align_ls( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, char *sgap1, char *sgap2, char *egap1, char *egap2, int *chudanpt, int chudanref, int *chudanres, int headgp, int tailgp ); 371 extern double D__align_variousdist( int **whichmtx, double ***matrices, double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, char *sgap1, char *sgap2, char *egap1, char *egap2, int *chudanpt, int chudanref, int *chudanres, int headgp, int tailgp ); 372 extern double D__align_gapmap( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, LocalHom ***localhom, double *impmatch, int *gapmap1, int *gapmap2 ); 373