--- ncbi_c--Mar_17_2008/demo/blastall.c-dist 2008-08-14 11:10:49.000000000 -0500 +++ ncbi_c--Mar_17_2008/demo/blastall.c 2008-08-14 11:36:46.000000000 -0500 @@ -712,6 +712,7 @@ #include #include #include +#include #include #include #ifdef BLAST_CS_API @@ -778,6 +779,19 @@ } #endif +static Int4 get_number_alignment(SeqAlignPtr align) +{ + Int4 num = 0; + + while(align) + { + ++num; + align = align->next; + } + + return num; +} + static Int2 BlastGetMaskingLoc(FILE *infp, FILE *outfp, CharPtr instructions) { @@ -987,8 +1001,8 @@ "stdin", NULL, NULL, FALSE, 'i', ARG_FILE_IN, 0.0, 0, NULL}, /* ARG_QUERY */ { "Expectation value (E)", "10.0", NULL, NULL, FALSE, 'e', ARG_FLOAT, 0.0, 0, NULL}, /* ARG_EVALUE */ - { "alignment view options:\n0 = pairwise,\n1 = query-anchored showing identities,\n2 = query-anchored no identities,\n3 = flat query-anchored, show identities,\n4 = flat query-anchored, no identities,\n5 = query-anchored no identities and blunt ends,\n6 = flat query-anchored, no identities and blunt ends,\n7 = XML Blast output,\n8 = tabular, \n9 tabular with comment lines\n10 ASN, text\n11 ASN, binary", /* 4 */ - "0", "0", "11", FALSE, 'm', ARG_INT, 0.0, 0, NULL}, /* ARG_FORMAT */ + { "alignment view options:\n0 = pairwise,\n1 = query-anchored showing identities,\n2 = query-anchored no identities,\n3 = flat query-anchored, show identities,\n4 = flat query-anchored, no identities,\n5 = query-anchored no identities and blunt ends,\n6 = flat query-anchored, no identities and blunt ends,\n7 = XML Blast output,\n8 = tabular, \n9=tabular with comment lines\n10=SeqAlign ASN, text\n11=SeqAlign ASN, binary\n12=Full ASN, text\n13=Full ASN, binary\n", /* 4 */ + "0", "0", "13", FALSE, 'm', ARG_INT, 0.0, 0, NULL}, /* ARG_FORMAT */ { "BLAST report Output File", "stdout", NULL, NULL, TRUE, 'o', ARG_FILE_OUT, 0.0, 0, NULL}, /* ARG_OUT */ { "Filter query sequence (DUST with blastn, SEG with others)", @@ -1830,8 +1844,9 @@ align_view = (Int1) myargs[ARG_FORMAT].intvalue; outfp = NULL; - if (align_view != 7 && align_view != 10 && align_view != 11 && blast_outputfile != NULL) { - if ((outfp = FileOpen(blast_outputfile, "w")) == NULL) { + if (align_view != 7 && align_view != 10 && align_view != 11 && + align_view != 12 && align_view != 13 && blast_outputfile != NULL) { + if ((outfp = FileOpen(blast_outputfile, "w")) == NULL) { ErrPostEx(SEV_FATAL, 1, 0, "blast: Unable to open output file %s\n", blast_outputfile); return (1); } @@ -2134,9 +2149,13 @@ fprintf(outfp, "
\n");
        }
     } else if (align_view == 7 ) {
-        xml_aip = AsnIoOpen(blast_outputfile, "wx");
+      xml_aip = AsnIoOpen(blast_outputfile, "wx");
+    } else if (align_view == 12) {
+      xml_aip = AsnIoOpen(blast_outputfile,"w");
+    } else if (align_view == 13) {
+      xml_aip = AsnIoOpen(blast_outputfile, "wb");
     }
-
+      
 #ifndef BLAST_CS_API
     if(align_view >= 7 && myargs[ARG_NUMQUERIES].intvalue > 1)
     {
@@ -2655,8 +2674,7 @@
                      free_buff();
                      BioseqUnlock(bsp);
                  }
-              }
-              if((align_view == 7) && !options->is_ooframe) {
+              } if((align_view == 7||align_view==12||align_view==13) && !options->is_ooframe) {
                  if (options->is_megablast_search) {
                     bsp = BioseqLockById(SeqLocId(tmp_slp));
                     BXMLPrintOutput(xml_aip, seqalign, 
@@ -2689,10 +2707,32 @@
                     seqannot->type = 2;
                     AddAlignInfoToSeqAnnot(seqannot, align_type);
                     seqannot->data = curr_seqalign;
-                    if (aip) {
-                       SeqAnnotAsnWrite((SeqAnnotPtr) seqannot, aip, NULL);
-                       AsnIoReset(aip);
-                    }
+		    if(html) {
+                	Char f_name[64], title[1024], href[64];
+                	Int4 align_num;       
+                
+               	 	sprintf(f_name, "%ld%ld.gif", (long)random(), (long)getpid());
+               	 	sprintf(href, "./TmpGifs/");
+                
+               	 	align_num = get_number_alignment(seqalign); 
+                	sprintf(title, 
+                        "

" + "Distribution of %ld Blast Hits on the Query Sequence " + "

\n", (long)align_num); + + + /* Open HTML form */ + fprintf(outfp, "
\n"); + fflush(outfp); + + PrintAlignmentOverview(seqannot, outfp, + "BLASTFORM", href, f_name, title); + } else { + if (aip) { + SeqAnnotAsnWrite((SeqAnnotPtr) seqannot, aip, NULL); + AsnIoReset(aip); + } + } if (num_queries > 0) { *(seq_annot_arr + sap_iter) = seqannot; } @@ -2774,7 +2814,7 @@ } /* end of align_view not tabular case */ } else { /* seqalign is NULL */ - if((align_view == 7) && !options->is_ooframe) { + if((align_view == 7||align_view==12||align_view==13) && !options->is_ooframe) { BlastErrorMsgPtr error_msg; CharPtr message; @@ -2890,7 +2930,7 @@ if (html) { fprintf(outfp, "
\n\n\n"); } - } else if (align_view == 7) + } else if (align_view == 7||align_view==12||align_view==13) xml_aip = AsnIoClose(xml_aip); /* AM: query concatenation. */ --- ncbi_c--Mar_17_2008/algo/blast/api/blast_format.h-dist 2008-08-14 11:42:03.000000000 -0500 +++ ncbi_c--Mar_17_2008/algo/blast/api/blast_format.h 2008-08-22 14:03:00.000000000 -0500 @@ -81,10 +81,14 @@ eAlignViewTabular = 8, /** Tabular with per-query comments. */ eAlignViewTabularWithComments = 9, - /** ASN.1 in text form. */ + /** SeqAlign ASN.1 in text form. */ eAlignViewAsnText = 10, - /** ASN.1 in binary form. */ + /** SeqAlign ASN.1 in binary form. */ eAlignViewAsnBinary = 11, + /** Full ASN.1 text form */ + eAlignViewFullAsnText = 12, + /** Full ASN.1 in binary form */ + eAlignViewFullAsnBinary = 13, /** Sentinel value, binding the allowed range. */ eAlignViewMax } EAlignView; --- ncbi_c--Mar_17_2008/algo/blast/api/blast_format.c-dist 2008-08-14 11:41:25.000000000 -0500 +++ ncbi_c--Mar_17_2008/algo/blast/api/blast_format.c 2008-08-14 12:00:33.000000000 -0500 @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -58,6 +59,19 @@ * @param align_view What kind of formatted output to show? [in] * @param format_options_ptr The initialized structure [out] */ +static Int4 get_number_alignment(SeqAlignPtr align) +{ + Int4 num = 0; + + while(align) + { + ++num; + align = align->next; + } + + return num; +} + static Int2 s_BlastFormattingOptionsNew(EBlastProgramType program_number, EAlignView align_view, @@ -494,7 +508,8 @@ char* filename_copy = strdup(outfile_name); if (align_view == eAlignViewXml) strcpy(write_mode, "wx"); - else if (align_view == eAlignViewAsnText) + else if (align_view == eAlignViewAsnText || + align_view == eAlignViewFullAsnText) strcpy(write_mode, "w"); else strcpy(write_mode, "wb"); @@ -690,6 +705,7 @@ BlastFormattingOptions* format_options; EAlignView align_view; Boolean ungapped; + Boolean html; ASSERT(format_info && format_info->format_options && format_info->search_options && query_slp); @@ -699,7 +715,9 @@ ungapped = !format_info->search_options->score_options->gapped_calculation; - if (align_view == eAlignViewXml) { + if (align_view == eAlignViewXml || + align_view == eAlignViewFullAsnText || + align_view == eAlignViewFullAsnBinary) { const Int4 kXmlFlag = 0; /* Change to BXML_INCLUDE_QUERY if inclusion of query sequence is desired in the XML output header. */ @@ -808,7 +826,9 @@ format_options->number_of_alignments, format_info->program_name, ungapped, format_options->believe_query, 0, 0, outfp, (Boolean)(align_view == eAlignViewTabularWithComments)); - } else if(align_view == eAlignViewXml) { + } else if(align_view == eAlignViewXml|| + align_view == eAlignViewFullAsnText|| + align_view == eAlignViewFullAsnBinary) { Iteration* iterp; ASSERT(xmlp && xmlp->aip); @@ -828,19 +848,41 @@ seqannot->type = 2; AddAlignInfoToSeqAnnot(seqannot, align_type); seqannot->data = seqalign; - if (aip) { - SeqAnnotAsnWrite((SeqAnnot*) seqannot, aip, NULL); - AsnIoReset(aip); - } - if (outfp) { - BlastPruneSapStruct* prune; - Int4** matrix = NULL; - ObjMgrSetHold(); - init_buff_ex(85); - PrintDefLinesFromSeqAlignEx2(seqalign, 80, outfp, - format_options->print_options, FIRST_PASS, NULL, - format_options->number_of_descriptions, NULL, NULL); - free_buff(); + if(html) { + Char f_name[64], title[1024], href[64]; + Int4 align_num; + + sprintf(f_name, "%ld%ld.gif", (long)random(), (long)getpid()); + sprintf(href, "./TmpGifs/"); + + align_num = get_number_alignment(seqalign); + sprintf(title, + "

" + "Distribution of %ld Blast Hits on the Query Sequence " + "

\n", (long)align_num); + + + /* Open HTML form */ + fprintf(outfp, "\n"); + fflush(outfp); + + PrintAlignmentOverview(seqannot, outfp, + "BLASTFORM", href, f_name, title); + } else { + if (aip) { + SeqAnnotAsnWrite((SeqAnnot*) seqannot, aip, NULL); + AsnIoReset(aip); + } + } + if (outfp) { + BlastPruneSapStruct* prune; + Int4** matrix = NULL; + ObjMgrSetHold(); + init_buff_ex(85); + PrintDefLinesFromSeqAlignEx2(seqalign, 80, outfp, + format_options->print_options, FIRST_PASS, NULL, + format_options->number_of_descriptions, NULL, NULL); + free_buff(); /** @todo FIXME: note that by calling BlastPruneHitsFromSeqAlign * we're making a COPY of the seqalign to print it out! Clearly @@ -883,7 +925,10 @@ } /* End loop on seqaligns for different queries */ /* close BlastOutput_iterations openned in s_MBXmlInit; Rt ticket # 15135151 */ - if((format_info->is_seqalign_null==TRUE) && (align_view == eAlignViewXml)) { + if((format_info->is_seqalign_null==TRUE) && + (align_view == eAlignViewXml || + align_view == eAlignViewFullAsnText || + align_view == eAlignViewFullAsnBinary)) { /* extra output only if no hits at all, otherwise "for loop" logic should take care*/ Iteration* iterp; iterp = IterationNew(); --- ncbi_c--Mar_17_2008/desktop/glbpic.c-dist 2008-08-14 12:10:57.000000000 -0500 +++ ncbi_c--Mar_17_2008/desktop/glbpic.c 2008-08-14 12:02:08.000000000 -0500 @@ -1580,9 +1580,9 @@ SelectFont(font); font_height = FontHeight(); if(add_to_bottom) - pen_width = MAX(1, GetMuskCParam(MSM_SEQUENCE, MSM_SEG_BORD, MSM_PENWIDTH)); + pen_width = MAX(3, GetMuskCParam(MSM_SEQUENCE, MSM_SEG_BORD, MSM_PENWIDTH)); else - pen_width = 1; + pen_width = 3; p_val = 1; color = BLACK_COLOR; --- ncbi_c--Mar_17_2008/make/makeall.unx-dist 2008-01-25 13:56:25.000000000 -0600 +++ ncbi_c--Mar_17_2008/make/makeall.unx 2008-08-14 14:40:20.000000000 -0500 @@ -56,17 +56,17 @@ # default flags for compiling and loading .KEEP_STATE: - +LCL = lnx RM_LIB = rm -f SUFFIXLCL = $(LCL) CFLAGS1 = -c -O -LDFLAGS1 = -O -CC = cc +LDFLAGS1 = -O -v +CC = cc -g RAN = ls -l AR=ar OTHERLIBS = -lm -VIBLIBS = -VIBFLAG = +VIBLIBS = -lXm -lXmu -lXt -lX11 +VIBFLAG = -DWIN_MOTIF LIBCOPY = cp -p SRCCOPY = ./ln-if-absent BINCOPY = cp -p @@ -79,7 +79,6 @@ LIB3 = libncbicdr.a ULIB4 = libvibrant.a LIB4 = $(ULIB4) -LIB4 = ULIB400 = libvibrantOGL.a LIB400 = $(ULIB400) LIB400 = @@ -92,23 +91,17 @@ LIB10 = # LIB20 is for the NCBI desktop utilities ULIB20 = libncbidesk.a -LIB20 = $(ULIB20) -LIB20 = +LIB20 = $(ULIB20) ULIB45 = libddvlib.a LIB45 = $(ULIB45) -LIB45 = LIB22 = libncbimmdb.a LIB23 = libncbitool.a LIBCOMPADJ = libblastcompadj.a ULIB28 = libvibgif.a LIB28 = $(ULIB28) -LIB28 = ULIB30 = libncbicn3d.a LIB30 = $(ULIB30) -LIB30 = -ULIB3000 = libncbicn3dOGL.a LIB3000 = $(ULIB3000) -LIB3000 = ULIB34 = libncbiindx.a LIB34= $(ULIB34) LIB34 = @@ -166,7 +159,7 @@ # sources needed for versions of asntool and entrez THR_SRC = ncbithr.c -# NCBI_LBSM_SRC = ncbi_lbsmd_stub.c +NCBI_LBSM_SRC = ncbi_lbsmd_stub.c SRC1e = ncbibs.c wwwutils.c ncbierr.c ncbienv.c ncbifile.c \ ncbiprop.c ncbimath.c ncbimem.c ncbimisc.c \ @@ -310,7 +303,7 @@ # objects needed for versions of asntool and entrez THR_OBJ = ncbithr.o -# NCBI_LBSM_OBJ = ncbi_lbsmd_stub.o +NCBI_LBSM_OBJ = ncbi_lbsmd_stub.o OBJ1e = ncbibs.o wwwutils.o ncbierr.o ncbienv.o ncbifile.o \ ncbiprop.o ncbimath.o ncbimem.o ncbimisc.o \ @@ -685,7 +678,7 @@ $(SRCCOPY) ../corelib/morefile/*.h ../include $(SRCCOPY) ../corelib/morefile/*.c . $(SRCCOPY) ../link/macmet/MoreCarbonAccessors.h ../include - $(SRCCOPY) ../corelib/ncbilcl.$(SUFFIXLCL) ../include/ncbilcl.h + $(SRCCOPY) ../corelib/ncbilcl.lnx ../include/ncbilcl.h $(SRCCOPY) ../corelib/*.c . $(SRCCOPY) ../corelib/core*.h . $(SRCCOPY) ../asnlib/*.h . --- ncbi_c--Mar_17_2008/make/makenet.unx-dist 2008-01-25 13:56:25.000000000 -0600 +++ ncbi_c--Mar_17_2008/make/makenet.unx 2008-08-14 14:47:43.000000000 -0500 @@ -48,25 +48,21 @@ # default flags for compiling and loading - +LCL=lnx SUFFIXLCL = $(LCL) CFLAGS1 = -c -O LDFLAGS1 = -O -CC = cc +CC = cc -g RAN = ls -l AR = ar OTHERLIBS = -lm -THREAD_OTHERLIBS = -lthread -THREAD_OTHERLIBS = +THREAD_OTHERLIBS = -lpthread THREAD_OBJ = ncbithr.o -THREAD_OBJ = -VIBLIBS = -VIBFLAG = -I/am/Motif/include -DWIN_MOTIF -VIBFLAG = -VIB = Nentrez ddv udv -VIB = -VIBLIBS= -lXm -lXmu -lXt -lX11 -VIBLIBS= +GIF_OBJ = salogif.o +PIC_OBJ = pictogif.o +VIBLIBS = -lXm -lXmu -lXt -lX11 +VIBFLAG = -DWIN_MOTIF +VIB = Nentrez ddv udv blast.REAL SEQUIN_OPTS = LIBCOPY = cp -p SRCCOPY = ./ln-if-absent @@ -95,10 +91,9 @@ BLIB3000 = libncbicn3dOGL.a ULIB31 = libvibnet.a BLIB31 = $(ULIB31) -BLIB31 = ULIB33 = libsmartnet.a BLIB33 = $(ULIB33) -BLIB33 = +BLIB33 = BLIB35 = libssparse.a BLIB36 = libnetblast.a BLIB38 = libncbiprsn.a @@ -915,25 +910,29 @@ ddv : $(OBJDDV) - $(CC) -o ddv $(LDFLAGS) $(OBJDDV) $(LIB41) $(LIB31) $(LIB20) $(LIB61) $(LIB60) $(LIB22) $(LIB45) \ + $(CC) -o ddv $(LDFLAGS) $(OBJDDV) $(LIB41) $(LIB31) $(LIB20) $(LIB61) $(LIB60) $(PIC_OBJ) $(GIF_OBJ) $(LIB22) $(LIB45) \ $(LIB8) $(LIB7) $(NETCLILIB) $(LIB3) $(LIB4) $(LIB23) \ $(LIBCOMPADJ) $(LIB2) $(LIB1) \ $(VIBLIBS) $(OTHERLIBS) udv : $(OBJUDV) - $(CC) -o udv $(LDFLAGS) $(OBJUDV) $(LIB41) $(LIB31) $(LIB20) $(LIB61) $(LIB60) $(LIB22) $(LIB45) \ + $(CC) -o udv $(LDFLAGS) $(OBJUDV) $(LIB41) $(LIB31) $(LIB20) $(LIB61) $(LIB60) $(PIC_OBJ) $(GIF_OBJ) $(LIB22) $(LIB45) \ $(LIB8) $(LIB7) $(NETCLILIB) $(LIB3) $(LIB4) \ $(LIB23) $(LIBCOMPADJ) $(LIB2) \ $(LIB1) $(VIBLIBS) $(OTHERLIBS) +netentcf : netentcf.c $(ULIB31) + $(CC) -o netentcf $(LDFLAGS) netentcf.c $(LIB31) $(LIB22) $(LIB4) \ + $(LIB23) $(LIBCOMPADJ) $(LIB3) $(LIB8) $(LIB7) $(NETCLILIB) \ + $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS) Nentrez : entrez.c $(ULIB31) - $(CC) -o Nentrez $(LDFLAGS) entrez.c $(LIB41) $(LIB31) $(LIB30) $(LIB20) $(LIB61) $(LIB60) $(LIB22) $(LIB45) \ + $(CC) -o Nentrez $(LDFLAGS) entrez.c $(LIB41) $(LIB31) $(LIB30) $(LIB20) $(LIB61) $(PIC_OBJ) $(GIF_OBJ) $(LIB60) $(LIB22) $(LIB45) \ $(LIB36) $(LIB23) $(LIBCOMPADJ) $(LIB8) $(LIB7) $(NETCLILIB) $(LIB5) $(LIB4) $(LIB3) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS) # left this in (Tentrez) for script backwards compatibility Tentrez : entrez.c $(ULIB31) - $(CC) -o Tentrez $(LDFLAGS) entrez.c $(LIB41) $(LIB31) $(LIB30) $(LIB20) $(LIB61) $(LIB60) $(LIB22) $(LIB45) \ - $(LIB36) $(LIB23) $(LIBCOMPADJ) $(LIB8) $(LIB7) $(NETCLILIB) $(LIB5) $(LIB4) $(LIB3) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS) + $(CC) -o Tentrez $(LDFLAGS) entrez.c $(LIB41) $(LIB31) $(LIB30) $(LIB20) $(LIB61) $(LIB60) $(PIC_OBJ) $(GIF_OBJ) $(LIB22) $(LIB45) \ + $(LIB36) $(LIB23) $(LIBCOMPADJ) $(LIB8) $(LIB7) $(NETCLILIB) $(LIB5) $(LIB4) $(LIB3) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS) # demo program (network version of "seqget") @@ -1371,8 +1370,6 @@ $(ENTREZLIBS) $(LIB4) $(LIB2) $(LIB1) $(VIBLIBS) $(OTHERLIBS) $(VIB_POST_LINK) sbtedit -salogif.o: salogif.c - $(CC) $(CFLAGS) salogif.c xmlblast.o: xmlblast.c $(CC) $(CFLAGS) xmlblast.c --- ncbi_c--Mar_17_2008/make/makedemo.unx-dist 2008-01-25 13:56:25.000000000 -0600 +++ ncbi_c--Mar_17_2008/make/makedemo.unx 2008-08-14 14:57:26.000000000 -0500 @@ -42,20 +42,19 @@ # default flags for compiling and loading - +LCL = lnx SUFFIXLCL = $(LCL) CFLAGS1 = -c -O -LDFLAGS1 = -O -CC = cc +LDFLAGS1 = -O -v +CC = cc -g RAN = ls -l OTHERLIBS = -lm -THREAD_OTHERLIBS = -lthread -THREAD_OTHERLIBS = +THREAD_OTHERLIBS = -lpthread THREAD_OBJ = ncbithr.o -THREAD_OBJ = -VIBLIBS = -VIBFLAG = -VIB = +GIF_OBJ = salogif.o +PIC_OBJ = pictogif.o +VIBLIBS = -lXm -lXmu -lXt -lX11 +VIBFLAG = -DWIN_MOTIF LIBCOPY = cp -p SRCCOPY = ./ln-if-absent BINCOPY = cp -p @@ -66,10 +65,8 @@ LIB2 = -lncbiobj LIB3 = -lncbicdr LIB4 = -lvibrant -LIB4 = LIB5 = -lncbiacc LIB20 = -lncbidesk -LIB20 = LIB22 = -lncbimmdb LIB23 = -lncbitool LIBCOMPADJ = -lblastcompadj @@ -279,24 +276,24 @@ blast : blast_driver.c $(CC) -o blast $(LDFLAGS) blast_driver.c $(THREAD_OBJ) $(LIB61) \ - $(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) \ - $(THREAD_OTHERLIBS) - + $(LIB60) $(PIC_OBJ) $(GIF_OBJ) -lvibgif $(LIB23) $(LIBCOMPADJ) $(LIB20) $(LIB2) $(LIB1) $(OTHERLIBS) \ + $(THREAD_OTHERLIBS) + debruijn : debruijn.c $(CC) -o debruijn $(LDFLAGS) debruijn.c $(LIB60) $(LIB1) $(OTHERLIBS) # blastall blastall : blastall.c $(THREAD_OBJ) $(CC) -o blastall $(LDFLAGS) blastall.c $(THREAD_OBJ) $(LIB61) \ - $(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) \ - $(OTHERLIBS) $(THREAD_OTHERLIBS) + $(LIB60) $(PIC_OBJ) $(GIF_OBJ) -lvibgif $(LIB23) $(LIBCOMPADJ) $(LIB20) $(LIB2) $(LIB1) $(OTHERLIBS) \ + $(THREAD_OTHERLIBS) # blastall_old (version of blastall that does not link in new algo/blast libs). blastall_old : blastall.c $(THREAD_OBJ) $(CC) -o blastall_old $(LDFLAGS) -DBLASTALL_TOOLS_ONLY blastall.c \ - $(THREAD_OBJ) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) \ - $(OTHERLIBS) $(THREAD_OTHERLIBS) + $(THREAD_OBJ) $(PIC_OBJ) $(GIF_OBJ) -lvibgif $(LIB23) $(LIBCOMPADJ) $(LIB20) $(LIB2) $(LIB1) \ + $(OTHERLIBS) $(THREAD_OTHERLIBS) # blastpgp @@ -347,7 +344,7 @@ megablast : megablast.c $(THREAD_OBJ) $(CC) -o megablast $(LDFLAGS) megablast.c $(THREAD_OBJ) $(LIB61) \ - $(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) \ + $(LIB60) $(PIC_OBJ) $(GIF_OBJ) -lvibgif $(LIB23) $(LIBCOMPADJ) $(LIB20) $(LIB2) $(LIB1) $(OTHERLIBS) \ $(THREAD_OTHERLIBS) # vecscreen @@ -383,8 +380,8 @@ rpsblast : rpsblast.c $(THREAD_OBJ) $(CC) -o rpsblast $(LDFLAGS) rpsblast.c $(THREAD_OBJ) $(LIB61) \ - $(LIB60) $(LIB23) $(LIBCOMPADJ) $(LIB2) $(LIB1) $(OTHERLIBS) \ - $(THREAD_OTHERLIBS) + $(LIB60) $(PIC_OBJ) $(GIF_OBJ) -lvibgif $(LIB23) $(LIBCOMPADJ) $(LIB20) $(LIB2) $(LIB1) $(OTHERLIBS) \ + $(THREAD_OTHERLIBS) # asn2xml