BACKGROUND
the identification of single nucleotide polymorphisms  that contribute to complex diseases has made them the preferred choice for diagnostics and therapeutics studies.
for instance, the methylenetetrahydrofolate reductase  c677t polymorphism  has been reported to be associated with gastric cancer in the chinese population  <cit> .
to uncover novel markers that may be associated to a disease, genotyping studies are conducted to determine the genetic variations between diseased and healthy subjects, allowing for further functional characterization that could lead to therapeutic applications.
while it may not be sufficient coverage just to genotype only these specific disease-related snps, it is costly to genotype all available snps from a large sample of individuals.
as such, by genotyping only a subset , which may include the disease associated snps, the cost and effort involved in association studies can be effectively reduced with minimal compromise to the power of such studies.
in the absence of comprehensive genotype data from local populations, genotyping studies can be designed using data from the international hapmap project  <cit> .
recent studies show that, despite differences in the fine details of linkage disequilibrium  patterns between populations  <cit> , tag snps selected from one hapmap population can be used to characterize other populations reasonably well  <cit> .
these findings indicate that hapmap data is currently the most ideal freely-available dataset for tag snp selection and association studies.
currently, there exist several tools to facilitate haplotype block inference and tag snp selection.
for example, the international hapmap project website  <cit>  not only provides bulk download of genotype and frequency data from the international hapmap project, but also interactive access to visualize the distribution of snps for any genomic region of interest.
haploview  <cit>  is a standalone application that performs ld and haplotype block analysis on publicly available or user supplied genotype data.
htsnper <dig>   <cit>  and haploblock  <cit>  can also be used to analyze genotype data supplied by users.
haploblockfinder  <cit>  is a web-based tool that allows for the inference of haplotype blocks and tag snp selection from genotype data uploaded by users.
the genome variation server   <cit>  and pupasuite  <cit>  are other tools with several online analysis utilities for accessing human genotype data.
more recently, tamal  <cit>  was developed adopting a pre-processing strategy to facilitate the selection of potential genotyping targets.
as a web-based tool, the ihap resource complements the capabilities of existing tools for analyzing haplotype structures and selecting tag snps using data from hapmap.
while most tools deploy limited algorithms for selecting tag snps, ihap provides a wider selection of algorithms and parameter settings for both haplotype block partitioning as well as tag snp definitions.
this is achieved through the use of hapblock  <cit>  as ihap's backend haplotype analysis tool.
the hapmap project website and haploview select tag snps using tagger  <cit> , which is based on the pairwise ld r <dig>  <cit>  method.
in addition to r <dig> methods, ihap incorporates tag snp definitions including common haplotypes  <cit> , haplotype diversity  <cit> , haplotype entropy  <cit>  and haplotype determination coefficient  <cit> .
this provides users with fully customizable options for on-the-fly analysis as opposed to pre-processed results provided by tamal.
ihap also highlights snps found in coding regions so potentially significant snps may be "force included" as tag snps at users' discretion, a feature unavailable in gvs and tamal.
being integrated with our local repositories of genotype and gene data from hapmap and the ucsc genome browser database  <cit>  respectively, ihap relieves users of the hassle of having to locate and download genotype data as is the case with haploview.
furthermore, ihap generates result pages that graphically depict the haplotype structures, including blocks, haplotype patterns and tag snps, alongside the exons and introns of genes found within the chromosomal region.
alternative sets of inferred tag snps are also presented with the respective scores.
the key differences between ihap and other similar tools are highlighted in table  <dig>
implementation
the ihap resource was written in the php  <dig> .
<dig> scripting language with the gd library of image functions.
using a backend mysql  <dig> .
<dig> relational database, this resource is currently deployed on a solaris environment with apache http server  <dig> .
<dig> running on a sun fire v <dig> server.
an overall schematic architecture of ihap is shown in figure  <dig>
choice of backend haplotype analysis tool
apart from hapblock, other tools including haploblock and haploblockfinder were also considered and evaluated for suitability as ihap's backend haplotype analysis tool.
eventually, hapblock was preferred over these alternatives because it offers a wider selection of haplotype block definitions and tag snp selection algorithms.
hapblock is also capable of accommodating the option for "forcing" specific snps to be selected as tags, which is helpful if one wants to include prior information into the analysis.
local data repositories
essential to the execution of the ihap resource are two data repositories.
the first is a database created for storing hapmap data .
this database adopts a schema that was designed to support efficient queries for genotype and haplotype data for any population and genomic regions of interest.
genotype data of the four hapmap human populations, namely ceph  , han chinese in beijing, china , japanese in tokyo, japan , yoruba in ibadan, nigeria , was subsequently downloaded from the international hapmap project website  <cit>  and populated into the local database.
the other resource is the local mirror of the ucsc genome browser database.
to ensure that the snp positions obtained from hapmap are consistent with the gene locations from the ucsc genome browser database, the hg <dig> assembly is used.
the human reference sequence in this assembly is based on ncbi build  <dig>  this resource is used for determining the chromosomal locations of genes, including the positions of their respective introns and exons.
job execution and management
based on the settings supplied by users, ihap generates the necessary input files in the format required by hapblock and triggers its execution as a background job.
depending on the nature of individual haplotype analysis jobs, the execution time could vary from seconds to hours.
in addition, the storage requirements for each job also vary according to the availability of genotype data for the selected chromosomal region.
therefore, it is necessary to optimize job scheduling to present users with a logical and coherent interface without compromising server performance.
to address this issue, a job manager module was devised.
this module not only initiates each hapblock execution as a background job, but also monitors the execution process through periodic polls.
with this module, the progress of each job can be tracked so users may be updated with the current status of their jobs via the web-based interface.
an email alert mechanism is also in place to inform users upon completion of their analysis jobs.
to keep storage requirements in check, a script that automatically cleans up redundant files belonging to old jobs is also executed periodically.
result display
as individual jobs are completed, the job manager module extracts information pertaining to haplotype blocks and tag snps to an intermediate format.
alternative sets of results are collated along with their respective scores while exon and intron information of genes found within the chromosomal region of interest is obtained from the local mirror of the ucsc genome browser database.
such information is then combined along with additional details such as snp names and locations in the dynamically generated image that illustrates the haplotype structure graphically.
intermediate files relating to individual jobs are finally archived in zip files which can be downloaded conveniently.
RESULTS
based on the submitted gene name, the ihap resource determines the chromosomal region of interest using the ucsc genome browser database.
the setup of the analysis job is then defined according to parameters such as hapmap population, allele frequency threshold, block definitions, tag snp definitions, permutation test settings, as well as snps to be "force included" as tags.
snippets of help for each parameter are ergonomically positioned to facilitate the configuration of each job.
the necessary files required by hapblock are then generated by ihap.
these include the parameter, genotype or haplotype data, snp names, snp position lookup, and "forced tag snp" files.
ihap then invokes the execution of hapblock as a background job and monitors its progress through periodic polls so as to keep users updated on their job progression.
upon completion of the analysis, results are converted to dynamically generated images for display as a webpage.
the results page first provides a summary of the settings used for the analysis.
a graphical representation of the genomic region is displayed with the locations of genes and their respective intronic and exonic regions illustrated as grey boxes, and inferred blocks as yellow rectangles.
snp locations are marked as blue vertical lines with those selected as tags augmented with red triangles.
the next section depicts the structure of each block, including the dbsnp identifiers and the haplotype patterns along with their respective frequencies.
the scores of the displayed and alternative tag snp sets for each block are tabulated according to various criteria in the following section.
finally, an archive  file containing all the files generated in the analysis can be downloaded via a link on the results page.
a typical analysis flow is exemplified in figure  <dig>
CONCLUSIONS
the ihap application provides a one-stop resource for inferring haplotype blocks and selecting tag snps from hapmap data.
apart from providing a wider selection of algorithms and integrating genotype data with gene information, ihap also offers greater flexibilities by allowing users to "force include" specific snps as tags.
additionally, ihap displays the results obtained graphically for intuitive interpretation and includes alternative sets of tag snps attained.
in essence, ihap is a practical tool that can be used to analyze hapmap data for the selection of candidate targets in genotyping studies.
availability and requirements
project name: ihap
project home page:
operating system: solaris
programming language: php
other requirements: mysql, apache http server
license: none
any restrictions to use by non-academics: on request and citation
authors' contributions
the ihap resource was conceptualized and developed by cms, bhy, et and yy.
while cms and bhy prepared the data and wrote the programs, et and yy evaluated suitable backend haplotype analysis tools.
kbl and gr supervised the project and provided guidance while ypl facilitated the process.
cms, bhy, et and yy drafted the manuscript and all authors have read and approved the final manuscript.

 the identification of single nucleotide polymorphisms that contribute to complex diseases has made them the preferred choice for diagnostics and therapeutics studies. for instance, the methylenetetrahydrofolate reductase c677t polymorphism has been reported to be associated with gastric cancer in the chinese population. to uncover novel markers that may be associated to a disease, genotyping studies are conducted to determine the genetic variations between diseased and healthy subjects, allowing for further functional characterization that could lead to therapeutic applications. while it may not be sufficient coverage just to genotype only these specific disease-related snps, it is costly to genotype all available snps from a large sample of individuals. as such, by genotyping only a subset, which may include the disease associated snps, the cost and effort involved in association studies can be effectively reduced with minimal compromise to the power of such studies. in the absence of comprehensive genotype data from local populations, genotyping studies can be designed using data from the international hapmap project. recent studies show that, despite differences in the fine details of linkage disequilibrium patterns between populations, tag snps selected from one hapmap population can be used to characterize other populations reasonably well. these findings indicate that hapmap data is currently the most ideal freely-available dataset for tag snp selection and association studies. currently, there exist several tools to facilitate haplotype block inference and tag snp selection. for example, the international hapmap project website not only provides bulk download of genotype and frequency data from the international hapmap project, but also interactive access to visualize the distribution of snps for any genomic region of interest. haploview is a standalone application that performs ld and haplotype block analysis on publicly available or user supplied genotype data. htsnper and haploblock can also be used to analyze genotype data supplied by users. haploblockfinder is a web-based tool that allows for the inference of haplotype blocks and tag snp selection from genotype data uploaded by users. the genome variation server and pupasuite are other tools with several online analysis utilities for accessing human genotype data. more recently, tamal was developed adopting a pre-processing strategy to facilitate the selection of potential genotyping targets. as a web-based tool, the ihap resource complements the capabilities of existing tools for analyzing haplotype structures and selecting tag snps using data from hapmap. while most tools deploy limited algorithms for selecting tag snps, ihap provides a wider selection of algorithms and parameter settings for both haplotype block partitioning as well as tag snp definitions. this is achieved through the use of hapblock as ihap's backend haplotype analysis tool. the hapmap project website and haploview select tag snps using tagger, which is based on the pairwise ld r method. in addition to r methods, ihap incorporates tag snp definitions including common haplotypes, haplotype diversity, haplotype entropy and haplotype determination coefficient. this provides users with fully customizable options for on-the-fly analysis as opposed to pre-processed results provided by tamal. ihap also highlights snps found in coding regions so potentially significant snps may be "force included" as tag snps at users' discretion, a feature unavailable in gvs and tamal. being integrated with our local repositories of genotype and gene data from hapmap and the ucsc genome browser database respectively, ihap relieves users of the hassle of having to locate and download genotype data as is the case with haploview. furthermore, ihap generates result pages that graphically depict the haplotype structures, including blocks, haplotype patterns and tag snps, alongside the exons and introns of genes found within the chromosomal region. alternative sets of inferred tag snps are also presented with the respective scores. the key differences between ihap and other similar tools are highlighted in table implementation the ihap resource was written in the php. scripting language with the gd library of image functions. using a backend mysql. relational database, this resource is currently deployed on a solaris environment with apache http server. running on a sun fire v server. an overall schematic architecture of ihap is shown in figure choice of backend haplotype analysis tool apart from hapblock, other tools including haploblock and haploblockfinder were also considered and evaluated for suitability as ihap's backend haplotype analysis tool. eventually, hapblock was preferred over these alternatives because it offers a wider selection of haplotype block definitions and tag snp selection algorithms. hapblock is also capable of accommodating the option for "forcing" specific snps to be selected as tags, which is helpful if one wants to include prior information into the analysis. local data repositories essential to the execution of the ihap resource are two data repositories. the first is a database created for storing hapmap data. this database adopts a schema that was designed to support efficient queries for genotype and haplotype data for any population and genomic regions of interest. genotype data of the four hapmap human populations, namely ceph, han chinese in beijing, china, japanese in tokyo, japan, yoruba in ibadan, nigeria, was subsequently downloaded from the international hapmap project website and populated into the local database. the other resource is the local mirror of the ucsc genome browser database. to ensure that the snp positions obtained from hapmap are consistent with the gene locations from the ucsc genome browser database, the hg assembly is used. the human reference sequence in this assembly is based on ncbi build this resource is used for determining the chromosomal locations of genes, including the positions of their respective introns and exons. job execution and management based on the settings supplied by users, ihap generates the necessary input files in the format required by hapblock and triggers its execution as a background job. depending on the nature of individual haplotype analysis jobs, the execution time could vary from seconds to hours. in addition, the storage requirements for each job also vary according to the availability of genotype data for the selected chromosomal region. therefore, it is necessary to optimize job scheduling to present users with a logical and coherent interface without compromising server performance. to address this issue, a job manager module was devised. this module not only initiates each hapblock execution as a background job, but also monitors the execution process through periodic polls. with this module, the progress of each job can be tracked so users may be updated with the current status of their jobs via the web-based interface. an email alert mechanism is also in place to inform users upon completion of their analysis jobs. to keep storage requirements in check, a script that automatically cleans up redundant files belonging to old jobs is also executed periodically. result display as individual jobs are completed, the job manager module extracts information pertaining to haplotype blocks and tag snps to an intermediate format. alternative sets of results are collated along with their respective scores while exon and intron information of genes found within the chromosomal region of interest is obtained from the local mirror of the ucsc genome browser database. such information is then combined along with additional details such as snp names and locations in the dynamically generated image that illustrates the haplotype structure graphically. intermediate files relating to individual jobs are finally archived in zip files which can be downloaded conveniently.  based on the submitted gene name, the ihap resource determines the chromosomal region of interest using the ucsc genome browser database. the setup of the analysis job is then defined according to parameters such as hapmap population, allele frequency threshold, block definitions, tag snp definitions, permutation test settings, as well as snps to be "force included" as tags. snippets of help for each parameter are ergonomically positioned to facilitate the configuration of each job. the necessary files required by hapblock are then generated by ihap. these include the parameter, genotype or haplotype data, snp names, snp position lookup, and "forced tag snp" files. ihap then invokes the execution of hapblock as a background job and monitors its progress through periodic polls so as to keep users updated on their job progression. upon completion of the analysis, results are converted to dynamically generated images for display as a webpage. the results page first provides a summary of the settings used for the analysis. a graphical representation of the genomic region is displayed with the locations of genes and their respective intronic and exonic regions illustrated as grey boxes, and inferred blocks as yellow rectangles. snp locations are marked as blue vertical lines with those selected as tags augmented with red triangles. the next section depicts the structure of each block, including the dbsnp identifiers and the haplotype patterns along with their respective frequencies. the scores of the displayed and alternative tag snp sets for each block are tabulated according to various criteria in the following section. finally, an archive file containing all the files generated in the analysis can be downloaded via a link on the results page. a typical analysis flow is exemplified in figure  the ihap application provides a one-stop resource for inferring haplotype blocks and selecting tag snps from hapmap data. apart from providing a wider selection of algorithms and integrating genotype data with gene information, ihap also offers greater flexibilities by allowing users to "force include" specific snps as tags. additionally, ihap displays the results obtained graphically for intuitive interpretation and includes alternative sets of tag snps attained. in essence, ihap is a practical tool that can be used to analyze hapmap data for the selection of candidate targets in genotyping studies. availability and requirements project name: ihap project home page: operating system: solaris programming language: php other requirements: mysql, apache http server license: none any restrictions to use by non-academics: on request and citation authors' contributions the ihap resource was conceptualized and developed by cms, bhy, et and yy. while cms and bhy prepared the data and wrote the programs, et and yy evaluated suitable backend haplotype analysis tools. kbl and gr supervised the project and provided guidance while ypl facilitated the process. cms, bhy, et and yy drafted the manuscript and all authors have read and approved the final manuscript. 
these include block partitioning algorithms, block definitions, tag snp definitions, as well as snps to be "force included" as tags. in addition to incorporating genotype and haplotype data from the international hapmap project and gene information from the ucsc genome browser database, ihap also provides capabilities for inferring haplotype blocks and selecting tag snps that are representative of haplotype patterns. the ihap resource, available at, provides a convenient yet flexible approach for the user community to analyze hapmap data and identify candidate targets for genotyping studies. the advent of genotype data from large-scale efforts that catalog the genetic variants of different populations have given rise to new avenues for multifactorial disease association studies. recent work shows that genotype data from the international hapmap project have a high degree of transferability to the wider population. this implies that the design of genotyping studies on local populations may be facilitated through inferences drawn from information contained in hapmap populations. to facilitate analysis of hapmap data for characterizing the haplotype structure of genes or any chromosomal regions, we have developed an integrated web-based resource, ihap.
 the advent of genotype data from large-scale efforts that catalog the genetic variants of different populations have given rise to new avenues for multifactorial disease association studies. recent work shows that genotype data from the international hapmap project have a high degree of transferability to the wider population. this implies that the design of genotyping studies on local populations may be facilitated through inferences drawn from information contained in hapmap populations.  to facilitate analysis of hapmap data for characterizing the haplotype structure of genes or any chromosomal regions, we have developed an integrated web-based resource, ihap. in addition to incorporating genotype and haplotype data from the international hapmap project and gene information from the ucsc genome browser database, ihap also provides capabilities for inferring haplotype blocks and selecting tag snps that are representative of haplotype patterns. these include block partitioning algorithms, block definitions, tag snp definitions, as well as snps to be "force included" as tags. based on the parameters defined at the input stage, ihap performs on-the-fly analysis and displays the result graphically as a webpage. to facilitate analysis, intermediate and final result files can be downloaded.  the ihap resource, available at, provides a convenient yet flexible approach for the user community to analyze hapmap data and identify candidate targets for genotyping studies. 