624f4b612627304cc2424be2d1ab7a314ab651a2
kent
  Tue May 27 10:43:34 2014 -0700
Adding spacing for readability around some copyrights notices that needed it.
diff --git src/lib/flydna.c src/lib/flydna.c
index d2423d9..f2416d1 100644
--- src/lib/flydna.c
+++ src/lib/flydna.c
@@ -1,111 +1,112 @@
 /* flydna.c - routines for accessing fly genome and cDNA sequences. 
  *
  * This file is copyright 2002 Jim Kent, but license is hereby
  * granted for all use - public, private or commercial. */
+
 #include "common.h"
 #include "snof.h"
 #include "dnautil.h"
 #include "dnaseq.h"
 #include "fa.h"
 #include "nt4.h"
 #include "cda.h"
 #include "wormdna.h"
 #include "flydna.h"
 
 
 static char *chromNames[] = {"adh"};
 static char *ntFileNames[] = {"c:/biodata/fly/chrom/adh.nt"};
 
 void flyLoadNt4Genome(struct nt4Seq ***retNt4Seq, int *retNt4Count)
 /* Load up entire packed fly genome into memory. */
 {
 struct nt4Seq **pSeq;
 int i;
 
 pSeq = needMem(ArraySize(ntFileNames) * sizeof(pSeq[0]) );
 for (i=0; i<ArraySize(ntFileNames); ++i)
 	{
 	pSeq[i] = loadNt4(ntFileNames[i], chromNames[i]);
 	}
 *retNt4Seq = pSeq;
 *retNt4Count = ArraySize(ntFileNames);
 }
 
 void flyFreeNt4Genome(struct nt4Seq ***pNt4Seq)
 /* Free up packed fly genome. */
 {
 struct nt4Seq **pSeq;
 int i;
 
 if ((pSeq = *pNt4Seq) == NULL)
 	return;
 for (i=0; i<ArraySize(ntFileNames); ++i)
 	freeNt4(&pSeq[i]);
 freez(pNt4Seq);
 }
 
 void flyChromNames(char ***retNames, int *retNameCount)
 /* Get list of fly chromosome names. */
 {
 *retNames = chromNames;
 *retNameCount = ArraySize(chromNames);
 }
 
 void flyFaCommentIntoInfo(char *faComment, struct wormCdnaInfo *retInfo)
 /* Process line from .fa file containing information about cDNA into binary
  * structure. */
 {
 if (retInfo)
     {
     char *s;
     zeroBytes(retInfo, sizeof(*retInfo));
     /* Separate out first word and use it as name. */
     s = strchr(faComment, ' ');
     if (s != NULL)
 	    *s++ = 0;
     retInfo->name = faComment+1;
     retInfo->motherString = faComment;
 	s = strrchr(retInfo->name, '.');
 	retInfo->orientation = '+';
 	if (s != NULL)
 		retInfo->orientation = (s[1] == '3' ? '-' : '+');
     }
 }
 
 
 boolean flyCdnaSeq(char *name, struct dnaSeq **retDna, struct wormCdnaInfo *retInfo)
 /* Get a single fly cDNA sequence. Optionally (if retInfo is non-null) get additional
  * info about the sequence. */
 {
 long offset;
 char *faComment;
 char **pFaComment = (retInfo == NULL ? NULL : &faComment);
 static struct snof *cdnaSnof = NULL;
 static FILE *cdnaFa;
 
 if (cdnaSnof == NULL)
 	cdnaSnof = snofMustOpen("c:/biodata/fly/cDna/allcdna");
 if (cdnaFa == NULL)
 	cdnaFa = mustOpen("c:/biodata/fly/cDna/allcdna.fa", "rb");
 if (!snofFindOffset(cdnaSnof, name, &offset))
     return FALSE;
 fseek(cdnaFa, offset, SEEK_SET);
 if (!faReadNext(cdnaFa, name, TRUE, pFaComment, retDna))
     return FALSE;
 flyFaCommentIntoInfo(faComment, retInfo);
 return TRUE;
 }
 
 
 char *flyFeaturesDir()
 /* Return the features directory. (Includes trailing slash.) */
 {
 return "C:/biodata/fly/features/";
 }
 
 FILE *flyOpenGoodAli()
 /* Opens good alignment file and reads signature. 
  * (You can then cdaLoadOne() it.) */
 {
 return cdaOpenVerify("C:/biodata/fly/cDNA/good.ali");
 }