1 #ifndef _MAPGENE_
2 #define _MAPGENE_
3 
4 
5 #include <glbpic.h>
6 
7 /************************************************************
8 *
9 *	map the one or two genes to a list Seq-locs
10 *	the slp_list will be stored at gdraw_p->slp_list
11 *	gdraw_p: the Drawing structure
12 *	g_list: a list of genes
13 *	pgdata: store the GeneDataPtr created
14 *	fp:	if not NULL, dump out the text between a region
15 *	is_html: if TRUE, dump out a html page for the fp
16 *
17 ************************************************************/
18 Boolean map_gene_location PROTO((GlobalDrawPtr gdraw_p, ValNodePtr g_list, GeneDataPtr PNTR pgdata, FILE *fp, Boolean is_html));
19 
20 
21 /*********************************************************
22 *
23 *       map the location of the current slp to the
24 *       list of slps based on consistent alignment, FISH
25 *       etc
26 *
27 *********************************************************/
28 ValNodePtr map_one_location_to_slp_list PROTO((SeqEntryPtr sep, SeqLocPtr slp, Int4 window_size));
29 
30 
31 /*map a cytogenetic band to a location on the physical map
32  *return TRUE for success and FALSE for failure. If the results are
33  *success, gdraw_p->slp will be replaced with the newly mapped slp_list*/
34 Boolean MapCytoBand PROTO((CharPtr band_name, GlobalDrawPtr gdraw_p, BioseqPtr cyto_bsp, Boolean correct_distortion, Uint1Ptr end_band));
35 
36 
37 /*
38 *
39 *       slp is the Seq-loc for a contig on the map. If include_amb,
40 *       all the ambiguously mapped YAC on the contig will be
41 *       included. Otherwise, they will be filterd from the list
42 *       of the alignnode. db can be either YAC_MIT or YAC_NHGRI
43 *
44 */
45 ValNodePtr LoadContigAlign PROTO((SeqLocPtr slp, Boolean include_amb, Uint1 db, SeqIdPtr chr_id));
46 
47 /*
48 *
49 *       print out the alignnode for YACs as a tabular form
50 *       contig name is the name of the contig where the YAC is
51 *       mapped. band_name is the name of the chromosome band
52 *       that it mapped to
53 *
54 */
55 Boolean PrintContigAlign PROTO((CharPtr band_name, CharPtr contig_name, ValNodePtr anp_list, FILE *fp));
56 
57 
58 /*
59 *
60 *       Print out the H1 header for each band. this includes the
61 *       link to OMIM and the large sequencing centers
62 *
63 */
64 void PrintBandHeader PROTO((FILE *fp, CharPtr band_name, Uint1 db_option, Boolean graphic, CharPtr tx_buf));
65 
66 void print_contig_html_color PROTO((FILE *fp, CharPtr band_name));
67 
68 /*
69 *
70 *	print out the html page that displays the YACs for the selected
71 *	contigs
72 *	chr_id: id of the mapping center
73 *	contig_list: the list of the Seq-loc for contigs
74 *	band_name: the name of the chromosome band
75 *	first: if TRUE, print out the HTML header, else don't
76 *	if(include_amb): including the ambiguous YACs
77 *
78 */
79 Boolean PrintContigForOneMap PROTO((SeqIdPtr chr_id, ValNodePtr contig_list,
80 		CharPtr band_name, Boolean include_amb, BoolPtr pfirst, FILE *fp));
81 
82 
83 /*
84 *
85 *       print the genethon marker to the HTML page
86 *	if(end_band == 0), it is an internal band
87 *	if(end_band == 1), it is the first band to the ptel
88 *	if(end_band == 2), it is the last band before qtel
89 *
90 */
91 Boolean PrintGeneticMarkerForOneMap PROTO((SeqLocPtr chr_slp, Boolean first,
92                 CharPtr band_name, Uint1 end_band, Uint1 chr, FILE *fp));
93 
94 void print_database_link PROTO((FILE *fp, Uint1 db_option));
95 
96 /*
97 *
98 *       make the links to the transcript map
99 *
100 */
101 Boolean MakeTxLink PROTO((SeqLocPtr chr_slp, CharPtr buf, Uint1 chr, Uint1 end_band));
102 
103 
104 #endif
105 
106