#include "pseud.h" void ReadOneSequencePair(FILE *fseq, OptionsBlkPtr options, FILE *fout) { int i, p, len; char *seq_line; char *seq; Uint1Ptr orig_seq; Uint1Ptr target_seq; double t; /*read sequence*/ seq_line = (char *)calloc(MaxSeqLen+1,sizeof(char)); seq = (char *)calloc(MaxSeqLen+1,sizeof(char)); fgets(seq_line, MaxSeqLen, fseq); fprintf(fout,"%s",seq_line); fscanf(fseq,"%lf, ",&t); options->branch_length = t /(options->num_t); /*fprintf(fout,"branch_length=%lf, \n",(options->branch_length)); */ fscanf(fseq,"%d, ",&(options->orig_len)); printf("%d, \n",(options->orig_len)); /*fprintf(fout,"%d, \n",(options->orig_len)); */ if((options->orig_len)>=MaxSeqLen){ printf("Warning!orig_len(%d)>=MaxSeqLen(%d)\n",options->orig_len, MaxSeqLen); getch(); options->orig_len = MaxSeqLen; } len=0; while(len<(options->orig_len)){ fgets(seq_line,MaxSeqLen,fseq); for(i=0;seq_line[i]!='\0';i++){ if((seq_line[i]!=' ')&&(seq_line[i]!='\n')){seq[len]=seq_line[i];len++;} if(len>(options->orig_len)){ printf("Warning!orig_len(%d)!=seqlen(%d)\n",options->orig_len, len); getch(); options->orig_len=len; } } } len = options->orig_len; for(i=0;iorig_seq; for(i=0;itarget_len)); printf("%d, \n",(options->target_len)); /*fprintf(fout,"%d, \n",(options->target_len)); */ if((options->target_len)>MaxSeqLen){ printf("Warning!target_len(%d)>MaxSeqLen(%d)\n",options->target_len, MaxSeqLen); getch(); options->target_len=len; } len=0; while(len<(options->target_len)){ fgets(seq_line,MaxSeqLen,fseq); for(i=0;seq_line[i]!='\0';i++){ if((seq_line[i]!=' ')&&(seq_line[i]!='\n')){seq[len]=seq_line[i];len++;} if(len>(options->target_len)){ printf("Warning!taret_len(%d)!=seqlen(%d)\n",options->target_len, len); getch(); options->target_len=len; } } } len = options->target_len; for(i=0;itarget_seq; for(i=0;iPMat; /*fprintf(fout,"re-calculate PMat\n"); */ CalculatePMat(PMat,options,fout); if((options->orig_len<20)&&(abs(options->target_len-options->orig_len)<5)){ options->lmax=5; } else{options->lmax=options->lmax0;} if(abs(options->target_len-options->orig_len)>(options->lmax)){ fprintf(fout,"!!target_len(%d)-orig_len(%d)>lmax(%d)\n",options->target_len, options->orig_len, options->lmax); } MRC = options->MRC; CountModuloCenterFilter(options->orig_seq, options->orig_len, MRC, options->lmax, options->filter/*, fout*/); printf("MRC count\n"); fprintf(fout,"MRC count\n"); for(i=0;i<3;i++){ for(j=0;j<(options->lmax);j++){ printf("%d, ",MRC[i][j]); fprintf(fout, "%d, ",MRC[i][j]); } printf("\n"); fprintf(fout,"\n"); } return; }