>= 1) == 0)
decay = 1;
}
}
void dustData(char *in,char *out)
/* Clean up data by getting rid non-alphabet stuff. */
{
char c;
while ((c = *in++) != 0)
{
if (isalpha(c)) *out++ = toupper(c);
}
*out++ = 0;
}
void doMiddle()
{
char *query = cgiString("query");
char *target = cgiString("target");
dustData(query, query);
dustData(target, target);
printf("");
dynAlign(query, target, matchMatrix, gapFuncTable, ArraySize(gapFuncTable), stdout);
}
int main(int argc, char *argv[])
{
char *query, *target;
int i,j;
for (i = 0; i<256; ++i)
for (j=0; j<256; ++j)
{
matchMatrix[i][j] = -mismatchCost;
}
for (i=0; i<256; ++i)
matchMatrix[i][i] = matchBonus;
makeGapFuncTable();
if ((isOnWeb = cgiIsOnWeb()) == TRUE)
{
htmShell("DynaAlign Results", doMiddle, NULL);
}
else
{
if (argc != 3)
{
errAbort("dynAlign - used dynamic programming to find alignment between two strings\n"
"usage:\n"
" dynAlign string1 string2");
}
query = argv[1];
target = argv[2];
dynAlign(query, target, matchMatrix, gapFuncTable, ArraySize(gapFuncTable), stdout);
}
return 0;
}