⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interfac.c

📁 clustalw1.83.DOS.ZIP,用于多序列比对的软件
💻 C
📖 第 1 页 / 共 5 页
字号:
  /*** ? /sequences (sets type of second input file to list of sequences)  */
  if(setsequences != -1)
    profile_type = SEQUENCE;
  
  
  
  /*** ? /ktuple=n */
  if(setktuple != -1) {
    temp = 0;
    if(strlen(param_arg[setktuple]) > 0)
      if (sscanf(param_arg[setktuple],"%d",&temp)!=1) {
	fprintf(stdout,"Bad option for /ktuple (must be integer)\n");
	temp = 0;
      }
    if(temp > 0) {
      if(dnaflag) {
	if(temp <= 4) {
	  ktup         = temp;
	  dna_ktup     = ktup;
	  wind_gap     = ktup + 4;
	  dna_wind_gap = wind_gap;
	}
      }
      else {
	if(temp <= 2) {
	  ktup          = temp;
	  prot_ktup     = ktup;
	  wind_gap      = ktup + 3;
	  prot_wind_gap = wind_gap;
	}
      }
    }
  }
  
  /*** ? /pairgap=n */
  if(setpairgap != -1) {
    temp = 0;
    if(strlen(param_arg[setpairgap]) > 0)
      if (sscanf(param_arg[setpairgap],"%d",&temp)!=1) {
	fprintf(stdout,"Bad option for /pairgap (must be integer)\n");
	temp = 0;
      }
    if(temp > 0)
      if(dnaflag) {
	if(temp > ktup) {
	  wind_gap     = temp;
	  dna_wind_gap = wind_gap;
	}
      }
      else {
	if(temp > ktup) {
	  wind_gap      = temp;
	  prot_wind_gap = wind_gap;
	}
      }
  }
  
  
/*** ? /topdiags=n   */
  if(settopdiags != -1) {
    temp = 0;
    if(strlen(param_arg[settopdiags]) > 0)
      if (sscanf(param_arg[settopdiags],"%d",&temp)!=1) {
	fprintf(stdout,"Bad option for /topdiags (must be integer)\n");
	temp = 0;
      }
    if(temp > 0)
      if(dnaflag) {
	if(temp > ktup) {
	  signif       = temp;
	  dna_signif   = signif;
	}
      }
      else {
	if(temp > ktup) {
	  signif        = temp;
	  prot_signif   = signif;
	}
      }
  }
	

/*** ? /window=n  */
  if(setwindow != -1) {
    temp = 0;
    if(strlen(param_arg[setwindow]) > 0)
      if (sscanf(param_arg[setwindow],"%d",&temp)!=1) {
	fprintf(stdout,"Bad option for /window (must be integer)\n");
	temp = 0;
      }
    if(temp > 0)
      if(dnaflag) {
	if(temp > ktup) {
	  window       = temp;
	  dna_window   = window;
	}
      }
      else {
	if(temp > ktup) {
	  window        = temp;
	  prot_window   = window;
	}
      }
  }
  
/*** ? /kimura */
  if(setkimura != -1)
    kimura = TRUE;
  
  /*** ? /tossgaps */
  if(settossgaps != -1)
    tossgaps = TRUE;
  
  
  /*** ? /negative  */
  if(setnegative != -1)
    neg_matrix = TRUE;
  
  /*** ? /noweights */
  if(setnoweights!= -1)
    no_weights = TRUE;
  
  
  /*** ? /pwmatrix=ID (user's file)  */
  if(setpwmatrix != -1)
    {
      temp=strlen(param_arg[setpwmatrix]);
      if(temp > 0) {
	for(i=0;i<temp;i++)
	  if (isupper(param_arg[setpwmatrix][i]))
	    tstr[i]=tolower(param_arg[setpwmatrix][i]);
	  else
	    tstr[i]=param_arg[setpwmatrix][i];
	tstr[i]='\0';
	if (strcmp(tstr,"blosum")==0) {
	  strcpy(pw_mtrxname, tstr);
	  pw_matnum = 1;
                        }
                        else if (strcmp(tstr,"pam")==0) {
                                strcpy(pw_mtrxname, tstr);
                                pw_matnum = 2;
                        }
                        else if (strcmp(tstr,"gonnet")==0) {
                                strcpy(pw_mtrxname, tstr);
                                pw_matnum = 3;
                        }
                        else if (strcmp(tstr,"id")==0) {
                                strcpy(pw_mtrxname, tstr);
                                pw_matnum = 4;
                        }
			else {
                                if(user_mat(param_arg[setpwmatrix], pw_usermat, pw_aa_xref))
                                  {
                                     strcpy(pw_mtrxname,param_arg[setpwmatrix]);
                                     strcpy(pw_usermtrxname,param_arg[setpwmatrix]);
                                     pw_matnum=5;
                                  }
				else exit(1);
			}

		}
	}

/*** ? /matrix=ID (user's file)  */
	if(setmatrix != -1)
	{
		temp=strlen(param_arg[setmatrix]);
		if(temp > 0) {
			for(i=0;i<temp;i++)
				if (isupper(param_arg[setmatrix][i]))
					tstr[i]=tolower(param_arg[setmatrix][i]);
				else
					tstr[i]=param_arg[setmatrix][i];
			tstr[i]='\0';
                        if (strcmp(tstr,"blosum")==0) {
                                strcpy(mtrxname, tstr);
                                matnum = 1;
                        }
                        else if (strcmp(tstr,"pam")==0) {
                                strcpy(mtrxname, tstr);
                                matnum = 2;
                        }
                        else if (strcmp(tstr,"gonnet")==0) {
                                strcpy(mtrxname, tstr);
                                matnum = 3;
                        }
                        else if (strcmp(tstr,"id")==0) {
                                strcpy(mtrxname, tstr);
                                matnum = 4;
                        }
			else {
                                if(user_mat_series(param_arg[setmatrix], usermat, aa_xref))
                                  {
                                     strcpy(mtrxname,param_arg[setmatrix]);
                                     strcpy(usermtrxname,param_arg[setmatrix]);
                                     matnum=5;
                                  }
				else exit(1);
			}

		}
	}

/*** ? /pwdnamatrix=ID (user's file)  */
	if(setpwdnamatrix != -1)
	{
		temp=strlen(param_arg[setpwdnamatrix]);
		if(temp > 0) {
			for(i=0;i<temp;i++)
				if (isupper(param_arg[setpwdnamatrix][i]))
					tstr[i]=tolower(param_arg[setpwdnamatrix][i]);
				else
					tstr[i]=param_arg[setpwdnamatrix][i];
			tstr[i]='\0';
                        if (strcmp(tstr,"iub")==0) {
                                strcpy(pw_dnamtrxname, tstr);
                                pw_dnamatnum = 1;
                        }
                        else if (strcmp(tstr,"clustalw")==0) {
                                strcpy(pw_dnamtrxname, tstr);
                                pw_dnamatnum = 2;
                        }
			else {
                                if(user_mat(param_arg[setpwdnamatrix], pw_userdnamat, pw_dna_xref))
                                  {
                                     strcpy(pw_dnamtrxname,param_arg[setpwdnamatrix]);
                                     strcpy(pw_dnausermtrxname,param_arg[setpwdnamatrix]);
                                     pw_dnamatnum=3;
                                  }
				else exit(1);
			}

		}
	}

/*** ? /matrix=ID (user's file)  */
	if(setdnamatrix != -1)
	{
		temp=strlen(param_arg[setdnamatrix]);
		if(temp > 0) {
			for(i=0;i<temp;i++)
				if (isupper(param_arg[setdnamatrix][i]))
					tstr[i]=tolower(param_arg[setdnamatrix][i]);
				else
					tstr[i]=param_arg[setdnamatrix][i];
			tstr[i]='\0';
                        if (strcmp(tstr,"iub")==0) {
                                strcpy(dnamtrxname, tstr);
                                dnamatnum = 1;
                        }
                        else if (strcmp(tstr,"clustalw")==0) {
                                strcpy(dnamtrxname, tstr);
                                dnamatnum = 2;
                        }
			else {
                                if(user_mat(param_arg[setdnamatrix], userdnamat, dna_xref))
                                  {
                                     strcpy(dnamtrxname,param_arg[setdnamatrix]);
                                     strcpy(dnausermtrxname,param_arg[setdnamatrix]);
                                     dnamatnum=3;
                                  }
				else exit(1);
			}

		}
	}
/*** ? /maxdiv= n */
	if(setmaxdiv != -1) {
		temp = 0;
		if(strlen(param_arg[setmaxdiv]) > 0)
			if (sscanf(param_arg[setmaxdiv],"%d",&temp)!=1) {
                 fprintf(stdout,"Bad option for /maxdiv (must be integer)\n");
                 temp = 0;
            }
		if (temp >= 0)
			divergence_cutoff = temp;
	}

/*** ? /gapdist= n */
	if(setgapdist != -1) {
		temp = 0;
		if(strlen(param_arg[setgapdist]) > 0)
			if (sscanf(param_arg[setgapdist],"%d",&temp)!=1) {
                         fprintf(stdout,"Bad option for /gapdist (must be integer)\n");
                         temp = 0;
                    }
		if (temp >= 0)
			gap_dist = temp;
	}

/*** ? /debug= n */
	if(setdebug != -1) {
		temp = 0;
		if(strlen(param_arg[setdebug]) > 0)
			if (sscanf(param_arg[setdebug],"%d",&temp)!=1) {
                         fprintf(stdout,"Bad option for /debug (must be integer)\n");
                         temp = 0;
                    }
		if (temp >= 0)
			debug = temp;
	}

/*** ? /outfile= (user's file)  */
	if(setoutfile != -1)
		if(strlen(param_arg[setoutfile]) > 0) {
                        strcpy(outfile_name, param_arg[setoutfile]);
		}

/*** ? /case= lower/upper  */
	if(setcase != -1) 
		if(strlen(param_arg[setcase]) > 0) {
			temp = find_match(param_arg[setcase],case_arg,2);
			if(temp == 0) {
				lowercase = TRUE;
			}
			else if(temp == 1) {
				lowercase = FALSE;
			}
			else
				fprintf(stdout,"\nUnknown case %s\n",
				param_arg[setcase]);
		}

/*** ? /seqnos=off/on  */
	if(setseqno != -1) 
		if(strlen(param_arg[setseqno]) > 0) {
			temp = find_match(param_arg[setseqno],seqno_arg,2);
			if(temp == 0) {
				cl_seq_numbers = FALSE;
			}
			else if(temp == 1) {
				cl_seq_numbers = TRUE;
			}
			else
				fprintf(stdout,"\nUnknown SEQNO option %s\n",
				param_arg[setseqno]);
		}



	if(setseqno_range != -1) 
		if(strlen(param_arg[setseqno_range]) > 0) {
			temp = find_match(param_arg[setseqno_range],seqno_range_arg,2);
			printf("\n comparing  "); 
			printf("\nparam_arg[setseqno_range]= %s", param_arg[setseqno_range]);
			/* printf("\nseqno_range_arg = %s ",seqno_range_arg); */
			printf("\n comparing \n "); 

			if(temp == 0) {
				seqRange = FALSE;
			}
			else if(temp == 1) {
				seqRange = TRUE;

			}
			else
				fprintf(stdout,"\nUnknown Sequence range  option %s\n",
				param_arg[setseqno_range]);
		}


/*** ? /range=n:m */
	if(setrange != -1) {
		temp = 0;
		if(strlen(param_arg[setrange]) > 0)
			if (sscanf(param_arg[setrange],"%d:%d",&temp,&temp)!=2) {
                 fprintf(stdout,"setrange:  Syntax Error: Cannot set range, should be from:to \n");
                 temp = 0;
            }
	}

/*** ? /range=n:m */



/*** ? /gapopen=n  */
	if(setgapopen != -1) {
		ftemp = 0.0;
		if(strlen(param_arg[setgapopen]) > 0)
			if (sscanf(param_arg[setgapopen],"%f",&ftemp)!=1) {
                         fprintf(stdout,"Bad option for /gapopen (must be real number)\n");
                         ftemp = 0.0;
                    }
		if(ftemp >= 0.0)
			if(dnaflag) {
					gap_open     = ftemp;
					dna_gap_open = gap_open;
			}
			else {
					gap_open      = ftemp;
					prot_gap_open = gap_open;
			}
	}


/*** ? /gapext=n   */
	if(setgapext != -1) {
		ftemp = 0.0;
		if(strlen(param_arg[setgapext]) > 0)
			if (sscanf(param_arg[setgapext],"%f",&ftemp)!=1) {
                         fprintf(stdout,"Bad option for /gapext (must be real number)\n");
                         ftemp = 0.0;
                    }
		if(ftemp >= 0)
			if(dnaflag) {
					gap_extend      = ftemp;
					dna_gap_extend  = gap_extend;
			}
			else {
					gap_extend      = ftemp;
					prot_gap_extend = gap_extend;
			}
	}

/*** ? /transweight=n*/
	if(settransweight != -1) {
		ftemp = 0.0;
		if(strlen(param_arg[settransweight]) > 0)
			if (sscanf(param_arg[settransweight],"%f",&ftemp)!=1) {
                         fprintf(stdout,"Bad option for /transweight (must be real number)\n");
                         ftemp = 0.0;
                    }
		transition_weight=ftemp;
	}

/*** ? /pwgapopen=n  */
	if(setpwgapopen != -1) {
		ftemp = 0.0;
		if(strlen(param_arg[setpwgapopen]) > 0)
			if (sscanf(param_arg[setpwgapopen],"%f",&ftemp)!=1) {
                         fprintf(stdout,"Bad option for /pwgapopen (must be real number)\n");
                         ftemp = 0.0;
                    }
		if(ftemp >= 0.0)
			if(dnaflag) {
					pw_go_penalty  = ftemp;
                                        dna_pw_go_penalty = pw_go_penalty;
			}
			else {
					pw_go_penalty  = ftemp;
                                        prot_pw_go_penalty = pw_go_penalty;
			}
	}


/*** ? /gapext=n   */
	if(setpwgapext != -1) {
		ftemp = 0.0;
		if(strlen(param_arg[setpwgapext]) > 0)
			if (sscanf(param_arg[setpwgapext],"%f",&ftemp)!=1) {
                         fprintf(stdout,"Bad option for /pwgapext (must be real number)\n");
                         ftemp = 0.0;
                    }
		if(ftemp >= 0)
			if(dnaflag) {
					pw_ge_penalty  = ftemp;
                                        dna_pw_ge_penalty = pw_ge_penalty;
			}
			else {
					pw_ge_penalty  = ftemp;
                                        prot_pw_ge_penalty = pw_ge_penalty;
			}
	}



/*** ? /outorder=n  */
	if(setoutorder != -1) {
		if(strlen(param_arg[setoutorder]) > 0)
			temp = find_match(param_arg[setoutorder],outorder_arg,2);
			if(temp == 0)  {	
				output_order   = INPUT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -