Skip to content

Single quantitative variable as an outcome (not gene expression based) #2

@Rubbert

Description

@Rubbert

I would like to run BootstrapQTL with as an outcome variable a single quantitative protein abundance "vector" (in this case the concentration of a particular cytokine).

For my "normal" calculations I use MatrixTQL as follows:

matrix_cQTLS = Matrix_eQTL_engine( snps = snpsSliced, gene = cytoSliced, cvrt = cvrtSliced, output_file_name = output_file_name, pvOutputThreshold = pvOutputThreshold, useModel = useModel, errorCovariance = numeric(), verbose = FALSE, pvalue.hist = FALSE, min.pv.by.genesnp = FALSE, noFDRsaveMemory = FALSE)

Where,

  • snpsSliced contains the genetic SNP data,
  • cytoSliced contains the protein concentation:
    Number of columns: 302 Number of rows: 1
  • cvrtSliced = covariates
  • pvOutputThreshold = 1
  • useModel = LINEAR

Next, I would like to correct for the overestimation of effect sizes, and BootstrapQTL seems like a potential solution.
However, I am having trouble getting the settings right for this type of analysis, since it is designed for eQTL analyses.

I am currently doing the following:

  snpspos = as.data.frame(matrix(NA,ncol=3,nrow = nrow(snpsSliced)))
  colnames(snpspos) = c('snpid','chr','pos')
  snpspos$snpid = rownames(snpsSliced)
  snpspos$chr=1
  snpspos$pos=10000
  
  colnames(genepos) = c('geneid','chr','left','right')
  genepos$geneid = rownames(cytoSliced)
  genepos$chr=1
  genepos$left=snpspos$pos[[1]]-5000
  genepos$right=snpspos$pos[[1]]+5000
  
  test1 = BootstrapQTL(snps = snpsSliced, 
                       gene = cytoSliced, 
                       snpspos, 
                       genepos, 
                       cvrt = cvrtSliced,
                       n_bootstraps = 100,
                       local_correction = "none",
                       correction_type="weighted",
                       useModel=useModel,
                       errorCovariance = numeric())

Where I am basically artificially defining a random position for my "gene" (i.e. protein), and having all SNPs fall inside this, so they are "cis". However, the "get_eSNP_threshold" then gives an NA, since I only has one "gene".

I was wondering what settings you would recommend that would make sense in this context and that runs successfully, to correct for the overestimation of effect sizes in a valid way?

I hope this makes sense, and falls within the use-cases of what BootstrapQTL can correct for.

Thanks!

Rob

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions