+ Reply to Thread
Results 1 to 1 of 1

Thread: Removing Batch Effects (with svaseq and Combat)

  1. #1
    Points: 4, Level: 1
    Level completed: 7%, Points required for next Level: 46

    Thanked 0 Times in 0 Posts

    Removing Batch Effects (with svaseq and Combat)

    Hi everyone !
    I'm a french student, so sorry in advance for my english... I'll try to do my best .

    I currently work on a data set with a batch effect, clearly noticeable on the heatmap sample/sample distances, even after the data normalization (furthermore, I have seen 3 packages for the normalization : DESeq2, EdgeR and Limma), due to a variable (so apparently we know the origin of our batch effect).
    I try the svaseq method, but I obtain in my object not change for the normalized data (I chose the normalized data with DESeq2 by default) so it's not possible to remove the batch effect on the heatmap... I would like to know, how can I totally remove it ?
    I'll see the Combat function too. But my intership adviser said that we'll have others problems in the differential analysis if we only use Combat.
    So I really need some help, if you can :/, I would like to know if I have to combine svaseq with Combat... Is it possible or I can't do that ?

    And I have another question concerning svaseq method... Because it's really not clear for me :/

    This is my code with svaseq function :

    mod <- model.matrix(~ condition, colData(dds)) # to summary dds is my DESeq2 object : dds <- DESeq(dds), and condition is a variable indicating where each sample was taking : I have two conditions, noose or trachea
    mod0 <- model.matrix(~ 1, colData(dds))
    svseq <- svaseq(counts(dds), mod, mod0)
    # First, I don't understand what does a surrogate variable analysis exactly mean ?
    # Cuz if I don't choose the number of these variables, R gives me in its output 3 surrogate variables. At first I thought that was the number of variables responsible for the batch effect...

    ddssva <- dds
    ddssva$SV1 <- svseq$sv[,1]
    ddssva$SV2 <- svseq$sv[,2]
    ddssva$SV3 <- svseq$sv[,3]
    design(ddssva) <- ~ SV1 + SV2 + SV3 + condition

    ddssva <- DESeq(ddssva)
    sva_normcounts <- counts(ddssva, normalized=T)

    I need some advices, it would be really helpful !
    I would like to understand the svaseq function, its output and the consequences on my data set, and finally, to know how to remove my batch effect. What could it be possible to do ? Thank you so much for your help !!!
    Last edited by Vanille; 06-07-2015 at 02:55 AM.

+ Reply to Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Advertise on Talk Stats