e70152e44cc66cc599ff6b699eb8adc07f3e656a kent Sat May 24 21:09:34 2014 -0700 Adding Copyright NNNN Regents of the University of California to all files I believe with reasonable certainty were developed under UCSC employ or as part of Genome Browser copyright assignment. diff --git src/lib/annoAssembly.c src/lib/annoAssembly.c index 45cee66..0de6657 100644 --- src/lib/annoAssembly.c +++ src/lib/annoAssembly.c @@ -1,56 +1,59 @@ /* annoAssembly -- basic metadata about an assembly for the annoGrator framework. */ +/* Copyright (C) 2013 The Regents of the University of California + * See README in this or parent directory for licensing information. */ + #include "annoAssembly.h" #include "obscure.h" #include "twoBit.h" struct annoAssembly *annoAssemblyNew(char *name, char *twoBitPath) /* Return an annoAssembly with open twoBitFile. */ { struct annoAssembly *aa; AllocVar(aa); aa->name = cloneString(name); aa->tbf = twoBitOpen(twoBitPath); aa->twoBitPath = cloneString(twoBitPath); return aa; } struct slName *annoAssemblySeqNames(struct annoAssembly *aa) /* Return a list of sequence names in this assembly. */ { struct slName *seqNames = twoBitSeqNames(aa->twoBitPath); slSort(&seqNames, slNameCmp); return seqNames; } uint annoAssemblySeqSize(struct annoAssembly *aa, char *seqName) /* Return the number of bases in seq which must be in aa's twoBitFile. */ { if (aa->seqSizes == NULL) aa->seqSizes = hashNew(digitsBaseTwo(aa->tbf->seqCount)); struct hashEl *hel = hashLookup(aa->seqSizes, seqName); uint seqSize; if (hel != NULL) seqSize = (uint)(hel->val - NULL); else { seqSize = (uint)twoBitSeqSize(aa->tbf, seqName); char *pt = NULL; hashAdd(aa->seqSizes, seqName, pt + seqSize); } return seqSize; } void annoAssemblyClose(struct annoAssembly **pAa) /* Close aa's twoBitFile and free mem. */ { if (*pAa == NULL) return; struct annoAssembly *aa = *pAa; freeMem(aa->name); freeMem(aa->twoBitPath); twoBitClose(&(aa->tbf)); hashFree(&(aa->seqSizes)); freez(pAa); }