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