📄 interfac.c
字号:
/*** ? /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 + -