tag*/
while( (token = nextWord(&line)) != NULL )
{
if( sameString(token,"#"))
{ /*create a new xml file*/
token = nextWord(&line);
dyStringAppend(proteinID, token);
token = lastWordInLine(line);
seqLength = atoi(token);
}
if( sameString(token,"predicted") )
{ /*grab the number of transmembrane helices*/
token = lastWordInLine(line);
tmNumber = atoi(token);
if(tmNumber > 0)
{
outfile = createXMLFile(proteinID->string, path);
populateXMLFile(outfile, tmNumber, proteinID->string, path);
}
}
if( sameString(token,"
") )
{ /*close the xml file*/
carefulClose(&outfile);
dyStringClear(proteinID);
count = 0;
}
if( sameString(token,"TMhelix") )
{
if( (token = nextWord(&line)) != NULL )
{ /*get the start*/
start = atoi(token);
if( (token = nextWord(&line)) != NULL )
end = atoi(token);
}
if( count == 0)
addCoordinatesToXMLFile(outfile, 1, start-1, "N-term", count);
count++;
addCoordinatesToXMLFile(outfile, start, end, "TM", count);
if( count == tmNumber && outfile != NULL )
{
addCoordinatesToXMLFile(outfile,end+1,seqLength,"C-term",count);
finishXMLFile(outfile, proteinID->string, seqLength);
}
}
} /*end inner while*/
} /*end outer while*/
freeMem(line);
freeDyString(&proteinID);
}
int main(int argc, char** argv)
{
FILE *infile;
struct dyString *path = newDyString(128);
usage(argv);
if(argv[2] != NULL)
{
dyStringAppend(path, argv[2]);
if(!endsWith(path->string, "/"))
dyStringAppend(path, "/");
}
infile = mustOpen(argv[1], "r");
getTransFromFile(infile, path->string);
carefulClose(&infile);
freeDyString(&path);
return 0;
}