Skip to content

angelauzelac10/psychCNVassoc

Repository files navigation

psychCNVassoc

Description


psychCNVassoc is an R package developed to streamline preliminary exploratory analysis in psychiatric genetics. It takes human Copy Number Variant (CNV) data as input, identifies genes encompassed by these CNVs, and associates them with psychiatric disorders from the PsyGeNet database. While existing packages annotate CNVs with clinical pathogenicity, evaluate gene dosage sensitivity, and associate pathogenic CNVs with a broad range of quantitative phenotypes, psychCNVassoc stands out by focusing exclusively on the association of CNVs with human psychiatric disorders. The package complements existing workflows by determining whether CNVs warrant further investigation into the molecular mechanisms underlying their association with psychiatric disease comorbidities. This package accepts inputs in the format of CNV calls, which includes the chromosome number, start and end position, type of variation (deletion or duplication), which can be obtained using existing CNV detection tools like PennCNV. Additionally, it can accept a pre-defined list of genes as HGNC symbols (e.g. ‘COMT’, ‘DRD3’, ‘HTR1A’) for associating genes to diseases. The psychCNVassoc package was developed using R version 4.3.1 (2023-06-16 ucrt), Platform: x86_64-w64-mingw32/x64 (64-bit) and Running under: Windows 10 x64 (build 19045).

Installation



To install the latest version of the package:

install.packages("devtools")
library("devtools")
devtools::install_github("angelauzelac10/psychCNVassoc", build_vignettes = TRUE)
library("psychCNVassoc")

To run the Shiny app:

runPsychCNVassoc()

Overview

ls("package:psychCNVassoc")
data(package = "psychCNVassoc") 
browseVignettes("psychCNVassoc")

psychCNVassoc contains 4 functions.

  1. getCNVgenes for retrieving a list of genes that are encompassed in the provided CNVs.

  2. getDiseaseAssoc for retrieving a table of gene-disease associations.

  3. plotCNVsize for plotting the distribution of CNV sizes, separated by deletion and duplication type CNVs, as a bar plot.

  4. plotDiseaseCloud for producing a wordcloud of psychiatric disorders that are associated with the list of genes.

  5. plotGeneCloud for producing a wordcloud of genes that are associated with the psychiatric disorders.

The package includes two sample CNV call datasets, sample_CNV_call and large_CNV_call. Refer to package vignettes for more details. For additional CNV call data, users can utilize tools like PennCNV or QuantiSNP, or employ existing datasets, such as those from the RTCGA.CNV package. An overview of the package is illustrated below.

Contributions

The author of the package is Angela Uzelac. The author wrote the getCNVgenes function which produces a list of genes encompassed within the human CNVs from a provided table. The human reference genomes used to annotate functional genomic regions within the CNVs are retrieved from Ensembl. Two functions were used from the biomaRt package, useEnsembl to connect to the specified genome dataset, and getBM to obtain all genes annotated with their chromosomal location. The dplyr package was also used in this function, inner_join was used to join the table of genes with the table of CNVs, and filter was used to select rows in the joined table where the gene coordinates are within the CNV coordinates. The author also wrote the function getDiseaseAssoc which makes use of the psygenetGene function from the psygenet2r package to obtain gene-disease associations from the provided list of genes. The functions plotDiseaseCloud and plotGeneCloud make use of the wordcloud2 and tm packages to clean text data, create a term-document matrix, and plot a wordcloud of the diseases and genes associated with pathogenic CNVs. The function plotCNVsize plots the distribution of CNV sizes, with the code inspired by the CNVRS-study package. The function plotCNVgeneImpact (not available to users) was developed with the help of the generative AI tool ChatGPT (OpenAI, 2023) to aid with graphics setup. The shiny app was developed by the author using the shiny package.

References

Acknowledgements

This package was developed as part of an assessment for 2019-2023 BCB410H: Applied Bioinformatics course at the University of Toronto, Toronto, CANADA. psychCNVassoc welcomes issues, enhancement requests, and other contributions. To submit an issue, use the GitHub issues.

About

No description, website, or topics provided.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages