Skip to content
Commits on Source (8)
PREFIX = /usr/local
LIBDIR = $(PREFIX)/libexec/mafft
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/share/man/man1
DESTDIR =
#CC := mpicc -cc=gcc
CC := mpicc
#CC := /u33/app/openmpi/bin/mpicc
#CFLAGS := -O3 -ipo -no-prec-div -xHost -std=c99
#CFLAGS := -O3 -std=c99
CFLAGS := -O3
#CFLAGS = -O0 -fPIC -pedantic -Wall -std=c99 -g -DMALLOC_CHECK_=3 # for shark, valgrind
# CFLAGS := -O0 -g -ipo -no-prec-div -xHost -std=c99
TARGET_ARCH :=
LDLIBS := -lm -lrt # -lrt?
ENABLE_MULTITHREAD := -Denablemultithread
#ENABLE_ATOMIC := -Denableatomic
VPATH := ../core
ifdef ENABLE_ATOMIC
STDF = -std=c11
else
STDF = -std=c99
endif
CFLAGS := $(ENABLE_MULTITHREAD) $(ENABLE_ATOMIC) $(STDF) $(CFLAGS) -I../core -MMD -MP
OBJDIR := ./obj
ifeq "$(strip $(OBJDIR))" ""
OBJDIR := .
endif
INSTALL = install
PROGS := nodepair_mpi
SCRIPTS := mpiscript
OBJNODPAIR := mtxutl.o io.o mltaln9_mpi.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o \
nodepair_mpi.o defs.o fft.o fftFunctions.o addfunctions.o \
pairlocalalign_mpi.o MSalign11.o
OBJNODPAIR := $(addprefix $(OBJDIR)/, $(OBJNODPAIR))
DEPSNODPAIR := $(OBJNODPAIR:%.o=%.d)
all : $(PROGS) $(SCRIPTS)
cp $(PROGS) $(SCRIPTS) ../binaries
chmod 755 ../binaries/*
@echo done.
install : all
mkdir -p $(DESTDIR)$(LIBDIR)
chmod 755 $(DESTDIR)$(LIBDIR)
chmod 755 $(PROGS) ||: # in MinGW, it's ok if this fails
$(INSTALL) -s $(PROGS) $(DESTDIR)$(LIBDIR)
$(INSTALL) $(SCRIPTS) $(DESTDIR)$(LIBDIR)
@echo done.
nodepair_mpi : $(OBJNODPAIR)
$(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@
shmclear : shmclear.c
$(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@
mpiscript : mpiscript.tmpl
cp mpiscript.tmpl mpiscript
$(OBJDIR)/%.o : %.c
-@mkdir -p $(OBJDIR)
@[ -d $(OBJDIR) ]
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -o $@ -c $<
clean :
rm -f $(OBJNODPAIR) $(DEPSNODPAIR) $(PROGS) $(SCRIPTS) *.o *.a *.exe *~
rm -rf obj/
-include $(DEPSNODPAIR)
This diff is collapsed.
trap "echo 'Cancel' 1>&2" 0 15
if [ ! $MAFFT_N_THREADS_PER_PROCESS ]; then
echo "set MAFFT_N_THREADS_PER_PROCESS, the number of cores to be used by a process." 1>&2
exit 1
fi
if [ ! "$MAFFT_MPIRUN" ]; then
MAFFT_MPIRUN="mpirun"
fi
command="$* -C $MAFFT_N_THREADS_PER_PROCESS"
#rm -rf hat3dir # To avoid cache, don't touch hat3dir here
$MAFFT_MPIRUN $command 1>&2
sync;
if [ -s hat3dir/tree ]; then
#if [ -s infile.tree ]; then
val=0
else
echo "error in MPI" 1>&2
val=1
fi
trap - 0 15
exit $val
#include "mltaln.h"
#include "mpi.h"
#include <errno.h>
#define DEBUG 0
#define IODEBUG 0
#define SCOREOUT 0
#define SHISHAGONYU 0 // for debug
// from tbfast
static int treein;
static int treeout;
// from pairlocalalign
static int stdout_dist;
static void arguments( int argc, char *argv[] )
{
int c;
nthread = 1;
nadd = 0;
inputfile = NULL;
fftkeika = 0;
pslocal = -1000.0;
nblosum = 62;
fmodel = 0;
calledByXced = 0;
devide = 0;
use_fft = 0;
fftscore = 1;
fftRepeatStop = 0;
fftNoAnchStop = 0;
weight = 3;
utree = 1;
tbutree = 1;
refine = 0;
check = 1;
cut = 0.0;
disp = 0;
outgap = 1;
alg = 'A';
mix = 0;
tbitr = 0;
scmtd = 5;
tbweight = 0;
tbrweight = 3;
checkC = 0;
treemethod = 'x';
contin = 0;
scoremtx = 1;
kobetsubunkatsu = 0;
divpairscore = 0;
stdout_dist = 0;
// dorp = NOTSPECIFIED;
ppenalty = NOTSPECIFIED;
ppenalty_OP = NOTSPECIFIED;
ppenalty_ex = NOTSPECIFIED;
ppenalty_EX = NOTSPECIFIED;
penalty_shift_factor = 1000.0;
poffset = NOTSPECIFIED;
kimuraR = NOTSPECIFIED;
pamN = NOTSPECIFIED;
geta2 = GETA2;
fftWinSize = NOTSPECIFIED;
fftThreshold = NOTSPECIFIED;
RNAppenalty = NOTSPECIFIED;
RNApthr = NOTSPECIFIED;
specificityconsideration = 0.0;
usenaivescoreinsteadofalignmentscore = 0;
specifictarget = 0;
nwildcard = 0;
compacttree = 2; // tsuneni!
treein = 0;
treeout = 0;
fastathreshold = 2.7;
constraint = 2;
// localhomfile = 0; // tbfast.c no wo tsukaunode comment out
// reporterr( "argc=%d\n", argc );
// reporterr( "*argv=%s\n", *argv );
// reporterr( "(*argv)[0]=%c\n", (*argv)[0] );
while( --argc > 0 && (*++argv)[0] == '-' )
{
// reporterr( "(*argv)[0] in while loop = %s\n", (*argv) );
while ( ( c = *++argv[0] ) )
{
switch( c )
{
case 'i':
inputfile = *++argv;
// fprintf( stderr, "inputfile = %s\n", inputfile );
--argc;
goto nextoption;
case 'f':
ppenalty = (int)( atof( *++argv ) * 1000 - 0.5 );
--argc;
goto nextoption;
case 'g':
ppenalty_ex = (int)( atof( *++argv ) * 1000 - 0.5 );
--argc;
goto nextoption;
case 'O':
ppenalty_OP = (int)( atof( *++argv ) * 1000 - 0.5 );
--argc;
goto nextoption;
case 'E':
ppenalty_EX = (int)( atof( *++argv ) * 1000 - 0.5 );
--argc;
goto nextoption;
case 'Q':
penalty_shift_factor = atof( *++argv );
--argc;
goto nextoption;
case 'h':
poffset = (int)( atof( *++argv ) * 1000 - 0.5 );
--argc;
goto nextoption;
case 'k':
kimuraR = myatoi( *++argv );
// fprintf( stderr, "kimuraR = %d\n", kimuraR );
--argc;
goto nextoption;
case 'b':
nblosum = myatoi( *++argv );
scoremtx = 1;
// fprintf( stderr, "blosum %d\n", nblosum );
--argc;
goto nextoption;
case 'j':
pamN = myatoi( *++argv );
scoremtx = 0;
TMorJTT = JTT;
// fprintf( stderr, "jtt %d\n", pamN );
--argc;
goto nextoption;
case 'm':
pamN = myatoi( *++argv );
scoremtx = 0;
TMorJTT = TM;
// fprintf( stderr, "TM %d\n", pamN );
--argc;
goto nextoption;
case 'l':
fastathreshold = atof( *++argv );
constraint = 2;
--argc;
goto nextoption;
#if 0
case 'l':
ppslocal = (int)( atof( *++argv ) * 1000 + 0.5 );
pslocal = (int)( 600.0 / 1000.0 * ppslocal + 0.5);
// fprintf( stderr, "ppslocal = %d\n", ppslocal );
// fprintf( stderr, "pslocal = %d\n", pslocal );
--argc;
goto nextoption;
#else
#endif
case 'C':
nthread = myatoi( *++argv );
if( nthread == 0 ) nthread = 1;
// fprintf( stderr, "nthread = %d\n", nthread );
--argc;
#ifndef enablemultithread
nthread = 0;
#endif
goto nextoption;
case 'I':
nadd = myatoi( *++argv );
// fprintf( stderr, "nadd = %d\n", nadd );
--argc;
goto nextoption;
case 'u':
specificityconsideration = (double)myatof( *++argv );
// fprintf( stderr, "specificityconsideration = %f\n", specificityconsideration );
--argc;
goto nextoption;
case 'c':
stdout_dist = 1;
break;
#if 1
case 'a':
fmodel = 1;
break;
#endif
case 'K':
addprofile = 0;
break;
#if 0
case 'r':
fmodel = -1;
break;
#endif
case 'D':
dorp = 'd';
break;
case 'P':
dorp = 'p';
break;
#if 0
case 'e':
fftscore = 0;
break;
case 'O':
fftNoAnchStop = 1;
break;
#endif
#if 0
case 'Q':
calledByXced = 1;
break;
case 'x':
disp = 1;
break;
case 'a':
alg = 'a';
break;
case 'S':
alg = 'S';
break;
#endif
case 'N':
alg = 'N';
break;
case 'A':
alg = 'A';
break;
case 'L':
alg = 'L';
break;
case 'Z':
usenaivescoreinsteadofalignmentscore = 1;
break;
case 'B': // hitsuyou! memopt -M -B no tame
break;
#if 0
case 'Y':
alg = 'Y'; // nadd>0 no toki nomi. moto no hairetsu to atarashii hairetsuno alignmnt -> L;
break;
case 's':
alg = 's';
break;
case 'G':
alg = 'G';
break;
case 'B': // hitsuyou! memopt -M -B no tame
break;
case 'T':
alg = 'T';
break;
case 'H':
alg = 'H';
break;
case 'M':
alg = 'M';
break;
case 'R':
alg = 'R';
break;
case 'r':
alg = 'r'; // nadd>0 no toki nomi. moto no hairetsu to atarashii hairetsuno alignmnt -> R, last
break;
case 'V':
alg = 'V';
break;
#endif
case 'T': // tbfast.c no noalign ni taiou
break;
case 'F':
use_fft = 1;
break;
case 'U':
treein = 1;
break;
case 't':
treeout = 1;
break;
case 'y':
divpairscore = 1;
break;
case '=':
specifictarget = 1;
break;
case ':':
nwildcard = 1;
break;
case 'q':
lhlimit = myatoi( *++argv );
--argc;
goto nextoption;
/* Modified 01/08/27, default: user tree */
case 'J':
tbutree = 0;
break;
/* modification end. */
default:
fprintf( stderr, "illegal option %c\n", c );
argc = 0;
break;
}
}
nextoption:
;
}
if( argc == 1 )
{
cut = atof( (*argv) );
argc--;
}
if( argc != 0 )
{
fprintf( stderr, "pairlocalalign options: Check source file !\n" );
exit( 1 );
}
if( tbitr == 1 && outgap == 0 )
{
fprintf( stderr, "conflicting options : o, m or u\n" );
exit( 1 );
}
}
int main( int argc, char *argv[] )
{
static int *nlen = NULL;
static int *selfscore = NULL;
static char **name = NULL, **seq = NULL;
static double *eff = NULL;
int i;
static int ***topol = NULL;
static Treedep *dep = NULL;
static double **len = NULL;
FILE *infp = NULL;
char c;
#if 1
// int required = MPI_THREAD_MULTIPLE;
int required = MPI_THREAD_FUNNELED;
int provided;
MPI_Init_thread(&argc, &argv, required, &provided);
#else
MPI_Init(&argc,&argv);
#endif
int my_rank;
int num_of_processes;
MPI_Comm_rank(MPI_COMM_WORLD,&my_rank);
MPI_Comm_size(MPI_COMM_WORLD,&num_of_processes);
if (provided < required) {
#if 0
if (my_rank == 0) {
reporterr( "MPI_THREAD_MULTIPLE (mpi thread support level) is required\n");
reporterr( "required level is %d and provided level is %d\n", required, provided );
}
MPI_Finalize();
exit( 1 );
#else
if (my_rank == 0) reporterr( "WARNING: mpi thread support level %d is required, but provided level is %d.\n", required, provided );
#endif
} else {
if (my_rank == 0) reporterr( "mpi thread support level : required level is %d and provided level is %d\n", required, provided );
}
arguments( argc, argv );
if( alg != 'A' && alg != 'L' && alg != 'N' )
{
reporterr( "alg %c is not yet supported\n", alg );
exit( 1 );
}
if( alg != 'N' && usenaivescoreinsteadofalignmentscore == 1 )
{
reporterr( "The combination of usenaivescoreinsteadofalignmentscore and alg %c is not yet supported\n", alg );
exit( 1 );
}
if( fastathreshold < 0.0001 )
{
constraint = 0;
lhlimit = 0;
}
if(my_rank==0){
if( inputfile )
{
infp = fopen( inputfile, "r" );
if( !infp )
{
fprintf( stderr, "Cannot open %s\n", inputfile );
exit( 1 );
}
}
else
infp = stdin;
getnumlen( infp );
rewind( infp );
}
// getnumlen
MPI_Bcast(&njob,1, MPI_INT, 0, MPI_COMM_WORLD);
MPI_Bcast(&nlenmax,1, MPI_INT, 0, MPI_COMM_WORLD);
MPI_Bcast(&dorp,1, MPI_INT, 0, MPI_COMM_WORLD);
fprintf( stderr, "my_rank: %d, njob: %d, nlenmax: %d\n", my_rank, njob, nlenmax);
if( njob < 2 )
{
fprintf( stderr, "At least 2 sequences should be input!\n"
"Only %d sequence found.\n", njob );
exit( 1 );
}
#ifndef mingw
setstacksize( 200 * njob ); // topolorder() de ookime no stack wo shiyou.
#endif
seq = AllocateCharMtx( njob, nlenmax+1 );
name = AllocateCharMtx( njob, B+1 );
nlen = AllocateIntVec( njob );
selfscore = AllocateIntVec( njob );
topol = AllocateIntCub( njob, 2, 0 );
len = AllocateFloatMtx( njob, 2 );
eff = AllocateDoubleVec( njob );
dep = (Treedep *)calloc( njob, sizeof( Treedep ) );
if(my_rank==0){
#if 0
readData( infp, name, nlen, seq );
#else
readData_pointer( infp, name, nlen, seq );
fclose( infp );
#endif
}
for(i=0;i<njob;i++){
MPI_Bcast(name[i], B+1, MPI_CHAR, 0, MPI_COMM_WORLD);
MPI_Bcast(seq[i], nlenmax+1, MPI_CHAR, 0, MPI_COMM_WORLD);
}
MPI_Bcast(nlen, njob, MPI_INT, 0, MPI_COMM_WORLD);
constants( njob, seq );
#if 0
fprintf( stderr, "params = %d, %d, %d\n", penalty, penalty_ex, offset );
#endif
initSignalSM();
initFiles();
// WriteOptions( trap_g );
c = seqcheck( seq );
if( c )
{
fprintf( stderr, "Illegal character %c\n", c );
exit( 1 );
}
// writePre( njob, name, nlen, seq, 0 );
if( treein ) loadtree( njob, topol, len, name, nlen, dep, treeout );
pairalign_node( njob, nlenmax, name, seq, topol, len, dep, treein, treeout );
FreeCharMtx( seq ); seq = NULL;
FreeCharMtx( name ); name = NULL;
free( nlen ); nlen = NULL;
free( selfscore ); selfscore = NULL;
for( i=0; i<njob; i++ )
{
free( topol[i][0] ); topol[i][0] = NULL;
free( topol[i][1] ); topol[i][1] = NULL;
free( topol[i] ); topol[i] = NULL;
free( len[i] ); len[i] = NULL;
}
free( topol ); topol = NULL;
free( len ); len = NULL;
free( eff ); eff = NULL;
free( dep ); dep = NULL;
freeconstants();
closeFiles();
FreeCommonIP();
MPI_Finalize();
// reporterr( "nodepair_mpi used " );
// use_getrusage();
return( 0 );
#if 0 // gui mitaiou
chudan:
if( seq ) FreeCharMtx( seq ); seq = NULL;
if( name ) FreeCharMtx( name ); name = NULL;
if( nlen ) free( nlen ); nlen = NULL;
if( selfscore ) free( selfscore ); selfscore = NULL;
if( topol ) FreeIntCub( topol ); topol = NULL;
if( dep ) free( dep ); dep = NULL;
freeconstants();
closeFiles();
FreeCommonIP();
if( topol )
{
for( i=0; i<njob; i++ )
{
if( topol[i] )
{
if( topol[i][0] ) free( topol[i][0] ); topol[i][0] = NULL;
if( topol[i][1] ) free( topol[i][1] ); topol[i][1] = NULL;
}
free( topol[i] ); topol[i] = NULL;
}
free( topol ); topol = NULL;
}
if( len )
{
for( i=0; i<njob; i++ )
{
if( len[i] ) free( len[i] ); len[i] = 0;
}
free( len ); len = NULL;
}
if( eff ) free( eff ); eff = NULL;
if( dep ) free( dep ); dep = NULL;
MPI_Finalize();
return( 0 );
#endif
}
This diff is collapsed.
......@@ -116,7 +116,7 @@ void imp_rnaD( int nseq1, int nseq2, char **seq1, char **seq2, double *eff1, dou
}
void imp_match_init_strictD( 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, char *swaplist, int forscore, int *orinum1, int *orinum2 )
void imp_match_init_strictD( 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, char *swaplist, int forscore, int *orinum1, int *orinum2, int *uselh, int *seedinlh1, int *seedinlh2, int nodeid, int nfiles )
{
// int i, j, k1, k2, tmpint, start1, start2, end1, end2;
// double effij;
......@@ -150,7 +150,10 @@ void imp_match_init_strictD( double *imp, int clus1, int clus2, int lgth1, int l
// nocount2 = AllocateCharVec( impalloclen );
}
if( nodeid == -1 )
fillimp( impmtx, imp, clus1, clus2, lgth1, lgth2, seq1, seq2, eff1, eff2, eff1_kozo, eff2_kozo, localhom, swaplist, forscore, orinum1, orinum2 );
else
fillimp_file( impmtx, imp, clus1, clus2, lgth1, lgth2, seq1, seq2, eff1, eff2, eff1_kozo, eff2_kozo, localhom, swaplist, forscore, orinum1, orinum2, uselh, seedinlh1, seedinlh2, nodeid, nfiles );
}
......@@ -2508,7 +2511,7 @@ static void freegaplenpartly( Gaplen **mtx, int startpos, int endpos )
#endif
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 )
double D__align( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, char *sgap1, char *sgap2, char *egap1, char *egap2, int *chudanpt, int chudanref, int *chudanres, int headgp, int tailgp )
/* score no keisan no sai motokaraaru gap no atukai ni mondai ga aru */
{
......@@ -2610,7 +2613,7 @@ double D__align( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1,
orlgth1 = 0;
orlgth2 = 0;
imp_match_init_strictD( NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL );
imp_match_init_strictD( NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, 0 );
free( mseq1 );
free( mseq2 );
......@@ -3241,13 +3244,13 @@ double D__align( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1,
previousw = w2;
match_calc( n_dynamicmtx, initverticalw, cpmx2, cpmx1, 0, lgth1, doublework, intwork, 1 );
if( localhom )
if( constraint )
imp_match_out_vead_tate( initverticalw, 0, lgth1 ); // 060306
match_calc( n_dynamicmtx, currentw, cpmx1, cpmx2, 0, lgth2, doublework, intwork, 1 );
if( localhom )
if( constraint )
imp_match_out_vead( currentw, 0, lgth2 ); // 060306
#if 0 // -> tbfast.c
#if 0 // -> tbfast.c // impossible
if( localhom )
imp_match_calc( n_dynamicmtx, currentw, icyc, jcyc, lgth1, lgth2, seq1, seq2, eff1, eff2, localhom, 1, 0 );
......@@ -3403,7 +3406,7 @@ for( j=0; j<lgth2; j++ )
}
fprintf( stderr, "\n" );
#endif
if( localhom )
if( constraint )
{
// fprintf( stderr, "Calling imp_match_calc (o) lgth = %d, i = %d\n", lgth1, i );
#if 0
......@@ -4151,7 +4154,7 @@ fprintf( stderr, "\n" );
for( i=0; i<icyc; i++ ) strcpy( mseq1[i], seq1[i] );
for( j=0; j<jcyc; j++ ) strcpy( mseq2[j], seq2[j] );
*/
if( localhom )
if( constraint )
{
Atracking_localhom( impmatch, currentw, lastverticalw, seq1, seq2, mseq1, mseq2, ijp, icyc, jcyc, warpis, warpjs, warpbase );
}
......@@ -4311,7 +4314,7 @@ fprintf( stderr, "\n" );
}
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 )
double D__align_ls( double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, char *sgap1, char *sgap2, char *egap1, char *egap2, int *chudanpt, int chudanref, int *chudanres, int headgp, int tailgp )
{
int v1, v2;
double val;
......@@ -4329,26 +4332,26 @@ double D__align_ls( double **n_dynamicmtx, char **seq1, char **seq2, double *eff
if( v1 >= v2 )
{
val = D__align( n_dynamicmtx, seq1, seq2, eff1, eff2, icyc, jcyc, alloclen, localhom, impmatch, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
val = D__align( n_dynamicmtx, seq1, seq2, eff1, eff2, icyc, jcyc, alloclen, constraint, impmatch, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
}
else
{
val = D__align( n_dynamicmtx, seq2, seq1, eff2, eff1, jcyc, icyc, alloclen, localhom, impmatch, sgap2, sgap1, egap2, egap1, chudanpt, chudanref, chudanres, headgp, tailgp );
val = D__align( n_dynamicmtx, seq2, seq1, eff2, eff1, jcyc, icyc, alloclen, constraint, impmatch, sgap2, sgap1, egap2, egap1, chudanpt, chudanref, chudanres, headgp, tailgp );
}
return val;
}
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 )
double D__align_gapmap( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, int *gapmap1, int *gapmap2 )
/* score no keisan no sai motokaraaru gap no atukai ni mondai ga aru */
{
fprintf( stderr, "Unexpected error. Please contact kazutaka.katoh@aist.go.jp\n" );
fprintf( stderr, "Unexpected error. Please contact katoh@ifrec.osaka-u.ac.jp\n" );
exit( 1 );
}
double D__align_variousdist( int **which, 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 )
double D__align_variousdist( int **which, double ***matrices, double **n_dynamicmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, char *sgap1, char *sgap2, char *egap1, char *egap2, int *chudanpt, int chudanref, int *chudanres, int headgp, int tailgp )
/* score no keisan no sai motokaraaru gap no atukai ni mondai ga aru */
{
......@@ -4448,7 +4451,7 @@ double D__align_variousdist( int **which, double ***matrices, double **n_dynamic
orlgth1 = 0;
orlgth2 = 0;
imp_match_init_strictD( NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL );
imp_match_init_strictD( NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, 0 );
free( mseq1 );
free( mseq2 );
......@@ -5134,7 +5137,7 @@ double D__align_variousdist( int **which, double ***matrices, double **n_dynamic
// for( i=0; i<lgth1; i++ ) fprintf( stderr, "%d - %f\n", i, initverticalw[i] );
if( localhom )
if( constraint )
imp_match_out_vead_tate( initverticalw, 0, lgth1 ); // 060306
// match_calc( n_dynamicmtx, currentw, cpmx1, cpmx2, 0, lgth2, doublework, intwork, 1 );
......@@ -5160,9 +5163,9 @@ double D__align_variousdist( int **which, double ***matrices, double **n_dynamic
// exit( 1 );
if( localhom )
if( constraint )
imp_match_out_vead( currentw, 0, lgth2 ); // 060306
#if 0 // -> tbfast.c
#if 0 // -> tbfast.c // impossible
if( localhom )
imp_match_calc( n_dynamicmtx, currentw, icyc, jcyc, lgth1, lgth2, seq1, seq2, eff1, eff2, localhom, 1, 0 );
......@@ -5333,7 +5336,7 @@ for( j=0; j<lgth2; j++ )
}
fprintf( stderr, "\n" );
#endif
if( localhom )
if( constraint )
{
// fprintf( stderr, "Calling imp_match_calc (o) lgth = %d, i = %d\n", lgth1, i );
#if 0
......@@ -6084,7 +6087,7 @@ fprintf( stderr, "\n" );
for( i=0; i<icyc; i++ ) strcpy( mseq1[i], seq1[i] );
for( j=0; j<jcyc; j++ ) strcpy( mseq2[j], seq2[j] );
*/
if( localhom )
if( constraint )
{
Atracking_localhom( impmatch, currentw, lastverticalw, seq1, seq2, mseq1, mseq2, ijp, icyc, jcyc, warpis, warpjs, warpbase );
}
......
......@@ -708,13 +708,13 @@ system( "/usr/bin/gnuplot list.plot" );
Aalign( tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen );
break;
case( 'M' ):
MSalignmm( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, headgp, tailgp );
MSalignmm( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, headgp, tailgp, NULL, NULL, NULL, 0.0, 0.0 );
break;
case( 'A' ):
if( clus1 == 1 && clus2 == 1 )
G__align11( n_dynamicmtx, tmpres1, tmpres2, alloclen, headgp, tailgp );
else
A__align( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, NULL, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, headgp, tailgp, -1, -1 );
A__align( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, 0, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, headgp, tailgp, -1, -1, NULL, NULL, NULL, 0.0, 0.0 );
break;
default:
fprintf( stderr, "alg = %c\n", alg );
......@@ -825,10 +825,10 @@ double Falign( int **whichmtx, double ***scoringmatrices, double **n_dynamicmtx,
mymergesort( 0, 0, NULL );
alignableReagion( 0, 0, NULL, NULL, NULL, NULL, NULL );
fft( 0, NULL, 1 );
A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1 );
D__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
A__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
D__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1, NULL, NULL, NULL, 0.0, 0.0 );
D__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
A__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
D__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
G__align11( NULL, NULL, NULL, 0, 0, 0 );
blockAlign2( NULL, NULL, NULL, NULL, NULL, NULL );
if( crossscore ) FreeDoubleMtx( crossscore );
......@@ -1514,7 +1514,7 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
if( scoringmatrices ) // called by tditeration.c
totalscore += MSalignmm_variousdist( NULL, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
else
totalscore += MSalignmm( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
totalscore += MSalignmm( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp, NULL, NULL, NULL, 0.0, 0.0 );
// totalscore += MSalignmm( n_dis_consweight_multi, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
break;
case( 'd' ):
......@@ -1526,10 +1526,10 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
{
if( scoringmatrices ) // called by tditeration.c
{
totalscore += D__align_variousdist( whichmtx, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, NULL, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
totalscore += D__align_variousdist( whichmtx, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, 0, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
}
else
totalscore += D__align( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, NULL, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
totalscore += D__align( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, 0, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
}
break;
case( 'A' ):
......@@ -1541,10 +1541,10 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
{
if( scoringmatrices ) // called by tditeration.c
{
totalscore += A__align_variousdist( whichmtx, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, NULL, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
totalscore += A__align_variousdist( whichmtx, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, 0, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp );
}
else
totalscore += A__align( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, NULL, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp, -1, -1 );
totalscore += A__align( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, 0, &dumdb, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres, headgp, tailgp, -1, -1, NULL, NULL, NULL, 0.0, 0.0 );
}
break;
default:
......@@ -1678,9 +1678,9 @@ double Falign_udpari_long(
mymergesort( 0, 0, NULL );
alignableReagion( 0, 0, NULL, NULL, NULL, NULL, NULL );
fft( 0, NULL, 1 );
A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1 );
A__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
D__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1, NULL, NULL, NULL, 0.0, 0.0 );
A__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
D__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0 );
G__align11( NULL, NULL, NULL, 0, 0, 0 );
blockAlign2( NULL, NULL, NULL, NULL, NULL, NULL );
if( crossscore ) FreeDoubleMtx( crossscore );
......@@ -1843,7 +1843,7 @@ system( "less input_of_Falign < /dev/tty > /dev/tty" );
#endif
if( !kobetsubunkatsu )
{
fprintf( stderr, " FFT ... " );
if( fftkeika ) fprintf( stderr, " FFT ... " );
for( j=0; j<n20or4or2; j++ ) vec_init( seqVector1[j], nlen );
if( scoremtx == -1 )
......@@ -2112,7 +2112,7 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
}
#if 1
if( !kobetsubunkatsu )
fprintf( stderr, "done. (%d anchors) ", count );
if( fftkeika ) fprintf( stderr, "done. (%d anchors) ", count );
#endif
if( !count && fftNoAnchStop )
ErrorExit( "Cannot detect anchor!" );
......@@ -2334,7 +2334,7 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
fprintf( stderr, "DP %03d / %03d %4d to ", i+1, count-1, totallen );
#else
#if 1
fprintf( stderr, "DP %05d / %05d \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b", i+1, count-1 );
if( 1 || fftkeika ) fprintf( stderr, "DP %05d / %05d \b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b", i+1, count-1 );
#endif
#endif
for( j=0; j<clus1; j++ )
......@@ -2395,7 +2395,7 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
if( scoringmatrices ) // called by tditeration.c
totalscore += MSalignmm_variousdist( NULL, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, NULL, 0, NULL, headgp, tailgp );
else
totalscore += MSalignmm( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, NULL, 0, NULL, headgp, tailgp );
totalscore += MSalignmm( n_dynamicmtx, tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, sgap1, sgap2, egap1, egap2, NULL, 0, NULL, headgp, tailgp, NULL, NULL, NULL, 0.0, 0.0 );
break;
default:
fprintf( stderr, "alg = %c\n", alg );
......
......@@ -166,7 +166,7 @@ double Falign_localhom( int **whichmtx, double ***scoringmatrices, double **n_dy
double **eff1s, double **eff2s,
int clus1, int clus2,
int alloclen,
LocalHom ***localhom, double *totalimpmatch,
int constraint, double *totalimpmatch,
int *gapmap1, int *gapmap2,
int *chudanpt, int chudanref, int *chudanres )
{
......@@ -227,8 +227,8 @@ double Falign_localhom( int **whichmtx, double ***scoringmatrices, double **n_dy
fft( 0, NULL, 1 );
// A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1 ); // iru?
G__align11( NULL, NULL, NULL, 0, 0, 0 );
partA__align( NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL );
partA__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL );
partA__align( NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL );
partA__align_variousdist( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL );
blockAlign2( NULL, NULL, NULL, NULL, NULL, NULL );
if( crossscore ) FreeDoubleMtx( crossscore );
FreeCharMtx( result1 );
......@@ -809,10 +809,10 @@ system( "less seqVec2 < /dev/tty > /dev/tty" );
case( 'A' ):
if( scoringmatrices ) // called by tditeration.c
{
totalscore += partA__align_variousdist( whichmtx, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, localhom, &impmatch, cut1[i], cut1[i+1]-1, cut2[i], cut2[i+1]-1, gapmap1, gapmap2, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres );
totalscore += partA__align_variousdist( whichmtx, scoringmatrices, NULL, tmpres1, tmpres2, eff1, eff2, eff1s, eff2s, clus1, clus2, alloclen, constraint, &impmatch, cut1[i], cut1[i+1]-1, cut2[i], cut2[i+1]-1, gapmap1, gapmap2, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres );
}
else
totalscore += partA__align( tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, localhom, &impmatch, cut1[i], cut1[i+1]-1, cut2[i], cut2[i+1]-1, gapmap1, gapmap2, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres );
totalscore += partA__align( tmpres1, tmpres2, eff1, eff2, clus1, clus2, alloclen, constraint, &impmatch, cut1[i], cut1[i+1]-1, cut2[i], cut2[i+1]-1, gapmap1, gapmap2, sgap1, sgap2, egap1, egap2, chudanpt, chudanref, chudanres );
*totalimpmatch += impmatch;
// fprintf( stderr, "*totalimpmatch in Falign_localhom = %f\n", *totalimpmatch );
......
......@@ -797,7 +797,8 @@ double G__align11_noalign( double **n_dynamicmtx, int penal, int penal_ex, char
intwork = AllocateIntMtx( nalphabets, MAX( ll1, ll2 )+2 );
amino_dynamicmtx = AllocateDoubleMtx( 0x80, 0x80 );
// amino_dynamicmtx = AllocateDoubleMtx( 0x80, 0x80 );
amino_dynamicmtx = AllocateDoubleMtx( 0x100, 0x100 ); // 2017/Nov. constants.c no 'charsize' wo global hensuu nishita houga yoi?
#if DEBUG
fprintf( stderr, "succeeded\n" );
#endif
......@@ -811,8 +812,6 @@ double G__align11_noalign( double **n_dynamicmtx, int penal, int penal_ex, char
amino_dynamicmtx[(int)amino[i]][(int)amino[j]] = (double)n_dynamicmtx[i][j];
#if 0
for( i=0; i<lgth1; i++ )
fprintf( stderr, "ogcp1[%d]=%f\n", i, ogcp1[i] );
......
......@@ -871,7 +871,8 @@ double L__align11_noalign( double **n_dynamicmtx, char **seq1, char **seq2 )
#if DEBUG
fprintf( stderr, "succeeded\n" );
#endif
amino_dynamicmtx = AllocateDoubleMtx( 0x80, 0x80 );
// amino_dynamicmtx = AllocateDoubleMtx( 0x80, 0x80 );
amino_dynamicmtx = AllocateDoubleMtx( 0x100, 0x100 ); // 2017/Nov. constants.c no 'charsize' wo global hensuu nishita houga yoi?
orlgth1 = ll1 - 100;
orlgth2 = ll2 - 100;
}
......
This diff is collapsed.
......@@ -10,8 +10,13 @@ ENABLE_MULTITHREAD = -Denablemultithread
# Comment out the above line if your compiler
# does not support TLS (thread-local strage).
#ENABLE_ATOMIC = -Denableatomic
# Comment out the above line if your compiler
# does not support "atomic_int".
CC = gcc
CFLAGS = -O3 -std=c99
#CC = icc
CFLAGS = -O3
#CFLAGS = -O3 -fPIC
# add -fPIC when building .so files
......@@ -25,7 +30,6 @@ CFLAGS = -O3 -std=c99
#CFLAGS = -O0 -fPIC -pedantic -Wall -std=c99 -g -DMALLOC_CHECK_=3 -lprofiler # ?
MYCFLAGS = $(MNO_CYGWIN) $(ENABLE_MULTITHREAD) $(CFLAGS)
ifdef ENABLE_MULTITHREAD
LIBS = -lm -lpthread
......@@ -33,11 +37,19 @@ else
LIBS = -lm
endif
ifdef ENABLE_ATOMIC
STDF = -std=c11
else
STDF = -std=c99
endif
MYCFLAGS = $(MNO_CYGWIN) $(ENABLE_MULTITHREAD) $(ENABLE_ATOMIC) $(STDF) $(CFLAGS)
INSTALL = install
PROGS = dvtditr dndfast7 dndblast sextet5 mafft-distance pairlocalalign \
multi2hat3s pairash addsingle \
splittbfast disttbfast tbfast mafft-profile f2cl mccaskillwrap contrafoldwrap countlen \
multi2hat3s pairash addsingle maffttext2hex hex2maffttext \
splittbfast disttbfast tbfast nodepair mafft-profile f2cl mccaskillwrap contrafoldwrap countlen \
seq2regtable regtable2seq score getlag dndpre setcore replaceu restoreu setdirection makedirectionlist version
SOS = libdisttbfast.so
DLLS = libdisttbfast.dll
......@@ -45,82 +57,80 @@ DYLIBS = libdisttbfast.dylib
PERLPROGS = mafftash_premafft.pl seekquencer_premafft.pl
SCRIPTS = mafft mafft-homologs.rb mafft-sparsecore.rb
OBJSETDIRECTION = mtxutl.o io.o setdirection.o defs.o mltaln9.o
OBJREPLACEU = mtxutl.o io.o replaceu.o defs.o mltaln9.o
OBJRESTOREU = mtxutl.o io.o restoreu.o defs.o mltaln9.o
OBJREGTABLE2SEQ = mtxutl.o io.o regtable2seq.o defs.o mltaln9.o
OBJSETDIRECTION = mtxutl.o io.o setdirection.o defs.o mltaln9.o Galign11.o Lalign11.o genalign11.o
OBJREPLACEU = mtxutl.o io.o replaceu.o defs.o mltaln9.o Galign11.o Lalign11.o genalign11.o
OBJRESTOREU = mtxutl.o io.o restoreu.o defs.o mltaln9.o Galign11.o Lalign11.o genalign11.o
OBJREGTABLE2SEQ = mtxutl.o io.o regtable2seq.o defs.o mltaln9.o Galign11.o Lalign11.o genalign11.o
OBJSEQ2REGTABLE = mtxutl.o io.o seq2regtable.o defs.o
OBJCOUNTLEN = mtxutl.o io.o countlen.o defs.o
OBJF2CL = mtxutl.o io.o f2cl.o constants.o defs.o
OBJMCCASKILLWRAP = mtxutl.o io.o mccaskillwrap.o constants.o defs.o mltaln9.o
OBJCONTRAFOLDWRAP = mtxutl.o io.o contrafoldwrap.o constants.o defs.o mltaln9.o
OBJMCCASKILLWRAP = mtxutl.o io.o mccaskillwrap.o constants.o defs.o mltaln9.o Galign11.o Lalign11.o genalign11.o
OBJCONTRAFOLDWRAP = mtxutl.o io.o contrafoldwrap.o constants.o defs.o mltaln9.o Galign11.o Lalign11.o genalign11.o
OBJMULTI2HAT3S = mtxutl.o io.o mltaln9.o tddis.o constants.o \
multi2hat3s.o defs.o fft.o fftFunctions.o
multi2hat3s.o defs.o fft.o fftFunctions.o Galign11.o Lalign11.o genalign11.o
OBJPAIRASH = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genalign11.o Lalign11.o SAalignmm.o \
Falign.o MSalignmm.o Galign11.o Lalign11.o genalign11.o MSalign11.o suboptalign11.o SAalignmm.o \
pairash.o defs.o fft.o fftFunctions.o
OBJPAIRLOCALALIGN = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o MSalignmm.o Galign11.o MSalign11.o suboptalign11.o genalign11.o Lalign11.o SAalignmm.o \
Falign.o MSalignmm.o Galign11.o Lalign11.o genalign11.o MSalign11.o suboptalign11.o SAalignmm.o \
pairlocalalignmain.o pairlocalalign.o defs.o fft.o fftFunctions.o
OBJDUMMY = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
disttbfast_dummy.o dummy.o defs.o fft.o fftFunctions.o
OBJSPLITFROMALN = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o splitfromaln.o defs.o fft.o fftFunctions.o
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
splitfromaln.o defs.o fft.o fftFunctions.o
OBJSPLITTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o splittbfast.o defs.o fft.o fftFunctions.o
OBJSPLITTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o splittbfast2.o defs.o fft.o fftFunctions.o
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
splittbfast.o defs.o fft.o fftFunctions.o
OBJSPLITTBFASTP = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o defs.o fft.o fftFunctions.o
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
defs.o fft.o fftFunctions.o
OBJDISTTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
disttbfast.o defs.o fft.o fftFunctions.o addfunctions.o
OBJMAKEDIRECTIONLIST = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Lalign11.o makedirectionlist.o defs.o fft.o fftFunctions.o addfunctions.o
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
makedirectionlist.o defs.o fft.o fftFunctions.o addfunctions.o
OBJTBFAST = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o \
tbfast.o defs.o fft.o fftFunctions.o addfunctions.o \
pairlocalalign.o genalign11.o MSalign11.o Lalign11.o
pairlocalalign.o MSalign11.o
OBJNODPAIR = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o \
nodepair.o defs.o fft.o fftFunctions.o addfunctions.o \
pairlocalalign.o MSalign11.o
OBJADDSINGLE = mtxutl.o io.o mltaln9.o tddis.o constants.o MSalignmm.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o \
addsingle.o defs.o fft.o fftFunctions.o addfunctions.o
OBJTBFAST2 = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o MSalignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o \
tbfast2.o defs.o fft.o fftFunctions.o
OBJSETCORE = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o \
setcore.o defs.o fft.o fftFunctions.o
OBJTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o fftFunctions.o fft.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o fftFunctions.o fft.o \
tditeration.o tditr.o defs.o SAalignmm.o treeOperation.o
OBJDVTDITR = mtxutl.o io.o mltaln9.o tddis.o constants.o nj.o partSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o MSalignmm.o fftFunctions.o fft.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o MSalignmm.o fftFunctions.o fft.o \
tditeration.o dvtditr.o defs.o SAalignmm.o treeOperation.o addfunctions.o
OBJGETLAG = mtxutl.o io.o mltaln9.o tddis.o constants.o partSalignmm.o Lalignmm.o rna.o Salignmm.o \
Falign.o Falign_localhom.o Galign11.o SAalignmm.o MSalignmm.o Dalignmm.o \
Falign.o Falign_localhom.o Galign11.o Lalign11.o genalign11.o SAalignmm.o MSalignmm.o Dalignmm.o \
getlag.o defs.o fft.o fftFunctions.o
OBJGAPFILL = mtxutl.o io.o constants.o gapfill.o defs.o
OBJDNDFAST5 = dndfast5.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJDNDBLAST = dndblast.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJDNDFAST7 = dndfast7.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJDNDBLAST = dndblast.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o Galign11.o Lalign11.o genalign11.o
OBJDNDFAST7 = dndfast7.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o Galign11.o Lalign11.o genalign11.o
OBJDNDFAST6 = dndfast6.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJDNDFAST4 = dndfast4.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJDNDFAST6 = dndfast6.o io.o constants.o mtxutl.o mltaln9.o tddis.o defs.o
OBJSEXTET5 = io.o constants.o mtxutl.o mltaln9.o tddis.o sextet5.o defs.o
OBJDISTANCE = io.o constants.o mtxutl.o mltaln9.o tddis.o mafft-distance.o defs.o
OBJSEXTET5 = io.o constants.o mtxutl.o mltaln9.o tddis.o sextet5.o defs.o Galign11.o Lalign11.o genalign11.o
OBJDISTANCE = io.o constants.o mtxutl.o mltaln9.o tddis.o mafft-distance.o defs.o Galign11.o Lalign11.o genalign11.o
OBJTRIPLET6 = io.o constants.o mtxutl.o mltaln9.o tddis.o triplet6.o defs.o
OBJTRIPLET5 = io.o constants.o mtxutl.o mltaln9.o tddis.o triplet5.o defs.o
OBJOCTET4 = io.o constants.o mtxutl.o mltaln9.o tddis.o octet4.o defs.o
OBJDNDPRE = dndpre.o io.o constants.o mtxutl.o mltaln9.o defs.o
OBJDNDPRE = dndpre.o io.o constants.o mtxutl.o mltaln9.o defs.o Galign11.o Lalign11.o genalign11.o
OBJGALN = io.o mtxutl.o mltaln9.o tddis.o constants.o partSalignmm.o MSalignmm.o Lalignmm.o rna.o Salignmm.o Dalignmm.o \
SAalignmm.o Galign11.o Falign.o Falign_localhom.o fftFunctions.o fft.o mafft-profile.o defs.o
OBJSCORE = io.o mtxutl.o mltaln9.o score.o constants.o defs.o
SAalignmm.o Galign11.o Lalign11.o genalign11.o Falign.o Falign_localhom.o fftFunctions.o fft.o mafft-profile.o defs.o
OBJSCORE = io.o mtxutl.o mltaln9.o score.o constants.o defs.o Galign11.o Lalign11.o genalign11.o
HEADER = mltaln.h mtxutl.h mafft.h
FFTHEADER = fft.h
......@@ -160,17 +170,23 @@ mltaln.h : functions.h
touch mltaln.h
version : version.c mltaln.h
$(CC) -o $@ version.c $(MYCFLAGS) $(LDFLAGS)
$(CC) -o $@ version.c $(MYCFLAGS) $(LDFLAGS) $(LIBS)
maffttext2hex : maffttext2hex.c
$(CC) -o $@ maffttext2hex.c $(MYCFLAGS) $(LDFLAGS) $(LIBS)
hex2maffttext : hex2maffttext.c
$(CC) -o $@ hex2maffttext.c $(MYCFLAGS) $(LDFLAGS) $(LIBS)
tbfast : $(OBJTBFAST)
$(CC) -o $@ $(OBJTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
nodepair : $(OBJNODPAIR)
$(CC) -o $@ $(OBJNODPAIR) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
addsingle : $(OBJADDSINGLE)
$(CC) -o $@ $(OBJADDSINGLE) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
tbfast2 : $(OBJTBFAST2)
$(CC) -o $@ $(OBJTBFAST2) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
disttbfast : $(OBJDISTTBFAST)
$(CC) -o $@ $(OBJDISTTBFAST) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
......@@ -192,9 +208,6 @@ splittbfast : $(OBJSPLITTBFAST)
splitfromaln : $(OBJSPLITFROMALN)
$(CC) -o $@ $(OBJSPLITFROMALN) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
splittbfast2 : $(OBJSPLITTBFAST2)
$(CC) -o $@ $(OBJSPLITTBFAST2) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
dummy : $(OBJDUMMY)
$(CC) -o $@ $(OBJDUMMY) $(MYCFLAGS) $(LDFLAGS) $(LIBS)
......@@ -390,6 +403,10 @@ dummy.o : dummy.c $(HEADER) $(FFTHEADER)
tbfast.o : tbfast.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c tbfast.c
nodepair.o : nodepair.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c nodepair.c
addsingle.o : addsingle.c $(HEADER) $(FFTHEADER)
addsingle.o : addsingle.c $(HEADER) $(FFTHEADER)
$(CC) $(MYCFLAGS) -c addsingle.c
......@@ -489,8 +506,11 @@ sextet5.o : sextet5.c $(HEADER) $(MTXHEADER)
mafft-distance.o : mafft-distance.c $(HEADER) $(MTXHEADER)
$(CC) $(MYCFLAGS) -c mafft-distance.c
triplet5.o : triplet5.c $(HEADER) $(MTXHEADER)
$(CC) $(MYCFLAGS) -c triplet5.c
maffttext2hex.o : maffttext2hex.c
$(CC) $(MYCFLAGS) -c maffttext2hex.c
hex2maffttext.o : hex2maffttext.c
$(CC) $(MYCFLAGS) -c hex2maffttext.c
triplet6.o : triplet6.c $(HEADER) $(MTXHEADER)
$(CC) $(MYCFLAGS) -c triplet6.c
......
This diff is collapsed.
......@@ -84,9 +84,9 @@ void profilealignment2( int n0, int n2, char **aln0, char **aln2, int alloclen,
newgapstr = "-";
if( alg == 'M' )
MSalignmm( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1 ); //outgap=1, 2014/Dec/1
MSalignmm( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1, NULL, NULL, NULL, 0.0, 0.0 ); //outgap=1, 2014/Dec/1
else
A__align( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, NULL, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1, -1, -1 ); //outgap=1, 2014/Dec/1
A__align( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, 0, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1, -1, -1, NULL, NULL, NULL, 0.0, 0.0 ); //outgap=1, 2014/Dec/1
newlen = strlen( aln0[0] );
......@@ -209,9 +209,9 @@ static void profilealignment( int n0, int n1, int n2, char **aln0, char **aln1,
newgapstr = "-";
if( alg == 'M' )
MSalignmm( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1 ); //outgap=1, 2014/Dec/1
MSalignmm( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1, NULL, NULL, NULL, 0.0, 0.0 ); //outgap=1, 2014/Dec/1
else
A__align( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, NULL, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1, -1, -1 ); //outgap=1, 2014/Dec/1
A__align( n_dis_consweight_multi, aln0, aln2, effarr0, effarr2, n0, n2, alloclen, 0, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, 1, 1, -1, -1, NULL, NULL, NULL, 0.0, 0.0 ); //outgap=1, 2014/Dec/1
newlen = strlen( aln0[0] );
......@@ -284,7 +284,7 @@ void eq2dashmatometehayaku( char **s, int n )
int *tobechanged;
int len = strlen( s[0] );
tobechanged = calloc( len, sizeof( int ) );
tobechanged = calloc( len+1, sizeof( int ) ); // len+1, 2017/Nov/15
c = 0;
for( j=0; j<len; j++ )
{
......
......@@ -6,7 +6,6 @@
#define IODEBUG 0
#define SCOREOUT 0
static int nadd;
static int treein;
static int topin;
static int treeout;
......@@ -1279,8 +1278,8 @@ static double treebase( int nseq, int *nlen, char **aseq, int nadd, char *mergeo
}
else
{
clus1 = fastconjuction_noname( topol[l][0], aseq, mseq1, effarr1, effarr, indication1, 0.0 );
clus2 = fastconjuction_noname( topol[l][1], aseq, mseq2, effarr2, effarr, indication2, 0.0 );
clus1 = fastconjuction_noname( topol[l][0], aseq, mseq1, effarr1, effarr, indication1, 0.0, NULL );
clus2 = fastconjuction_noname( topol[l][1], aseq, mseq2, effarr2, effarr, indication2, 0.0, NULL );
}
if( mergeoralign[l] == '1' || mergeoralign[l] == '2' )
......@@ -1396,9 +1395,9 @@ static double treebase( int nseq, int *nlen, char **aseq, int nadd, char *mergeo
fprintf( stderr, "c" );
if( alg == 'A' )
{
imp_match_init_strict( NULL, clus1, clus2, strlen( mseq1[0] ), strlen( mseq2[0] ), mseq1, mseq2, effarr1, effarr2, effarr1_kozo, effarr2_kozo, localhomshrink, NULL, 1, topol[l][0], topol[l][1] );
imp_match_init_strict( NULL, clus1, clus2, strlen( mseq1[0] ), strlen( mseq2[0] ), mseq1, mseq2, effarr1, effarr2, effarr1_kozo, effarr2_kozo, localhomshrink, NULL, 1, topol[l][0], topol[l][1], NULL, NULL, NULL, -1, 0 );
if( rnakozo ) imp_rna( clus1, clus2, mseq1, mseq2, effarr1, effarr2, grouprna1, grouprna2, NULL, NULL, NULL );
pscore = A__align( n_dis_consweight_multi, mseq1, mseq2, effarr1, effarr2, clus1, clus2, *alloclen, localhomshrink, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, outgap, outgap, -1, -1 );
pscore = A__align( n_dis_consweight_multi, mseq1, mseq2, effarr1, effarr2, clus1, clus2, *alloclen, constraint, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, outgap, outgap, -1, -1, NULL, NULL, NULL, 0.0, 0.0 ); // cpmxchild0 tsukaeru??
}
else if( alg == 'Q' )
{
......@@ -1428,10 +1427,10 @@ static double treebase( int nseq, int *nlen, char **aseq, int nadd, char *mergeo
break;
case( 'M' ):
fprintf( stderr, "m" );
pscore = MSalignmm( n_dis_consweight_multi, mseq1, mseq2, effarr1, effarr2, clus1, clus2, *alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, outgap, outgap );
pscore = MSalignmm( n_dis_consweight_multi, mseq1, mseq2, effarr1, effarr2, clus1, clus2, *alloclen, NULL, NULL, NULL, NULL, NULL, 0, NULL, outgap, outgap, NULL, NULL, NULL, 0.0, 0.0 );
break;
case( 'A' ):
pscore = A__align( n_dis_consweight_multi, mseq1, mseq2, effarr1, effarr2, clus1, clus2, *alloclen, NULL, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, outgap, outgap, -1, -1 );
pscore = A__align( n_dis_consweight_multi, mseq1, mseq2, effarr1, effarr2, clus1, clus2, *alloclen, 0, &dumdb, NULL, NULL, NULL, NULL, NULL, 0, NULL, outgap, outgap, -1, -1, NULL, NULL, NULL, 0.0, 0.0 ); // cpmxchild0 tsukaeru??
break;
default:
ErrorExit( "ERROR IN SOURCE FILE" );
......@@ -1975,7 +1974,7 @@ static void *addsinglethread( void *arg )
if( mseq1 ) free( mseq1 ); mseq1 = NULL;
if( mseq2 ) free( mseq2 ); mseq2 = NULL;
Falign( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, 0, NULL );
A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1 );
A__align( NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, -1, -1, NULL, NULL, NULL, 0.0, 0.0 );
if( commonIP ) FreeIntMtx( commonIP );
commonIP = NULL;
commonAlloc1 = commonAlloc2 = 0;
......
......@@ -314,6 +314,62 @@ void BLOSUMmtx( int n, double **matrix, double *freq, unsigned char *amino, char
for( i=0; i<26; i++ ) amino_grp[(int)amino[i]] = locgrpd[i];
}
static int checkchar( int i )
{
if( i > 0xff || i <= 0x00 || i == 0x3E || i == 0x3D || i == 0x3C || i == 0x2D || i == 0x20 || i == 0x0d || i == 0x0a )
return( 1 );
return( 0 );
}
static void overridematrix( double **matrix )
{
char buf[500];
FILE *fp;
unsigned int i1, i2;
double v;
char *bpt;
int nread;
fp = fopen( "_aamtx", "r" );
if( fp == NULL )
{
fprintf( stderr, "Cannot open scorematrix\n" );
exit( 1 );
}
while( 1 )
{
fgets( buf, 499, fp );
if( feof( fp ) ) break;
if( ( bpt = strchr( buf, '#' ) ) ) *bpt = 0;
i1 = i2 = 0;
nread = sscanf( buf, "%x %x %lf", &i1, &i2, &v );
if( nread == EOF ) continue;
if( nread != 3 )
{
reporterr( "Format error in this line?\n" );
reporterr( "%s\n", buf );
// reporterr( "To set a score, 100, for a match of 0x41 and 0x42, \n" );
// reporterr( "0x41 0x42 100 \n" );
exit( 1 );
}
if( checkchar( i1 ) )
{
reporterr( "%c=0x%x cannot be used (1)\n", i1, i1 );
exit( 1 );
}
if( checkchar( i2 ) )
{
reporterr( "%c=0x%x cannot be used (2)\n", i2, i2 );
exit( 1 );
}
reporterr( "Score(%c=0x%x,%c=0x%x)=%f\n", i1, i1, i2, i2, v );
matrix[i1][i2] = v;
}
}
void extendedmtx( double **matrix, double *freq, unsigned char *amino, char *amino_grp )
{
int i;
......@@ -336,7 +392,9 @@ void extendedmtx( double **matrix, double *freq, unsigned char *amino, char *ami
}
for( i=0; i<nalphabets; i++ )
matrix[i][i] = matrix[i][i] = (double)1.0;
#if 0 // user-defined matrix no toki fukkatsu saseru.
overridematrix( matrix );
#if 0 // user-defined matrix + user-defined freqency ga aru toki fukkatsu saseru.
if( tmpmtx[400] != -1.0 )
{
for( i=0; i<20; i++ ) freq[i] = tmpmtx[400+i];
......
#include <stdio.h>
#include "dp.h"
#include "mltaln.h"
#include "dp.h"
int TLS commonAlloc1 = 0;
int TLS commonAlloc2 = 0;
int TLS **commonIP = NULL;
int TLS **commonJP = NULL;
int nthread = 1;
int nthreadpair = 1;
int randomseed = 0;
int parallelizationstrategy = BAATARI1;
......@@ -131,6 +131,8 @@ double sueff_global = SUEFF;
double lenfaca, lenfacb, lenfacc, lenfacd;
int maxl, tsize;
void initglobalvariables()
{
commonAlloc1 = 0;
......@@ -163,3 +165,11 @@ void initglobalvariables()
gmsg = 0;
}
// for usetmpfile
int compacttree = 0;
int lhlimit = INT_MAX;
int specifictarget = 0;
int nadd = 0; // <- static in tbfast.c, pairlocalalign.c
int usenaivescoreinsteadofalignmentscore = 0;
int nthreadreadlh = 1;
This diff is collapsed.
......@@ -4,8 +4,6 @@
static int treeout = 0;
static int maxdist = 1;
static int nadd = 0;
static int usenaivescoreinsteadofalignmentscore = 0;
#ifdef enablemultithread
typedef struct _jobtable
......@@ -345,6 +343,14 @@ int main( int argc, char **argv )
#else
getnumlen( infp );
#endif
if( njob < 2 )
{
fprintf( stderr, "At least 2 sequences should be input!\n"
"Only %d sequence found.\n", njob );
exit( 1 );
}
rewind( infp );
njob -= nadd; // atarashii hairetsu ha mushi
......