Delete unneeded directory
[jabaws.git] / website / archive / binaries / mac / src / mafft / core / mccaskillwrap.c
diff --git a/website/archive/binaries/mac/src/mafft/core/mccaskillwrap.c b/website/archive/binaries/mac/src/mafft/core/mccaskillwrap.c
deleted file mode 100644 (file)
index a7ea4ea..0000000
+++ /dev/null
@@ -1,423 +0,0 @@
-#include "mltaln.h"
-
-#define DEBUG 0
-
-static char *whereismccaskillmea;
-
-#ifdef enablemultithread
-typedef struct _thread_arg
-{
-       int thread_no;
-       int njob;
-       int *jobpospt;
-       int **gapmap;
-       char **nogap;
-       int nlenmax;
-       RNApair ***pairprob;
-       pthread_mutex_t *mutex;
-} thread_arg_t;
-#endif
-
-void outmccaskill( FILE *fp, RNApair **pairprob, int length )
-{
-       int i;
-       RNApair *pt;
-       for( i=0; i<length; i++ ) for( pt=pairprob[i]; pt->bestpos!=-1; pt++ )
-       {
-               if( pt->bestpos > i ) 
-                       fprintf( fp, "%d %d %50.40f\n", i, pt->bestpos, pt->bestscore );
-       }
-}
-
-#if 1
-static void readrawmccaskill( FILE *fp, RNApair **pairprob, int length )
-{
-       char gett[1000];
-       int *pairnum;
-       int i;
-       int left, right;
-       float prob;
-
-       pairnum = (int *)calloc( length, sizeof( int ) );
-       for( i=0; i<length; i++ ) pairnum[i] = 0;
-
-       while( 1 )
-       {
-               fgets( gett, 999, fp );
-               if( feof( fp ) ) break;
-               if( gett[0] == '>' ) continue;
-               sscanf( gett, "%d %d %f", &left, &right, &prob );
-               if( prob < 0.01 ) continue; // mxscarna to mafft ryoho ni eikyou
-//fprintf( stderr, "gett = %s\n", gett );
-
-               if( left != right && prob > 0.0 )
-               {
-                       pairprob[left] = (RNApair *)realloc( pairprob[left], (pairnum[left]+2) * sizeof( RNApair ) );
-                       pairprob[left][pairnum[left]].bestscore = prob;
-                       pairprob[left][pairnum[left]].bestpos = right;
-                       pairnum[left]++;
-                       pairprob[left][pairnum[left]].bestscore = -1.0;
-                       pairprob[left][pairnum[left]].bestpos = -1;
-//                     fprintf( stderr, "%d-%d, %f\n", left, right, prob );
-
-                       pairprob[right] = (RNApair *)realloc( pairprob[right], (pairnum[right]+2) * sizeof( RNApair ) );
-                       pairprob[right][pairnum[right]].bestscore = prob;
-                       pairprob[right][pairnum[right]].bestpos = left;
-                       pairnum[right]++;
-                       pairprob[right][pairnum[right]].bestscore = -1.0;
-                       pairprob[right][pairnum[right]].bestpos = -1;
-//                     fprintf( stderr, "%d-%d, %f\n", right, left, prob );
-               }
-       }
-       free( pairnum );
-}
-#endif
-
-#ifdef enablemultithread
-static void *athread( void *arg )
-{
-       thread_arg_t *targ = (thread_arg_t *)arg;
-       int thread_no = targ->thread_no;
-       int njob = targ->njob;
-       int *jobpospt = targ->jobpospt;
-       int **gapmap = targ->gapmap;
-       char **nogap = targ->nogap;
-       int nlenmax = targ->nlenmax;
-       RNApair ***pairprob = targ->pairprob;
-
-       int i, res;
-       FILE *infp;
-       char *com;
-       char *dirname;
-
-       dirname = calloc( 100, sizeof( char ) );
-       com = calloc( 1000, sizeof( char ) );
-       
-
-       while( 1 )
-       {
-               pthread_mutex_lock( targ->mutex );
-               i = *jobpospt;
-               if( i == njob )
-               {
-                       pthread_mutex_unlock( targ->mutex );
-                       return( NULL );
-               }
-               *jobpospt = i+1;
-               pthread_mutex_unlock( targ->mutex );
-
-
-               sprintf( dirname, "_%d", i );
-               sprintf( com, "rm -rf %s", dirname );
-               system( com );
-               sprintf( com, "mkdir %s", dirname );
-               system( com );
-
-               fprintf( stderr, "%d / %d (by thread %4d)\n", i+1, njob, thread_no );
-               commongappick_record( 1, nogap+i, gapmap[i] );
-               sprintf( com, "%s/_mccaskillinorg", dirname );
-               infp = fopen( com, "w" );
-//             fprintf( infp, ">in\n%s\n", nogap[i] );
-               fprintf( infp, ">in\n" );
-               write1seq( infp, nogap[i] );
-               fclose( infp );
-
-               sprintf( com, "tr -d '\\r' < %s/_mccaskillinorg > %s/_mccaskillin", dirname, dirname );
-               system( com ); // for cygwin, wakaran
-               sprintf( com, "cd %s; %s/mxscarnamod -m -writebpp  _mccaskillin > _mccaskillout 2>_dum", dirname, whereismccaskillmea );
-               res = system( com );
-
-               if( res )
-               {
-                       fprintf( stderr, "ERROR IN mccaskill_mea\n" );
-                       exit( 1 );
-               }
-
-               sprintf( com, "%s/_mccaskillout", dirname );
-               infp = fopen( com, "r" );
-               readrawmccaskill( infp, pairprob[i], nlenmax );
-               fclose( infp );
-
-               sprintf( com, "rm -rf %s > /dev/null 2>&1", dirname );
-               if( system( com ) )
-               {
-                       fprintf( stderr, "retrying to rmdir\n" );
-//                     nanosleep( 100000 );
-                       sleep( 1 );
-                       system( com );
-               }
-       }
-       free( dirname );
-       free( com );
-}
-#endif
-
-void arguments( int argc, char *argv[] )
-{
-    int c;
-       nthread = 1;
-       inputfile = NULL;
-       dorp = NOTSPECIFIED;
-       kimuraR = NOTSPECIFIED;
-       pamN = NOTSPECIFIED;
-       whereismccaskillmea = NULL;
-
-    while( --argc > 0 && (*++argv)[0] == '-' )
-       {
-        while ( (c = *++argv[0]) )
-               {
-            switch( c )
-            {
-                               case 'i':
-                                       inputfile = *++argv;
-                                       fprintf( stderr, "inputfile = %s\n", inputfile );
-                                       --argc;
-                                       goto nextoption;
-                               case 'd':
-                                       whereismccaskillmea = *++argv;
-                                       fprintf( stderr, "whereismccaskillmea = %s\n", whereismccaskillmea );
-                                       --argc;
-                                       goto nextoption;
-                               case 'C':
-                                       nthread = atoi( *++argv );
-                                       fprintf( stderr, "nthread = %d\n", nthread );
-                                       --argc; 
-                                       goto nextoption;
-                default:
-                    fprintf( stderr, "illegal option %c\n", c );
-                    argc = 0;
-                    break;
-            }
-               }
-               nextoption:
-                       ;
-       }
-    if( argc != 0 ) 
-    {
-        fprintf( stderr, "options: Check source file !\n" );
-        exit( 1 );
-    }
-}
-
-
-int main( int argc, char *argv[] )
-{
-       static char com[10000];
-       static int  *nlen;      
-       int left, right;
-       int res;
-       static char **name, **seq, **nogap;
-       static int **gapmap;
-       static int *order;
-       int i, j;
-       FILE *infp;
-       RNApair ***pairprob;
-       RNApair **alnpairprob;
-       RNApair *pairprobpt;
-       RNApair *pt;
-       int *alnpairnum;
-       float prob;
-       int adpos;
-
-       arguments( argc, argv );
-#ifndef enablemultithread
-       nthread = 0;
-#endif
-
-       if( inputfile )
-       {
-               infp = fopen( inputfile, "r" );
-               if( !infp )
-               {
-                       fprintf( stderr, "Cannot open %s\n", inputfile );
-                       exit( 1 );
-               }
-       }
-       else
-               infp = stdin;
-
-       if( !whereismccaskillmea )
-               whereismccaskillmea = "";
-
-       getnumlen( infp );
-       rewind( infp );
-
-       if( dorp != 'd' )
-       {
-               fprintf( stderr, "nuc only\n" );
-               exit( 1 );
-       }
-
-       seq = AllocateCharMtx( njob, nlenmax*2+1 );
-       nogap = AllocateCharMtx( njob, nlenmax*2+1 );
-       gapmap = AllocateIntMtx( njob, nlenmax*2+1 );
-       order = AllocateIntVec( njob );
-       name = AllocateCharMtx( njob, B+1 );
-       nlen = AllocateIntVec( njob );
-       pairprob = (RNApair ***)calloc( njob, sizeof( RNApair ** ) );
-       alnpairprob = (RNApair **)calloc( nlenmax, sizeof( RNApair * ) );
-       alnpairnum = AllocateIntVec( nlenmax );
-
-       for( i=0; i<nlenmax; i++ ) alnpairnum[i] = 0;
-
-       readData_pointer( infp, name, nlen, seq );
-       fclose( infp );
-
-       for( i=0; i<njob; i++ )
-       {
-               pairprob[i] = (RNApair **)calloc( nlenmax, sizeof( RNApair * ) );
-               for( j=0; j<nlenmax; j++ )
-               {
-                       pairprob[i][j] = (RNApair *)calloc( 1, sizeof( RNApair ) );
-                       pairprob[i][j][0].bestpos = -1;
-                       pairprob[i][j][0].bestscore = -1.0;
-               }
-               strcpy( nogap[i], seq[i] );
-               order[i] = i;
-       }
-       for( j=0; j<nlenmax; j++ )
-       {
-               alnpairprob[j] = (RNApair *)calloc( 1, sizeof( RNApair ) );
-               alnpairprob[j][0].bestpos = -1;
-               alnpairprob[j][0].bestscore = -1.0;
-       }
-
-
-       constants( njob, seq );
-
-       fprintf( stderr, "Running mxscarna with the mccaskill_mea mode.\n" );
-#ifdef enablemultithread
-       if( nthread > 0 )
-       {
-               int jobpos;
-               pthread_t *handle;
-               pthread_mutex_t mutex;
-               thread_arg_t *targ;
-               jobpos = 0;
-
-               targ = calloc( nthread, sizeof( thread_arg_t ) );
-               handle = calloc( nthread, sizeof( pthread_t ) );
-               pthread_mutex_init( &mutex, NULL );
-
-               for( i=0; i<nthread; i++ )
-               {
-                       targ[i].thread_no = i;
-                       targ[i].njob = njob;
-                       targ[i].jobpospt = &jobpos;
-                       targ[i].gapmap = gapmap;
-                       targ[i].nogap = nogap;
-                       targ[i].nlenmax = nlenmax;
-                       targ[i].pairprob = pairprob;
-                       targ[i].mutex = &mutex;
-
-//                     athread( targ );
-                       pthread_create( handle+i, NULL, athread, (void *)(targ+i) );
-                       
-               }
-
-               for( i=0; i<nthread; i++ )
-               {
-                       pthread_join( handle[i], NULL );
-               }
-               pthread_mutex_destroy( &mutex );
-
-
-               for( i=0; i<njob; i++ )
-               {
-                       fprintf( stdout, ">%d\n", i );
-                       outmccaskill( stdout, pairprob[i], nlenmax );
-               }
-       }
-       else
-#endif
-       {
-               for( i=0; i<njob; i++ )
-               {
-                       fprintf( stderr, "%d / %d\n", i+1, njob );
-                       commongappick_record( 1, nogap+i, gapmap[i] );
-                       infp = fopen( "_mccaskillinorg", "w" );
-//                     fprintf( infp, ">in\n%s\n", nogap[i] );
-                       fprintf( infp, ">in\n" );
-                       write1seq( infp, nogap[i] );
-                       fclose( infp );
-       
-                       system( "tr -d '\\r' < _mccaskillinorg > _mccaskillin" ); // for cygwin, wakaran
-                       sprintf( com, "env PATH=%s mxscarnamod -m -writebpp  _mccaskillin > _mccaskillout 2>_dum", whereismccaskillmea );
-                       res = system( com );
-       
-                       if( res )
-                       {
-                               fprintf( stderr, "ERROR IN mccaskill_mea\n" );
-                               exit( 1 );
-                       }
-       
-                       infp = fopen( "_mccaskillout", "r" );
-                       readrawmccaskill( infp, pairprob[i], nlenmax );
-                       fclose( infp );
-                       fprintf( stdout, ">%d\n", i );
-                       outmccaskill( stdout, pairprob[i], nlenmax );
-               }
-       }
-
-       for( i=0; i<njob; i++ )
-       {
-               for( j=0; j<nlen[i]; j++ ) for( pairprobpt=pairprob[i][j]; pairprobpt->bestpos!=-1; pairprobpt++ )
-               {
-                       left = gapmap[i][j];
-                       right = gapmap[i][pairprobpt->bestpos];
-                       prob = pairprobpt->bestscore;
-
-                       for( pt=alnpairprob[left]; pt->bestpos!=-1; pt++ )
-                               if( pt->bestpos == right ) break;
-
-                       if( pt->bestpos == -1 )
-                       {
-                               alnpairprob[left] = (RNApair *)realloc( alnpairprob[left], (alnpairnum[left]+2) * sizeof( RNApair ) );
-                               adpos = alnpairnum[left];
-                               alnpairnum[left]++;
-                               alnpairprob[left][adpos].bestscore = 0.0;
-                               alnpairprob[left][adpos].bestpos = right;
-                               alnpairprob[left][adpos+1].bestscore = -1.0;
-                               alnpairprob[left][adpos+1].bestpos = -1;
-                               pt = alnpairprob[left]+adpos;
-                       }
-                       else
-                               adpos = pt-alnpairprob[left];
-
-                       pt->bestscore += prob;
-                       if( pt->bestpos != right )
-                       {
-                               fprintf( stderr, "okashii!\n" );
-                               exit( 1 );
-                       }
-//                     fprintf( stderr, "adding %d-%d, %f\n", left, right, prob );
-               }
-       }
-
-       for( i=0; i<njob; i++ )
-       {
-               for( j=0; j<nlenmax; j++ ) free( pairprob[i][j] );
-               free( pairprob[i] );
-       }
-       free( pairprob );
-       for( j=0; j<nlenmax; j++ ) free( alnpairprob[j] );
-       free( alnpairprob );
-       free( alnpairnum );
-       fprintf( stderr, "%d thread(s)\n", nthread );
-       return( 0 );
-
-#if 0
-       fprintf( stdout, "result=\n" );
-
-       for( i=0; i<nlenmax; i++ ) for( pairprobpt=alnpairprob[i]; pairprobpt->bestpos!=-1; pairprobpt++ )
-       {
-               pairprobpt->bestscore /= (float)njob;
-               left = i;
-               right = pairprobpt->bestpos;
-               prob = pairprobpt->bestscore;
-               fprintf( stdout, "%d-%d, %f\n", left, right, prob );
-       }
-
-       return( 0 );
-#endif
-}