Question: How do we incorporate genetic variants into netDx to improve predictive power and capture pathways of relevance to the disorder?
Considerations:
How do you decide which variants are used to create features?
a) prune by pvalue from GWAS
b) filter by presence in gene domain including protein
c) keep nonsynonymous SNPs. How many SNPs do you need for this strategy to be feasible?
How do you quantify genetic similarity?
a) Correlation of SNP vectors in a pathway? Shirley's approach with breast cancer dataset.
Shirley: I have tried the above approach but it doesn't result in very good performance, however we can use the results I obtained for baseline or comparison to other hopefully better methods.
b) Jennifer Listgarten's method of quantifying genetic similarity (uses PC from ethnicity as covariates)?
c) Binary network for co-occurrence of mutations?
Can we have gene-level features? (probably not without GM upgrade)
How do you integrate feature-selected networks into the PSN?
Plan
Code
runDataset.R # runs pipeline for a dataset
loadData (dataset="NAME"). # Format input data to netDx format.
genotypes = filterVariants(genotypes, filterType, filterData) # prune SNPs by attribute
# map SNP to genes
snp2gene <- map_snp2Gene(snp_GR, gene_GR, marg)
# run netDx predictor
runPredictor(phenotypes, genotypes, snp_GR, filterPathways, simBy, groupBy,addEthnicity=TRUE,...)
The "..." indicate predictor design variables that should be constant for all methods tried.
rngNum=25 # num train/test splits. Scale to 100 once done
pctTrain=0.8 # 80% train, 20% test
map_snp2Gene.R Map SNPs to genes
Done (Catherine)
#' @param snp_GR (GRanges) snp locations
#' @param gene_GR (GRanges) gene locations
#' @param marg (integer) how much to extend gene domain beyond TSS/TES
filterVariants.R : keeps a subset of genotypes provided, based on filter option.
To be written
#' @param filterType (char) preset filter options. one of:
* "gwas" : filter by gwas pvalue
* "attribute": filter by categorical SNP attribute (e.g. functional mutation impact)
#' @param filterData (data.frame): data needed to filter snps. depends on value of filterType
* gwas: (data.frame) snp ID and p-values from gwas (ID, pval)
* attr: (list)
* snp_attr: snp ID and attribute (ID, attr)
* attr2keep: (char) vector of attribute values to keep
runPredictor.R : Takes input and decides which netDx predictor to call.
To be written
#' @param phenotypes (data.frame) ID and STATUS
#' @param genotypes (char) .bim file with matrix of patient ID by genotype (0,1,2)
#' @param simBy (char) method of encoding genetic similarity
* genoCorr: Pearson correlation of genotypes --> netDx predictor 1
* genoMut: binary networks of shared mutation --> netDx predictor 2
* genoRRM: Similarity by realized relationship matrix --> netDx predictor 3
#' @param groupBy (char) what level to group genotype features at? Options are:
* pathway: group SNPs as pathway-level features
* all: make a single PSN out of all genetic info
#' @param snp2gene (data.frame)
genoCorr.R: netDx predictor that creates nets based on similarity by Pearson correlation
Have (Ahmad/Shraddha)
genoRRM.R netDx predictor that makes nets of continous similarity based on the Realized Relationship Matrix measure of genetic similarity (used by fast-LMM and others)
To be written
Needs investigation of whether it makes sense to compute RRM at pathway level.
collectResults.R Compile detailed results into a table for easy plotting
plotEMap.R Plot EnrichmentMap
(needs Cyrest)
plotPerf.R Plot AUROC etc., for all configurations for this dataset.
Test datasets
Criteria:
Must have known genetic signal at level of individual loci / pathways.
Must be known to improve predictive power, so we can see if netDx replicates this finding.
Possible candidates:
. WTCCC Crohn's disease data (~3000 samples - 1:2 class ratio). Have GWAS signal + GSEA results available.
. RA SNP data from Siminovitch Lab (small data set ~150-200 subjects and 200K SNPs?)
. Rheumatoid arthritis dataset from DREAM?
. Could try Mittal lab Tetralogy of Fallot dataset or Anthracycline toxicity prediction dataset
. Shirley's breast cancer genetics dataset
Other (genetic signal not previously quantified by us):
. TCGA PanCancer ( has somatic mutations, has pathway analysis.
. PNC dataset
Apply one of the filters above or design features in various ways as suggested above.
Compare the predictor checklist output for all the settings.
Question: How do we incorporate genetic variants into netDx to improve predictive power and capture pathways of relevance to the disorder?
Considerations:
Plan
Code
runDataset.R
# runs pipeline for a datasetThe "..." indicate predictor design variables that should be constant for all methods tried.
map_snp2Gene.R
Map SNPs to genes Done (Catherine)filterVariants.R
: keeps a subset of genotypes provided, based on filter option. To be writtenrunPredictor.R
: Takes input and decides which netDx predictor to call. To be writtengenoCorr.R
: netDx predictor that creates nets based on similarity by Pearson correlation Have (Ahmad/Shraddha)genoMut.R
: netDx predictor that makes nets of binary similarity based on shared occurrence of an attribute (deleterious allele). Have (Ahmad/Shraddha)genoRRM.R
netDx predictor that makes nets of continous similarity based on the Realized Relationship Matrix measure of genetic similarity (used by fast-LMM and others)collectResults.R
Compile detailed results into a table for easy plottingplotEMap.R
Plot EnrichmentMapplotPerf.R
Plot AUROC etc., for all configurations for this dataset.Test datasets
Criteria:
Possible candidates:
. WTCCC Crohn's disease data (~3000 samples - 1:2 class ratio). Have GWAS signal + GSEA results available.
. RA SNP data from Siminovitch Lab (small data set ~150-200 subjects and 200K SNPs?)
. Rheumatoid arthritis dataset from DREAM?
. Could try Mittal lab Tetralogy of Fallot dataset or Anthracycline toxicity prediction dataset
. Shirley's breast cancer genetics dataset
Other (genetic signal not previously quantified by us):
. TCGA PanCancer ( has somatic mutations, has pathway analysis.
. PNC dataset