I'm struggling these last days on a case/control phenotype prediction problem based on genotype (individual x SNPs with more than 10k individuals and approx 18k SNPs encoded as 0,1,2).

Thanks to PCA analysis (with SNPRelate package), I observed that there are sub-populations in my training set. I suspect that there is a bias in my classifier due these sub-population.

My current methodology to improve my classifier accuracy is the following:

  1. build one model for each population,
  2. during prediction phase based on test dataset -> assign each individual to one of the population identified previously. Apply the model built for this population.

My difficulties:

  • which packages and methods in R would you advise me to assign a cluster to each of my individual ? Could I use PC eigenvectors to achieve such clustering ?
  • which packages and methods in R could allow me to associate training genotype to cluster prior to apply the specific model ?

Thank in advance for your help.

  • $\begingroup$ Welcome to the site. You talk about your method, but we don't have any introduction about it. Are you testing with cross validation? Do you have some samples reserved for the final method? What is your goal? It seems to be to classify case and controls, but then you start adding sub-populations. If you want to classify regardless of the sub-population you will need to find shared features between populations, or first find the populations and then classify them between case and controls. $\endgroup$
    – llrs
    Jul 30 '18 at 8:32
  • $\begingroup$ could you clarify what methods have you tried? At the moment I find a bit unclear what to answer $\endgroup$
    – llrs
    Jul 31 '18 at 7:14
  • $\begingroup$ Hi, when the model is built (final step of my pipeline), yes, I'm using cross-validation. My goal is to predict a case/control phenotype. I'm thinking to build models for each of the sub-populations. Which methods do you recommend to find populations in R ? $\endgroup$
    – aure_bobo
    Jul 31 '18 at 9:30
  • $\begingroup$ What you consider a good method? Could you list the method you found/tried to avoid suggesting the same methods? How big is your dataset ? (some tools/methods perform better in bigger datasets than other methods) $\endgroup$
    – llrs
    Jul 31 '18 at 10:31
  • $\begingroup$ Dataset size is 30k individuals by 20k SNPs. For the time being, I didn't yet find a method allowing me to identify sub-population, then to be able to predict sub-population on training sets. Any proposal will be welcome :) $\endgroup$
    – aure_bobo
    Jul 31 '18 at 11:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.