source: branches/items/GDE/MAFFT/mafft-7.055-with-extensions/core/mltaln.h

Last change on this file was 10371, checked in by aboeckma, 11 years ago

updated mafft version. Added extensions (no svn ignore, yet)

File size: 6.5 KB
Line 
1#define USE_XCED 0
2
3#if USE_XCED
4#include "config.h"
5#include "share.h"
6#else
7#endif
8
9#include <stdio.h>
10#include <stdlib.h>
11#include <stddef.h>
12#include <sys/types.h>
13#include <string.h>
14#include <unistd.h>
15#include <math.h>
16#include <ctype.h>
17#include "mtxutl.h"
18#include <float.h>
19#ifdef enablemultithread
20#include <pthread.h>
21#endif
22
23#define VERSION "7.055b"
24#define SHOWVERSION fprintf( stderr, "%s (%s) Version " VERSION " alg=%c, model=%s\n%d thread(s)\n", progName( argv[0] ), (dorp=='d')?"nuc":"aa", alg, modelname, nthread )
25
26#define FFT_THRESHOLD  80
27#define FFT_WINSIZE_P   20
28#define FFT_WINSIZE_D   100
29#define DISPSEQF  60
30#define DISPSITEI    0
31#define MAXITERATION 500
32#define M  500000       /* njob no saidaiti */
33#define N 5000000       /* nlen no saidaiti */
34#define MAXSEG 100000
35#define B     256
36#define C     60       /*  1 gyou no mojisuu */
37#define D      6
38#define rnd() ( ( 1.0 / ( RAND_MAX + 1.0 ) ) * rand() )
39#define MAX(X,Y)    ( ((X)>(Y))?(X):(Y) )
40#define MIN(X,Y)    ( ((X)<(Y))?(X):(Y) )
41#define G(X)        ( ((X)>(0))?(X):(0) )
42#define BEFF   1.0   /* 0.6 ni suruto zureru */
43#define WIN   3
44#define SGAPP -1000
45#define GETA2 0.001
46#define GETA3 0.001
47#define NOTSPECIFIED  100009
48#define SUEFF   0.1  /* upg/(spg+upg)  -> sueff.sed */ 
49#define DIVLOCAL 0
50#define INTMTXSCALE 1000000.0
51#define JTT 201
52#define TM  202
53
54extern char modelname[100];
55extern int njob, nlenmax;
56extern int amino_n[0x80];
57extern char amino_grp[0x80];
58extern int amino_dis[0x80][0x80];
59extern int amino_disLN[0x80][0x80];
60extern double amino_dis_consweight_multi[0x80][0x80];
61extern int n_dis[26][26];
62extern int n_disFFT[26][26];
63extern float n_dis_consweight_multi[26][26];
64extern char amino[26];
65extern double polarity[20];
66extern double volume[20];
67extern int ribosumdis[37][37];
68
69extern int ppid;
70extern double thrinter;
71extern double fastathreshold;
72extern int pslocal, ppslocal;
73extern int constraint;
74extern int divpairscore;
75extern int fmodel; // 1-> fmodel 0->default -1->raw
76extern int nblosum; // 45, 50, 62, 80
77extern int kobetsubunkatsu;
78extern int bunkatsu;
79extern int dorp;
80extern int niter;
81extern int contin;
82extern int calledByXced;
83extern int devide;
84extern int scmtd;
85extern int weight;
86extern int utree;
87extern int tbutree;
88extern int refine;
89extern int check;
90extern double cut;
91extern int cooling;
92extern int penalty, ppenalty, penaltyLN;
93extern int RNApenalty, RNAppenalty;
94extern int RNApenalty_ex, RNAppenalty_ex;
95extern int penalty_ex, ppenalty_ex, penalty_exLN;
96extern int penalty_EX, ppenalty_EX;
97extern int penalty_OP, ppenalty_OP;
98extern int offset, poffset, offsetLN, offsetFFT;
99extern int RNAthr, RNApthr;
100extern int scoremtx;
101extern int TMorJTT;
102extern char use_fft;
103extern char force_fft;
104extern int nevermemsave;
105extern int fftscore;
106extern int fftWinSize;
107extern int fftThreshold;
108extern int fftRepeatStop;
109extern int fftNoAnchStop;
110extern int divWinSize;
111extern int divThreshold;
112extern int disp;
113extern int outgap;
114extern char alg;
115extern int cnst;
116extern int mix;
117extern int tbitr;
118extern int tbweight;
119extern int tbrweight;
120extern int disopt;
121extern int pamN;
122extern int checkC;
123extern float geta2;
124extern int treemethod;
125extern int kimuraR;
126extern char *swopt;
127extern int fftkeika;
128extern int score_check;
129extern char *inputfile;
130extern char *addfile;
131extern int addprofile;
132extern float consweight_multi;
133extern float consweight_rna;
134extern char RNAscoremtx;
135
136extern char *signalSM;
137extern FILE *prep_g;
138extern FILE *trap_g;
139extern char **seq_g;
140extern char **res_g;
141extern int rnakozo;
142extern char rnaprediction;
143
144/* sengen no ichi ha koko dake de ha nai */
145extern void constants();
146extern char **Calignm1();
147extern char **Dalignm1();
148extern char **align0();
149extern double Cscore_m_1( char **, int, int, double ** );
150extern double score_m_1(  char **, int, int, double ** );
151extern double score_calc0( char **, int, double **, int );
152extern char seqcheck( char ** );
153extern float substitution( char *, char * );
154extern float substitution_score( char *, char * );
155extern float substitution_nid( char *, char * );
156extern float substitution_hosei( char *, char * );
157extern double ipower( double, int );
158extern float translate_and_Calign();
159extern float A__align();
160extern float A__align11();
161extern float A__align_gapmap();
162extern float partA__align();
163extern float L__align11();
164extern float G__align11();
165extern float Falign();
166extern float Falign_localhom();
167extern float Conalign();
168extern float Aalign();
169extern float imp_match_out_sc( int, int );
170extern float part_imp_match_out_sc( int, int );
171extern void ErrorExit();
172extern void cpmx_calc();
173extern void intergroup_score( char **, char **, double *, double *, int, int, int, double * );
174extern int conjuctionfortbfast();
175extern int fastconjuction();
176extern char seqcheck( char ** );
177
178typedef struct _LocalHom
179{
180        int nokori;
181        struct _LocalHom *next;
182        struct _LocalHom *last;
183        int start1;
184        int end1;
185        int start2;
186        int end2;
187        double opt;
188        int overlapaa;
189        int extended;
190        double importance;
191        float fimportance;
192        double wimportance;
193        char korh;
194} LocalHom;
195
196typedef struct _NodeInCub
197{
198        int step;
199        int LorR;
200} NodeInCub;
201
202typedef struct _Node
203{
204        struct _Node *children[3];
205        int tmpChildren[3];
206        double length[3];
207        double *weightptr[3];
208        int top[3];
209        int *members[3];
210} Node;
211
212typedef struct _Segment
213{
214        int start;
215        int end;
216        int center;
217        double score;
218        int skipForeward;
219        int skipBackward;
220        struct _Segment *pair;
221        int  number;
222} Segment;
223
224typedef struct _Segments
225{
226        Segment group1;
227        Segment group2;
228        int number1;
229        int number2;
230} Segments;
231
232typedef struct _Bchain
233{
234        struct _Bchain *next;
235        struct _Bchain *prev;
236        int pos;
237} Bchain;
238
239typedef struct _Achain
240{
241        int next;
242        int prev;
243//      int curr;
244} Achain;
245
246
247typedef struct _Fukusosuu
248{
249    double R;
250    double I;
251} Fukusosuu;
252
253typedef struct _Gappattern
254{
255        int len;
256        float freq;
257} Gappat;
258
259typedef struct _RNApair
260{
261        int uppos;
262        float upscore;
263        int downpos;
264        float downscore;
265        int bestpos;
266        float bestscore;
267} RNApair;
268
269typedef struct _Treedep
270{
271        int child0;
272        int child1;
273        int done;
274        float distfromtip;
275} Treedep;
276
277typedef struct _Addtree
278{
279        int nearest;
280        float dist1;
281        char *neighbors;
282        float dist2;
283} Addtree;
284
285
286#include "fft.h"
287#include "dp.h"
288#include "functions.h"
289
290#ifdef enablemultithread
291#define TLS __thread
292#else
293#define TLS
294#endif
295
296extern TLS int commonAlloc1;
297extern TLS int commonAlloc2;
298extern TLS int **commonIP;
299extern TLS int **commonJP;
300extern int nthread;
301extern int randomseed;
302extern int parallelizationstrategy;
303#define BESTFIRST 0
304#define BAATARI0 1
305#define BAATARI1 2
306#define BAATARI2 3
307
308extern int scoreout;
309extern int outnumber;
310
311extern TLS char *newgapstr;
Note: See TracBrowser for help on using the repository browser.