4776c4d03b50533d3e6bb13374baf55c0a28e183 galt Fri Jan 25 17:07:08 2013 -0800 Revert "Add ability to tolerate paths in .2bit filename with gfServer. Paths are removed leaving only the filename. Clients are on other machines and therefore cannnot use them in general." This reverts commit ef98cc65cd9626157087f5ad3dd6eac5012c50d8. Turns out that on some rare cases the relative paths were useful. Instead will add a message to gfServer explaining better how the paths in the filenames given will be used. diff --git src/jkOwnLib/genoFind.c src/jkOwnLib/genoFind.c index 6a36dd9..e0d14c6 100644 --- src/jkOwnLib/genoFind.c +++ src/jkOwnLib/genoFind.c @@ -553,51 +553,49 @@ } else errAbort("Unrecognized file type %s", fileName); /* Warn if they exceed 4 gig. */ if (totalBases >= warnAt) errAbort("Exceeding 4 billion bases, sorry gfServer can't handle that."); } gfAllocLists(gf); gfZeroNonOverused(gf); AllocArray(gf->sources, totalSeq); gf->sourceCount = totalSeq; ss = gf->sources; for (i=0; i<fileCount; ++i) { fileName = fileNames[i]; - /* tolerate paths in fileName but do not save in ss->fileName since client cannot use it */ - char *fileNameOnly = getFileNameOnly(fileName); if (nibIsFile(fileName)) { nibSize = gfAddTilesInNib(gf, fileName, offset, stepSize); - ss->fileName = fileNameOnly; + ss->fileName = fileName; ss->start = offset; offset += nibSize; ss->end = offset; ++ss; } else { struct twoBitFile *tbf = twoBitOpen(fileName); struct twoBitIndex *index; char nameBuf[PATH_LEN+256]; for (index = tbf->indexList; index != NULL; index = index->next) { struct dnaSeq *seq = twoBitReadSeqFragLower(tbf, index->name, 0,0); gfAddSeq(gf, seq, offset); - safef(nameBuf, sizeof(nameBuf), "%s:%s", fileNameOnly, index->name); + safef(nameBuf, sizeof(nameBuf), "%s:%s", fileName, index->name); ss->fileName = cloneString(nameBuf); ss->start = offset; offset += seq->size; ss->end = offset; ++ss; dnaSeqFree(&seq); } twoBitClose(&tbf); } } gf->totalSeqSize = offset; gfZeroOverused(gf); printf("Done adding\n"); return gf; } @@ -682,45 +680,43 @@ gfCountSeq(gf, t3->trans[frame]); } trans3Free(&t3); } } static void transIndexBothStrands(struct dnaSeq *seq, struct genoFind *transGf[2][3], bits32 offset[2][3], int sourceIx, char *fileName) /* Add unmasked tiles on both strands of sequence to * index. As a side effect this will reverse-complement seq. */ { int isRc, frame; struct trans3 *t3; struct gfSeqSource *ss; -/* tolerate paths in fileName but do not save in ss->fileName since client cannot use it */ -char *fileNameOnly = getFileNameOnly(fileName); for (isRc=0; isRc <= 1; ++isRc) { if (isRc) { reverseComplement(seq->dna, seq->size); } t3 = trans3New(seq); for (frame = 0; frame < 3; ++frame) { struct genoFind *gf = transGf[isRc][frame]; ss = gf->sources + sourceIx; gfAddSeq(gf, t3->trans[frame], offset[isRc][frame]); - ss->fileName = cloneString(fileNameOnly); + ss->fileName = cloneString(fileName); ss->start = offset[isRc][frame]; offset[isRc][frame] += t3->trans[frame]->size; ss->end = offset[isRc][frame]; } trans3Free(&t3); } } void gfIndexTransNibsAndTwoBits(struct genoFind *transGf[2][3], int fileCount, char *fileNames[], int minMatch, int maxGap, int tileSize, int maxPat, char *oocFile, boolean allowOneMismatch, boolean doMask, int stepSize) /* Make translated (6 frame) index for all .nib and .2bit files. */ { struct genoFind *gf;