inc/gfClientLib.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void gfClientFileArray (char *fileName, char ***retFiles, int *retFileCount)
bioSeqgfClientSeqList (int fileCount, char *files[], boolean isProt, boolean isTransDna, char *maskType, float minRepDivergence, boolean showStatus)
void gfClientUnmask (struct dnaSeq *seqList)


Function Documentation

void gfClientFileArray ( char *  fileName,
char ***  retFiles,
int *  retFileCount 
)

Definition at line 16 of file gfClientLib.c.

References AllocArray, cloneString(), FALSE, mustOpen(), nibIsFile(), readAllWords(), sameString, TRUE, and twoBitIsSpec().

Referenced by blat().

00020 {
00021 boolean gotSingle = FALSE;
00022 char *buf;              /* This will leak memory but won't matter. */
00023 
00024 if (nibIsFile(fileName) || twoBitIsSpec(fileName)
00025     || sameString(fileName, "stdin"))
00026     gotSingle = TRUE;
00027 /* Detect .fa files (where suffix is not standardized)
00028  * by first character being a '>'. */
00029 else
00030     {
00031     FILE *f = mustOpen(fileName, "r");
00032     char c = fgetc(f);
00033     fclose(f);
00034     if (c == '>')
00035         gotSingle = TRUE;
00036     }
00037 if (gotSingle)
00038     {
00039     char **files;
00040     *retFiles = AllocArray(files, 1);
00041     files[0] = cloneString(fileName);
00042     *retFileCount = 1;
00043     return;
00044     }
00045 else
00046     {
00047     readAllWords(fileName, retFiles, retFileCount, &buf);
00048     }
00049 }

Here is the call graph for this function:

Here is the caller graph for this function:

bioSeq* gfClientSeqList ( int  fileCount,
char *  files[],
boolean  isProt,
boolean  isTransDna,
char *  maskType,
float  minRepDivergence,
boolean  showStatus 
)

Definition at line 157 of file gfClientLib.c.

References doMask, faReadAllMixed(), faReadAllPep(), faToDna(), faToProtein(), maskNucSeqList(), dnaSeq::next, NIB_BASE_NAME, NIB_MASK_MIXED, nibIsFile(), nibLoadAllMasked(), slCat(), twoBitIsSpec(), twoBitLoadAll(), and ZeroVar.

Referenced by blat().

00167 {
00168 int i;
00169 char *fileName;
00170 bioSeq *seqList = NULL, *seq;
00171 boolean doMask = (maskType != NULL);
00172 
00173 for (i=0; i<fileCount; ++i)
00174     {
00175     struct dnaSeq *list = NULL, sseq;
00176     ZeroVar(&sseq);
00177     fileName = files[i];
00178     if (nibIsFile(fileName))
00179         list = nibLoadAllMasked(NIB_MASK_MIXED|NIB_BASE_NAME, fileName);
00180     else if (twoBitIsSpec(fileName))
00181         list = twoBitLoadAll(fileName);
00182     else if (isProt)
00183       list = faReadAllPep(fileName);
00184     else
00185       list = faReadAllMixed(fileName);
00186 
00187     /* If necessary mask sequence from file. */
00188     if (doMask)
00189         {
00190         maskNucSeqList(list, fileName, maskType, isTransDna, minRepDivergence);
00191         }
00192     else
00193         {
00194         /* If not masking send everything to proper case here. */
00195         for (seq = list; seq != NULL; seq = seq->next)
00196             {
00197             if (isProt)
00198                 faToProtein(seq->dna, seq->size);
00199             else
00200                 faToDna(seq->dna, seq->size);
00201             }
00202         }
00203     /* Move local list to end of bigger list. */
00204     seqList = slCat(seqList, list);
00205     }
00206 if (showStatus)
00207     {
00208     /* Total up size and sequence count and report. */
00209     int count = 0; 
00210     unsigned long totalSize = 0;
00211     for (seq = seqList; seq != NULL; seq = seq->next)
00212         {
00213         totalSize += seq->size;
00214         count += 1;
00215         }
00216     printf("Loaded %lu letters in %d sequences\n", totalSize, count);
00217     }
00218 return seqList;
00219 }

Here is the call graph for this function:

Here is the caller graph for this function:

void gfClientUnmask ( struct dnaSeq seqList  ) 

Definition at line 52 of file gfClientLib.c.

References dnaSeq::dna, faToDna(), dnaSeq::next, and dnaSeq::size.

Referenced by blat(), and maskNucSeqList().

00054 {
00055 struct dnaSeq *seq;
00056 for (seq = seqList; seq != NULL; seq = seq->next)
00057     faToDna(seq->dna, seq->size);
00058 }

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Tue Dec 25 18:58:30 2007 for blat by  doxygen 1.5.2