00001 /* hmmpfamParse - Parse hmmpfam files.. */ 00002 00003 #ifndef HMMPFAMPARSE_H 00004 #define HMMPFAMPARSE_H 00005 00006 struct hpfDomain 00007 /* Describes amino acids covered by one use of model. */ 00008 { 00009 struct hpfDomain *next; 00010 int qStart, qEnd; /* Where this is in query sequence. */ 00011 int hmmStart, hmmEnd; /* Where this is in profile HMM. */ 00012 double score; /* Some sort of bit score. */ 00013 double eVal; /* Expectation value. */ 00014 }; 00015 00016 struct hpfModel 00017 /* Results for a single model for a single query */ 00018 { 00019 struct hpfModel *next; 00020 char *name; /* Model name */ 00021 char *description; /* Longer description */ 00022 double score; /* Some sort of bit score. */ 00023 double eVal; /* Expectation value. */ 00024 struct hpfDomain *domainList; /* All places model occurs in query */ 00025 }; 00026 00027 void hpfModelFree(struct hpfModel **pMod); 00028 /* Free memory associated with hpfModel */ 00029 00030 void hpfModelFreeList (struct hpfModel **pList); 00031 /* Free memory associated with list of hpfModels. */ 00032 00033 struct hpfResult 00034 /* Result for a single query sequence. */ 00035 { 00036 struct hpfResult *next; 00037 char *name; /* Query sequence name. */ 00038 struct hpfModel *modelList; /* All models that hit query */ 00039 }; 00040 00041 void hpfResultFree(struct hpfResult **pHr); 00042 /* Free memory associated with hpfResult */ 00043 00044 void hpfResultFreeList(struct hpfResult **pList); 00045 /* Free memory associated with list of hpfResults. */ 00046 00047 00048 struct hpfModel *hpfFindResultInModel(struct hpfResult *hr, char *modName); 00049 /* Look for named result in model. */ 00050 00051 struct hpfResult *hpfNext(struct lineFile *lf); 00052 /* Parse out next record in hmmpfam result file. */ 00053 00054 00055 #endif /* HMMPFAMPARSE_H */
1.5.2