Can ChIPQC analyze mandarin duck ChIP-Seq data?
1
0
Entering edit mode
Gary ▴ 20
@gary-7967
Last seen 5.7 years ago

Hi,

I am analyzing mandarin duck (Aix galericulata) ChIP-Seq data. We have a mandarin duck genome assembly .fa file and a genome annotation .gff file produced by our cooperators. May I know whether ChIPQC can analyze mandarin duck histone modification ChIP-Seq data? Could you show me how to do it, if it is doable? Many thanks.

Best,

Gary

ChIPQC • 1.7k views
ADD COMMENT
0
Entering edit mode
@thomas-carroll-7019
Last seen 2.0 years ago
United States/New York/The Rockefeller …

 

hi Gary,

ChIPQC should work fine for BAM files aligned to any genome. Since there isn't a prebuilt TxDB package for mandarin duck, the summary of gene signal within genic regions is not immediately supported.

To run ChIPQC on a single BAM.

ChIPQCsample("MyDuckData.bam")

I would recommend running all your samples together using the ChIPQC function with a sample sheet showing the set-up of your experiment. This is detailed in the package vignette (http://bioconductor.org/packages/release/bioc/vignettes/ChIPQC/inst/doc/ChIPQC.pdf)

You can also  provide custom annotation to ChIPQC in the form of a list of GRanges objects. This is described in this workshop

http://bioconductor.org/help/course-materials/2014/BioC2014/Bioc2014_ChIPQC_Practical.pdf

and in this previous post

creating custom genome annotation for the ChIPQC package

If you have a gtf for gene models you should be able to build a ChIPQC annotation for your genome of interest.

require(GenomicFeatures)
require(GenomicRanges)

txdb <- makeTxDbFromGFF("MyGTF.gtf",format="gtf") 

All5utrs <- reduce(unique(unlist(fiveUTRsByTranscript(txdb))))
All3utrs <- reduce(unique(unlist(threeUTRsByTranscript(txdb))))
Allcds <- reduce(unique(unlist(cdsBy(txdb,"tx"))))
Allintrons <- reduce(unique(unlist(intronsByTranscript(txdb))))
Alltranscripts <- reduce(unique(unlist(transcripts(txdb))))

posAllTranscripts <- Alltranscripts[strand(Alltranscripts) == "+"]
posAllTranscripts <- posAllTranscripts[!(start(posAllTranscripts)-20000 < 0)]
negAllTranscripts <- Alltranscripts[strand(Alltranscripts) == "-"]
chrLimits <- seqlengths(negAllTranscripts)[as.character(seqnames(negAllTranscripts))]      
negAllTranscripts <- negAllTranscripts[!(end(negAllTranscripts)+20000 > chrLimits)]      
Alltranscripts <- c(posAllTranscripts,negAllTranscripts)
Promoters500 <-  reduce(flank(Alltranscripts,500))    
Promoters2000to500 <-  reduce(flank(Promoters500,1500))
LongPromoter20000to2000  <- reduce(flank(Promoters2000to500,18000))

duckAnnotation <- list(version="",LongPromoter20000to2000=LongPromoter20000to2000,
            Promoters2000to500=Promoters2000to500,Promoters500=Promoters500,
            All5utrs=All5utrs,Alltranscripts=Alltranscripts,Allcds=Allcds,
            Allintrons=Allintrons,All3utrs=All3utrs)

ChIPQCsample("MyDuckData.bam",annotation=duckAnnotation)

 

very best,

tom

ADD COMMENT

Login before adding your answer.

Traffic: 549 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6