src/inc/seqOut.h 1.7
1.7 2009/08/21 18:39:59 angie
Added bafFlushLineNoHr for more compact side-by-side alignment display.
Index: src/inc/seqOut.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/inc/seqOut.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -b -B -U 1000000 -r1.6 -r1.7
--- src/inc/seqOut.h 12 May 2003 14:43:12 -0000 1.6
+++ src/inc/seqOut.h 21 Aug 2009 18:39:59 -0000 1.7
@@ -1,88 +1,91 @@
/* seqOut - stuff to output sequences and alignments in web
* or ascii viewable form. */
struct cfm
/* Colored web character output formatter. */
{
int wordLen; /* Number of characters between spaces (often 10) */
int lineLen; /* Number of characters between lines (often 50) */
int inWord, inLine; /* Position in word and line. */
bool lineNumbers; /* True if write position at end of line. */
bool countDown; /* True if want numbers counting down. */
long charCount; /* Number of characters written total. */
FILE *out; /* File to write to. */
int numOff; /* Number to start with. */
int color; /* Cache last color here. */
bool underline; /* Underline? */
bool bold; /* Font in bold. */
bool italic; /* Italic? */
};
struct cfm *cfmNew(int wordLen, int lineLen,
boolean lineNumbers, boolean countDown, FILE *out, int numOff);
/* Set up colored sequence formatting for html. */
void cfmOut(struct cfm *cfm, char c, int color);
/* Write out a byte, and depending on color formatting extras */
void cfmOutExt(struct cfm *cfm, char c, int color, boolean underline, boolean bold, boolean italic);
/* Write out a byte, and formatting extras */
void cfmFree(struct cfm **pCfm);
/* Finish and free up cfm formatting job. */
enum seqOutColor
/* Symbolic color for sequence output. */
{
socBlack = 0, /* Not aligning. */
socBlue = 1, /* Aligning. */
socBrightBlue = 2, /* End of an aligning block. */
socRed = 3, /* Aligning UTR. */
socOrange = 4, /* End of an aligning UTR block. */
};
extern int seqOutColorLookup[]; /* Converts these to html format colors. */
struct baf
/* Block allignment formatter. */
{
char nChars[256];
char hChars[256];
int cix;
int nLineStart;
int hLineStart;
int nCurPos;
int hCurPos;
DNA *needle, *haystack;
int nNumOff, hNumOff;
FILE *out;
int lineSize;
bool hCountDown; /* True if want numbers counting down. */
bool isTrans; /* True if haystack is translated. */
bool nCountDown; /* True if want needle numbers counting down. */
};
void bafInit(struct baf *baf, DNA *needle, int nNumOff, boolean nCountDown,
DNA *haystack, int hNumOff, boolean hCountDown,
FILE *out, int lineSize, boolean isTrans);
/* Initialize block alignment formatter. */
void bafSetAli(struct baf *baf, struct ffAli *ali);
/* Set up block formatter around an ffAli block. */
void bafSetPos(struct baf *baf, int nStart, int hStart);
/* Set up block formatter starting at nStart/hStart. */
void bafStartLine(struct baf *baf);
/* Set up block formatter to start new line at current position. */
void bafWriteLine(struct baf *baf);
/* Write out a line of an alignment (which takes up
* three lines on the screen. */
void bafOut(struct baf *baf, char n, char h);
/* Write a pair of character to block alignment. */
+void bafFlushLineNoHr(struct baf *baf);
+/* Write out alignment line if it has any characters in it (no <HR>). */
+
void bafFlushLine(struct baf *baf);
-/* Write out alignment line if it has any characters in it. */
+/* Write out alignment line if it has any characters in it, and an <HR>. */