====== Mapping data on Genome Projector ======
===== Adding overlays =====
Similar to the hybrid-satellite map of Google Maps, Genome Projector can have maps overlaid on top of regular views. Custom implementation of overlays is relatively easy in Genome Projector.
Overlay is basically same as regular zoomable map. Overlay takes two zoomable maps and superimposes one on another while making the upper map semi-transparent. Therefore, when the coordinate systems are shared among the two maps, upper map adds certain information on top of another.
Genome Projector readily supports the addition of //one// overlay. Within the [[installation|standard installation package]], folder named **overlay1** is present in GenomeMap and PathwayMap views. In these views, simply placing the overlay zoomable map inside of these folders adds the overlay.
In DNA Walk Map and Circular Genome Map, addition of overlay1 folder and a simple modification in **index.cgi** script adds the overlay.
In the header of **index.cgi**, **gbtmaplib::print_mapgenerator()** function defines the type of maps and overlays. For example, in Genome Map View, this function is used as follows:
gbtmaplib::print_mapgenerator(
5, $organism, 'Genome Map', "overlay1/$organism", 'Expression Level');
and in DNA Walk:
gbtmaplib::print_mapgenerator(5, $organism, 'DNA Walk');
Thus changing this line to:
gbtmaplib::print_mapgenerator(
5, $organism, 'DNA Walk', "overlay1/$organism", 'My Overlay');
adds an overlay named 'My Overlay' to the DNA Walk Map.
===== Creating overlays =====
Overlay must have the same coordinate system as the superimposed view, and this coordinate information is generated in the **data** directory when [[generating_genome_projector_views_from_your_genome_files|generating Genome Projector Views]]. For the file format of this coordinate file, see [[using_custom_database_for_searching#how_the_annotations_are_stored|here]].
Actual creation step of overlays require programming skills. However, it should be relatively simple to use this coordinate information to draw necessary information using utilities such as [[http://search.cpan.org/~lds/GD-2.35/GD.pm|GD library]]. To match the resolution of Genome Projector views, overlay images should be 8192x8192 pixels.
When a large image file based on the coordinates is created, use the [[generating_custom_zoomable_maps_from_any_image_file|generateGMap() utility to generate custom zoomable map]], and place the generated zoomable map in the **overlay1** folder, as described above.
====== Data Mapping Service ======
===== Overview =====
[[http://www.g-language.org/g3/mapping/|Genome Projector Data Mapping Service]]
Web application is available at the above URL which creates custom overlay maps on GenomeProjector views. Supported views are GenomeMap and PathwayMap. Here a user can upload a data table which is readily converted to graphical overlay.
Data format is basically a csv (comma-separated vector) format with 3 columns (2 required and 1 optional), where each line represents an entry that contains the location or name of the entry (required), color (required), and size (optional).
===== Data format for GenomeMap =====
==== 1st column ====
1st column can be one of the following:
* gene name
* locus tag
* position (eg. 190..255)
Gene name is the common gene name as specified in the GenBank flatfile. For example, the first gene in //Escherichia coli// K12 MG1655 genome is **thrL**. Locus tag is the canonical gene name, such as **b0001**. Position is the locations of starting and ending base number joined with ".." in between, such as **190..255**. An entry is considered to be located in the direct strand of the DNA duplex when the first position is smaller than the second, and thus considered to be in the complementary strand when reversed, as **255..190**.
==== 2nd column ====
2nd column can be one of the following:
* color value in RGB, such as rgb(192 150 20)
* intensity value ranging from 0 to 100
* transparent
Color can be specified using RGB (Red Green Blue) code as **rgb(192 150 20)**. Note that the numbers are separated by single space (and not commas), and that they are embraced within **rgb()**. Color values range from 0 to 255. Following are examples for common colors:
* white: rgb(255 255 255)
* black: rgb(0 0 0)
* red: rgb(255 0 0)
* green: rgb(0 255 0)
* blue: rgb(0 0 255)
* yellow: rgb(255 255 0)
Alternatively, color can be specified using values ranging from 0 to 100, which represent a color spectrum from red to yellow to green. This is useful for example when visualizing microarray intensity data.
Lastly, color can be specified as **transparent**. This can be used with **black** background color to produce an overlay similar to that of organism specific PathwayMap.
==== 3rd column ====
3rd column is optional, which can be used to specify the **height** of displayed box. If this column is omitted, a value of 50 is used. A value in the range from 0 to 100 can be used here.
===== Data format for PathwayMap =====
==== 1st column ====
1st column is an EC number such as **3.1.2.5**. In PathwayMap, EC number is the only available ID for mapping.
==== 2nd column ====
2nd column can be one of the following:
* color value in RGB, such as rgb(192 150 20)
* intensity value ranging from 0 to 100
* transparent
Color can be specified using RGB (Red Green Blue) code as **rgb(192 150 20)**. Note that the numbers are separated by single space (and not commas), and that they are embraced within **rgb()**. Color values range from 0 to 255. Following are examples for common colors:
* white: rgb(255 255 255)
* black: rgb(0 0 0)
* red: rgb(255 0 0)
* green: rgb(0 255 0)
* blue: rgb(0 0 255)
* yellow: rgb(255 255 0)
Alternatively, color can be specified using values ranging from 0 to 100, which represent a color spectrum from red to yellow to green. This is useful for example when visualizing microarray intensity data.
Lastly, color can be specified as **transparent**. This can be used with **black** background color to produce an overlay similar to that of organism specific PathwayMap.
==== 3rd column ====
3rd column is optional, which can be used to specify the **diameter** of displayed circle. If this column is omitted, a value of 300 is used. There is no defined limit or range for this value,