BACKGROUND
in recent years, the availability of high throughput datasets from a variety of biological sources has prompted the creation of a multitude of databases that significantly facilitate biomedical research.
in parallel, network biology has emerged as a powerful paradigm to visualize and analyze large data ensembles in novel ways with unparalleled flexibility  <cit> .
more recent applications of this approach have enabled a detailed look at the genetic landscape of complex human phenotypes  <cit> .
in  <dig>  goh et al.
reported the first human disease network and provided a novel view of the genetic relationship among diseases  <cit> .
subsequently, more complex approaches that included the integration of quantitative trait loci, gene expression, and clinical phenotypic data were used to construct disease similarity networks  <cit> .
another pioneering study summarized the application of protein networks for network-based classification of diseases  <cit>  and integration of drug targets and disease gene products led to the field of systems pharmacology  <cit> .
overall, the availability of large-scale datasets has prompted efforts to integrate data with the ultimate goal of providing systematic insights into complex traits.
recently, multiple databases were elegantly combined to explore gene-disease associations  <cit> .
while this is a useful tool to visualize relationships among phenotypes and study disease-related genes, the obtained networks are limited to only this type of interaction.
here we present ictnet , a tool to create and analyze human complex traits networks that assembles and integrates information from genome-wide association studies, protein-protein interactions, tissue expression, and drug targets with the goal of identifying novel relationships across several domains that may assist in elucidating a new classification, pathogenic mechanism, or treatment for common human traits.
to the best of our knowledge, ictnet constitutes the first effort to integrate multiple layers of information as multi-partite networks thus enabling systematic analysis of human complex traits.
implementation
the software cytoscape is a popular open source platform for complex network analysis and visualization that allows for a wide variety of applications through the development of task-specific plugins  <cit> .
ictnet is implemented in java as a cytoscape plugin and provides a user-friendly interface to search, view, and analyze genome-scale biological networks for more than  <dig> common human diseases and traits.
integration of these data sources results in four types of nodes , and five types of edges connecting these nodes .
in ictnet, the basic level of analysis is the disease-gene relationships.
once those edges are specified  any additional relationship can be incorporated.
we use the terms snp/gene/protein interchangeably because of the correspondence between snps and genes -- more specifically, the most significantly associated snps define a gene-trait edge and gene products  are used in the interaction networks.
data sources and their integration  are described in the following subsections.
once installed, ictnet is available from the plugin directory of cytoscape.
through this plugin the user can connect to the database and fetch multiple sources of data for subsequent analysis within the plugin itself or the cytoscape environment.
for example, we have implemented two published algorithms  that use network topological characteristics in the protein interaction network to prioritize candidate genes.
in essence, the core of both algorithms is similar .
the main difference is the type of input data and the type of connections each algorithm can analyze.
random walk with restarts is implemented to work with protein-protein interaction networks only while prince has been extended to work over the entire network with up to  <dig> different types of connections.
a hprd/ucsd;b gwas catalog;c drugbank;d unigene;e manual curation.
data sources
phenotype-snp association
phenotype-snp associations were collected from published gwas articles and mapped to the closest gene using build  <dig> of the human genome reference.
our database also contains results from  <dig> gwas published before march  <dig>   <dig>  <cit> , and data from the gwas catalog  <cit>  .
while data from the gwas catalog only contains associations at a p-value of 10- <dig> or better, johnson et al.
compiled all available results as reported by each author .
an advantage of using gwas data is the availability of p-values, a measure of confidence for each reported association.
fisher's meta p-value  <cit>  was calculated when the same phenotype-snp association was reported in different studies.
ictnet contains more than  <dig>  trait-snp associations at a significance level of 10- <dig>  and more than  <dig>  at 10- <dig> .
protein interactions
more than  <dig>  interactions among  <dig>  proteins were downloaded from the human protein reference database   <cit> .
in addition, protein  -dna interactions were incorporated by extracting transcription factor binding sites  information from the ucsc genome browser v. <dig>  <cit> .
protein-dna interactions were defined as directed edges linking tf and their target genes.
edges were derived from high confidence tfbs  located within  <dig>  bp of the transcriptional start site of the nearest gene.
tissue information
to refine phenotype-snp association, we incorporated information on genes expressed in specific tissues.
this information was downloaded from hprd and included  <dig>  genes,  <dig> tissues and  <dig>  tissue-gene connections.
we curated and pooled the tissues into  <dig> categories to standardize the naming conventions in various sources, and filtered "unknown" gene symbols, resulting in  <dig>  genes and  <dig>  tissue-gene edges.
we also manually curated the disease-tissue association for the phenotypes present in ictnet.
the final disease-tissue subnetwork has  <dig> pooled tissues,  <dig> phenotypes and  <dig> edges.
drug-gene interactions
drug-target information was obtained from drugbank v. <dig>   <cit> .
gene symbols in drugbank were matched to ucsc nomenclature  <cit> .
this layer has  <dig>  drugs and  <dig>  gene nodes, linked by  <dig>  edges.
candidate gene prioritization
two prioritization algorithms were implemented in ictnet whose core computation is based on the flow of information across the protein interaction network: i) random walk with restarts  <cit>  and ii) network propagation   <cit> .
the core of both implemented algorithms is similar .
as explained in the original manuscripts  <cit> , these methods are implemented and based on the following equation:
pt+1=wpt+rp <dig>
where an iterative walker's transition in the network is explained and where pt+ <dig> is the vector holding the scores of the nodes at time step t +  <dig>  w is the normalized adjacency matrix of the network, pt is a vector holding the score of the nodes at the previous time step t, and r is the restart rate ranging from  <dig> to  <dig>  in both methods, the walker begins with starting nodes and extends to randomly selected neighbors in the network.
the restart ratio represents the probability of the transition to jump back to starting nodes at every time step.
in other words, the transition will reach farther nodes in the network with small restart ratio; otherwise, the walker will be trapped at starting nodes if the restart ratio is  <dig>
the main difference between prince  <cit>  and the random walk method  <cit>  is the input data p <dig> and the adjacency matrix w. in random walk with restarts, the initial vector p <dig> was constructed such that equal probabilities were assigned to the starting nodes.
next, all genes with gwas p-values are classified as either "associated" or "candidate" based on a user-selected threshold.
this algorithm measures the closeness of potentially associated  to confirmed  genes within the global protein network, and ranks candidate genes for further biological investigation.
as for the prince algorithm, the original version takes as input a disease similarity matrix , and a protein interaction network.
prince then uses a network propagation-based algorithm to infer a strength-of-association scoring function and exploits the prior information on causal genes for the same disease or similar ones.
this scoring is used in combination with a ppi network to infer protein complexes that are involved in a given disease.
we modified the algorithm to work with unweighted protein-protein interactions and extended it to include all types of network interactions supported by ictnet.
in addition, instead of using an arbitrarily defined disease similarity matrix, our implementation of prince uses true disease associations as defined by a user-selected p-value threshold.
a genetic similarity network is then created from gwas data.
finally, the association of candidate genes with a given phenotype is prioritized via network propagation as originally described.
the complexity of both methods is o, where n is the number of nodes in the network, and t represents the number of time-steps.
the run times depend on the number of truly associated genes, their associated strength , and the number of connections among their protein products in a network.
RESULTS
once installed in the appropriate directory  ictnet is available from the plugins menu within cytoscape.
through the initial menu, the user can choose to load a network from a local file, or download a network from the ictnet database.
the user can then create a similarity network or perform a series of network analyses.
a typical user will choose to start by downloading a network from the ictnet database.
the "database query" option offers the possibility to query the database for a particular gene, disease, or tissue.
alternatively, the user can choose to directly download any of these datasets to the cytoscape environment .
for example a user could quickly create a gene-disease network with  <dig> common autoimmune diseases  at a p-value of 10- <dig> or better .
this will create a network with  <dig> nodes  and  <dig> edges.
the user has the choice of downloading just the directly associated genes as well as their neighbors at different degrees of separation .
a layout of this network  using the built-in edge-weighted spring-embedded algorithm places ra, ms, and t1d next to each other, while ps and cd are placed further apart .
the proximity among ra, t1d, and ms is consistent with their strong hla association, while much less evidence of such an association is currently available for ps and cd.
this visualization highlights both the amount of shared genes as well as disease-specific associations.
since all interactions downloaded through ictnet are from published articles, each disease-gene edge has a pubmed id as an attribute and the article can be retrieved directly within cytoscape using the edge linkout feature.
a useful feature of ictnet is the ability to create a similarity network on any existing network using any type of node.
this function replaces indirect connections in the bi-partite network  thus creating a simpler display.
for example, a similarity network of the autoimmunity graph shown in figure 2a is shown in figure 2b.
this feature is particularly useful when handling very large networks.
the color of each edge is proportional to the number of genes shared by each disease .
another key component of ictnet is the availability of drug-target relationships.
figure 2c shows the same autoimmunity network in which proteins that are drug targets are linked to drugs  as described in drugbank.
a straightforward advantage of this multidimensional display is that it may identify drugs that are effectively used for one disease as a plausible alternative for another disease genetically associated to the same drug target.
ictnet also provides two candidate prioritization algorithms that take full advantage of the underlying protein interaction network.
both the random walk and prince algorithms take a set of "associated" genes  and perform searches through the entire protein interaction network.
this is a powerful way to identify a set of candidate genes that even if their association p-value is modest, their position in the protein ensemble makes them suitable candidates for further follow-up.
to the best of our knowledge a head-to-head comparison of these algorithms under extensive range of parameters has not been performed.
thus, we are unable to recommend the use of a particular algorithm, and instead encourage the user to test them under different experimental scenarios.
previous studies that explored the relationship between genes and diseases on a large scale  <cit>  were based on manually curated databases such as the online mendelian inheritance in man   <cit> .
while data from omim is readily accessible, the relationships between genes and diseases from its genemap do not strictly represent susceptibility loci, but in some cases also refer to progression or pharmacogenomics effects.
in contrast, ictnet incorporates phenotype-snp associations from the genome-wide association studies  catalog database .
when multiple sources of information implicate a given gene with a trait, p-values from those studies were combined into a meta p-value.
as a result, each disease-gene interaction  in ictnet has a quantitative value approximately equal to the -log <dig> of the association p-value ).
this strategy also enables the ictnet user to filter results based on a given significance threshold.
another distinctive feature of ictnet is that multi-partite networks can be created by combining up to four classes of nodes  with up to five classes of edges .
in summary, here we present a database and cytoscape plugin for the integration of different high-throughput datasets.
ictnet represents a new family of applications that are designed to integrate and analyze disparate data sources, a key pillar in the new paradigm of systems biology.
CONCLUSIONS
ictnet is a powerful plugin for cytoscape, built on a complex database that integrates interactions among human phenotypes, proteins, tissues, and drugs.
it utilizes the power of multi-partite network analysis and visualization to uncover genetic similarities among multiple traits to suggest alternative therapeutic approaches and to prioritize disease-associated genes.
ictnet enables a point and click environment to load views for user-selected phenotypes, and provides two methods for evaluation or prioritization of disease-causing genes.
to maintain ictnet, monthly updates of gwas catalog are planned.
integration of further data sources including quantitative omics data, mirna targets, and advanced analysis are among future plans.
availability and requirements
• project name: ictnet, integrated complex traits networks.
• project home page: http://www.cs.queensu.ca/ictnet
• operating system: platform independent
• programming language: java, minimum requirement java se  <dig>
• cytoscape version: ictnet requires cytoscape version  <dig>  or later, and has been tested on version  <dig>
• memory: minimum 2gb for large networks
• license: bsd-style open source license
• any restrictions to use by non-academics: none other than those in the bsd license
list of abbreviations
ictnet: integrated complex trait networks; snp: single nucleotide polymorphism; gwas: genome-wide association study; hprd: human protein reference database; cd: crohn's disease; ms: multiple sclerosis; ps: psoriasis; t1d: type  <dig> diabetes; ra: rheumatoid arthritis
authors' contributions
seb conceived the idea for the plugin.
pm and lw developed the concept and lw programmed the database and the plugin.
pk assisted with development.
seb, pm, lw, and pk tested the application.
seb and pm wrote the manuscript.
all authors read and approved the final manuscript
acknowledgements and funding
seb is a harry weaver neuroscience scholar from the national multiple sclerosis society.
pm acknowledges the ontario ministry of research and innovation, early researcher award and the natural sciences and engineering council of canada.

 in recent years, the availability of high throughput datasets from a variety of biological sources has prompted the creation of a multitude of databases that significantly facilitate biomedical research. in parallel, network biology has emerged as a powerful paradigm to visualize and analyze large data ensembles in novel ways with unparalleled flexibility. more recent applications of this approach have enabled a detailed look at the genetic landscape of complex human phenotypes. in goh et al. reported the first human disease network and provided a novel view of the genetic relationship among diseases. subsequently, more complex approaches that included the integration of quantitative trait loci, gene expression, and clinical phenotypic data were used to construct disease similarity networks. another pioneering study summarized the application of protein networks for network-based classification of diseases and integration of drug targets and disease gene products led to the field of systems pharmacology. overall, the availability of large-scale datasets has prompted efforts to integrate data with the ultimate goal of providing systematic insights into complex traits. recently, multiple databases were elegantly combined to explore gene-disease associations. while this is a useful tool to visualize relationships among phenotypes and study disease-related genes, the obtained networks are limited to only this type of interaction. here we present ictnet, a tool to create and analyze human complex traits networks that assembles and integrates information from genome-wide association studies, protein-protein interactions, tissue expression, and drug targets with the goal of identifying novel relationships across several domains that may assist in elucidating a new classification, pathogenic mechanism, or treatment for common human traits. to the best of our knowledge, ictnet constitutes the first effort to integrate multiple layers of information as multi-partite networks thus enabling systematic analysis of human complex traits. implementation the software cytoscape is a popular open source platform for complex network analysis and visualization that allows for a wide variety of applications through the development of task-specific plugins. ictnet is implemented in java as a cytoscape plugin and provides a user-friendly interface to search, view, and analyze genome-scale biological networks for more than common human diseases and traits. integration of these data sources results in four types of nodes, and five types of edges connecting these nodes. in ictnet, the basic level of analysis is the disease-gene relationships. once those edges are specified any additional relationship can be incorporated. we use the terms snp/gene/protein interchangeably because of the correspondence between snps and genes -- more specifically, the most significantly associated snps define a gene-trait edge and gene products are used in the interaction networks. data sources and their integration are described in the following subsections. once installed, ictnet is available from the plugin directory of cytoscape. through this plugin the user can connect to the database and fetch multiple sources of data for subsequent analysis within the plugin itself or the cytoscape environment. for example, we have implemented two published algorithms that use network topological characteristics in the protein interaction network to prioritize candidate genes. in essence, the core of both algorithms is similar. the main difference is the type of input data and the type of connections each algorithm can analyze. random walk with restarts is implemented to work with protein-protein interaction networks only while prince has been extended to work over the entire network with up to different types of connections. a hprd/ucsd;b gwas catalog;c drugbank;d unigene;e manual curation. data sources phenotype-snp association phenotype-snp associations were collected from published gwas articles and mapped to the closest gene using build of the human genome reference. our database also contains results from gwas published before march, and data from the gwas catalog. while data from the gwas catalog only contains associations at a p-value of 10- or better, johnson et al. compiled all available results as reported by each author. an advantage of using gwas data is the availability of p-values, a measure of confidence for each reported association. fisher's meta p-value was calculated when the same phenotype-snp association was reported in different studies. ictnet contains more than trait-snp associations at a significance level of 10- and more than at 10-. protein interactions more than interactions among proteins were downloaded from the human protein reference database. in addition, protein -dna interactions were incorporated by extracting transcription factor binding sites information from the ucsc genome browser v.. protein-dna interactions were defined as directed edges linking tf and their target genes. edges were derived from high confidence tfbs located within bp of the transcriptional start site of the nearest gene. tissue information to refine phenotype-snp association, we incorporated information on genes expressed in specific tissues. this information was downloaded from hprd and included genes, tissues and tissue-gene connections. we curated and pooled the tissues into categories to standardize the naming conventions in various sources, and filtered "unknown" gene symbols, resulting in genes and tissue-gene edges. we also manually curated the disease-tissue association for the phenotypes present in ictnet. the final disease-tissue subnetwork has pooled tissues, phenotypes and edges. drug-gene interactions drug-target information was obtained from drugbank v.. gene symbols in drugbank were matched to ucsc nomenclature. this layer has drugs and gene nodes, linked by edges. candidate gene prioritization two prioritization algorithms were implemented in ictnet whose core computation is based on the flow of information across the protein interaction network: i) random walk with restarts and ii) network propagation. the core of both implemented algorithms is similar. as explained in the original manuscripts, these methods are implemented and based on the following equation: pt+1=wpt+rp where an iterative walker's transition in the network is explained and where pt+ is the vector holding the scores of the nodes at time step t + w is the normalized adjacency matrix of the network, pt is a vector holding the score of the nodes at the previous time step t, and r is the restart rate ranging from to in both methods, the walker begins with starting nodes and extends to randomly selected neighbors in the network. the restart ratio represents the probability of the transition to jump back to starting nodes at every time step. in other words, the transition will reach farther nodes in the network with small restart ratio; otherwise, the walker will be trapped at starting nodes if the restart ratio is the main difference between prince and the random walk method is the input data p and the adjacency matrix w. in random walk with restarts, the initial vector p was constructed such that equal probabilities were assigned to the starting nodes. next, all genes with gwas p-values are classified as either "associated" or "candidate" based on a user-selected threshold. this algorithm measures the closeness of potentially associated to confirmed genes within the global protein network, and ranks candidate genes for further biological investigation. as for the prince algorithm, the original version takes as input a disease similarity matrix, and a protein interaction network. prince then uses a network propagation-based algorithm to infer a strength-of-association scoring function and exploits the prior information on causal genes for the same disease or similar ones. this scoring is used in combination with a ppi network to infer protein complexes that are involved in a given disease. we modified the algorithm to work with unweighted protein-protein interactions and extended it to include all types of network interactions supported by ictnet. in addition, instead of using an arbitrarily defined disease similarity matrix, our implementation of prince uses true disease associations as defined by a user-selected p-value threshold. a genetic similarity network is then created from gwas data. finally, the association of candidate genes with a given phenotype is prioritized via network propagation as originally described. the complexity of both methods is o, where n is the number of nodes in the network, and t represents the number of time-steps. the run times depend on the number of truly associated genes, their associated strength, and the number of connections among their protein products in a network.  once installed in the appropriate directory ictnet is available from the plugins menu within cytoscape. through the initial menu, the user can choose to load a network from a local file, or download a network from the ictnet database. the user can then create a similarity network or perform a series of network analyses. a typical user will choose to start by downloading a network from the ictnet database. the "database query" option offers the possibility to query the database for a particular gene, disease, or tissue. alternatively, the user can choose to directly download any of these datasets to the cytoscape environment. for example a user could quickly create a gene-disease network with common autoimmune diseases at a p-value of 10- or better. this will create a network with nodes and edges. the user has the choice of downloading just the directly associated genes as well as their neighbors at different degrees of separation. a layout of this network using the built-in edge-weighted spring-embedded algorithm places ra, ms, and t1d next to each other, while ps and cd are placed further apart. the proximity among ra, t1d, and ms is consistent with their strong hla association, while much less evidence of such an association is currently available for ps and cd. this visualization highlights both the amount of shared genes as well as disease-specific associations. since all interactions downloaded through ictnet are from published articles, each disease-gene edge has a pubmed id as an attribute and the article can be retrieved directly within cytoscape using the edge linkout feature. a useful feature of ictnet is the ability to create a similarity network on any existing network using any type of node. this function replaces indirect connections in the bi-partite network thus creating a simpler display. for example, a similarity network of the autoimmunity graph shown in figure 2a is shown in figure 2b. this feature is particularly useful when handling very large networks. the color of each edge is proportional to the number of genes shared by each disease. another key component of ictnet is the availability of drug-target relationships. figure 2c shows the same autoimmunity network in which proteins that are drug targets are linked to drugs as described in drugbank. a straightforward advantage of this multidimensional display is that it may identify drugs that are effectively used for one disease as a plausible alternative for another disease genetically associated to the same drug target. ictnet also provides two candidate prioritization algorithms that take full advantage of the underlying protein interaction network. both the random walk and prince algorithms take a set of "associated" genes and perform searches through the entire protein interaction network. this is a powerful way to identify a set of candidate genes that even if their association p-value is modest, their position in the protein ensemble makes them suitable candidates for further follow-up. to the best of our knowledge a head-to-head comparison of these algorithms under extensive range of parameters has not been performed. thus, we are unable to recommend the use of a particular algorithm, and instead encourage the user to test them under different experimental scenarios. previous studies that explored the relationship between genes and diseases on a large scale were based on manually curated databases such as the online mendelian inheritance in man. while data from omim is readily accessible, the relationships between genes and diseases from its genemap do not strictly represent susceptibility loci, but in some cases also refer to progression or pharmacogenomics effects. in contrast, ictnet incorporates phenotype-snp associations from the genome-wide association studies catalog database. when multiple sources of information implicate a given gene with a trait, p-values from those studies were combined into a meta p-value. as a result, each disease-gene interaction in ictnet has a quantitative value approximately equal to the -log of the association p-value ). this strategy also enables the ictnet user to filter results based on a given significance threshold. another distinctive feature of ictnet is that multi-partite networks can be created by combining up to four classes of nodes with up to five classes of edges. in summary, here we present a database and cytoscape plugin for the integration of different high-throughput datasets. ictnet represents a new family of applications that are designed to integrate and analyze disparate data sources, a key pillar in the new paradigm of systems biology.  ictnet is a powerful plugin for cytoscape, built on a complex database that integrates interactions among human phenotypes, proteins, tissues, and drugs. it utilizes the power of multi-partite network analysis and visualization to uncover genetic similarities among multiple traits to suggest alternative therapeutic approaches and to prioritize disease-associated genes. ictnet enables a point and click environment to load views for user-selected phenotypes, and provides two methods for evaluation or prioritization of disease-causing genes. to maintain ictnet, monthly updates of gwas catalog are planned. integration of further data sources including quantitative omics data, mirna targets, and advanced analysis are among future plans. availability and requirements • project name: ictnet, integrated complex traits networks. • project home page: http://www.cs.queensu.ca/ictnet • operating system: platform independent • programming language: java, minimum requirement java se • cytoscape version: ictnet requires cytoscape version or later, and has been tested on version • memory: minimum 2gb for large networks • license: bsd-style open source license • any restrictions to use by non-academics: none other than those in the bsd license list of abbreviations ictnet: integrated complex trait networks; snp: single nucleotide polymorphism; gwas: genome-wide association study; hprd: human protein reference database; cd: crohn's disease; ms: multiple sclerosis; ps: psoriasis; t1d: type diabetes; ra: rheumatoid arthritis authors' contributions seb conceived the idea for the plugin. pm and lw developed the concept and lw programmed the database and the plugin. pk assisted with development. seb, pm, lw, and pk tested the application. seb and pm wrote the manuscript. all authors read and approved the final manuscript acknowledgements and funding seb is a harry weaver neuroscience scholar from the national multiple sclerosis society. pm acknowledges the ontario ministry of research and innovation, early researcher award and the natural sciences and engineering council of canada.
built-in tools are provided to prioritize candidate genes and create modules of specific phenotypes. we describe a new open-source cytoscape plugin named ictnet. the online database and cytoscape plugin are freely available for academic use at: http://www.cs.queensu.ca/ictnet ictnet provides a user-friendly interface to search, integrate, visualize, and analyze genome-scale biological networks for human complex traits. ictnet integrates several data sources to allow automated and systematic creation of networks with up to five layers of omics information: phenotype-snp association, protein-protein interaction, disease-tissue, tissue-gene, and drug-gene relationships.
 the speed at which biological datasets are being accumulated stands in contrast to our ability to integrate them meaningfully. large-scale biological databases containing datasets of genes, proteins, cells, organs, and diseases are being created but they are not connected. integration of these vast but heterogeneous sources of information will allow the systematic and comprehensive analysis of molecular and clinical datasets, spanning hundreds of dimensions and thousands of individuals. this integration is essential to capitalize on the value of current and future molecular- and cellular-level data on humans to gain novel insights about health and disease.  we describe a new open-source cytoscape plugin named ictnet. ictnet integrates several data sources to allow automated and systematic creation of networks with up to five layers of omics information: phenotype-snp association, protein-protein interaction, disease-tissue, tissue-gene, and drug-gene relationships. it facilitates the generation of general or specific network views with diverse options for more than diseases. built-in tools are provided to prioritize candidate genes and create modules of specific phenotypes.  ictnet provides a user-friendly interface to search, integrate, visualize, and analyze genome-scale biological networks for human complex traits. we argue this tool is a key instrument that facilitates systematic integration of disparate large-scale data through network visualization, ultimately allowing the identification of disease similarities and the design of novel therapeutic approaches. the online database and cytoscape plugin are freely available for academic use at: http://www.cs.queensu.ca/ictnet 