SEQanswers

Go Back   SEQanswers > Applications Forums > RNA Sequencing



Similar Threads
Thread Thread Starter Forum Replies Last Post
how to Use RNA-seq data of samples in different condition without replicate zinky Bioinformatics 7 12-04-2012 03:58 AM
How to normalize the bam files from different samples ykdang Bioinformatics 0 11-07-2012 12:12 PM
How to normalize nucleotide coverage? asafl Bioinformatics 2 09-28-2012 09:06 AM
RNA Seq Analysis with multiple samples empyrean RNA Sequencing 2 06-12-2012 07:16 AM
how to set up data range to show multiple sequence samples together? eilosei General 0 06-11-2012 01:31 PM

Reply
 
Thread Tools
Old 02-05-2013, 02:17 PM   #1
puggie
Member
 
Location: Europe

Join Date: Nov 2011
Posts: 52
Default The way to normalize RNA-SEQ coverage data for multiple samples?

Dear Forum,

Im analyzing several RNA-seq samples from the same Illumina run. I have obtained 50-70 mio reads pr sample, and following mapping I get a figure of 40-50 mio reads aligned depending on sample (an arbitary example). Then I would go on to make bedGraph og bigwig files of the bam alignments for visualization in UCSC, but these are not "normalized" e.g. for direct sample comparison. How should I scale these files? E.g. if one sample has 50 mio aligned and the other 40 mio should this be taken into account when making these visualization files (bed wig etc). I believe it should, but what would be the correct procedure, and how is it done?

Tia
puggie is offline   Reply With Quote
Old 02-05-2013, 04:00 PM   #2
Dario1984
Senior Member
 
Location: Sydney, Australia

Join Date: Jun 2011
Posts: 166
Default

Using a combination of Bioconductor packages will give you what you need. You can make raw counts in gene regions, then use the function calcNormFactors in edgeR to work out the compositional bias of each sample. To get raw coverage, you can use the coverage function from GenomicRanges, then multiply each sample's coverage by the scale factor you calculated with calcNormFactors. To export the coverage to a BedGraph or BigWig file, the export function from rtracklayer can be used.
Dario1984 is offline   Reply With Quote
Old 02-06-2013, 02:44 PM   #3
puggie
Member
 
Location: Europe

Join Date: Nov 2011
Posts: 52
Default

Thanks for your reply,

I have now done the analysis in R after calculating raw counts against ensembl genes. For three of the samples (ABC) I get from calcNormFactors:

sample lib.size. norm.scaling
A 5604846 0.9273452
B 4433633 1.0454615
C 6520510 1.0314556

Intuitively, I would have thought that C should have been scaled somewhat compared to B, when comparing library sizes.

The raw counts were calculated on exon/intron of genes and excluding intervals of <50 counts
puggie is offline   Reply With Quote
Old 02-06-2013, 03:00 PM   #4
Dario1984
Senior Member
 
Location: Sydney, Australia

Join Date: Jun 2011
Posts: 166
Default

Make an MA plot before and after normalisation. The function is maPlot in edgeR. You will see that the data points will be centred around M = 0 after normalisation. This is based on the biological assumption that, between conditions, the majority of genes don't change in expression.
Dario1984 is offline   Reply With Quote
Old 02-07-2013, 12:46 PM   #5
puggie
Member
 
Location: Europe

Join Date: Nov 2011
Posts: 52
Thumbs up

Okay I will try this.

Regarding the raw counts table, what would be the best procedure for selecting regions for normalization? Lets say I have an ensembl annotation file of 30.000 regions total (isoforms merged etc.). When I do the raw counting I get something like <10.000 regions/sample, which may contain up to several thousand read counts. Also I see a pattern between the samples e.g. from random line selection I could get something looking like this for 4 samples:

0 0 2 0
0 15 0 0
96 143 71 132
1 0 5 0
850 1201 1171 907
1 0 0 1

Hence same genes seems to be active, which makes sense as the samples are from same tissue type.

What would be the best way to buidling this table, e.g. taking all intervals (genes) into account in edgeR which are 1. Expressed and 2. Expression in general do not deviate by a preset factor ??

Or is there some recommended "general gene list" that is considered stable like we know from the qPCR days.
puggie is offline   Reply With Quote
Old 02-07-2013, 02:00 PM   #6
Dario1984
Senior Member
 
Location: Sydney, Australia

Join Date: Jun 2011
Posts: 166
Default

It's a good idea to get rid of lowly expressed genes before calculating the normalisation factors. There is no safe gene list. I use all of them and don't filter on variance.
Dario1984 is offline   Reply With Quote
Old 02-07-2013, 02:27 PM   #7
Richard Finney
Senior Member
 
Location: bethesda

Join Date: Feb 2009
Posts: 700
Default

It's a good idea to get rid of lowly expressed genes

Why is that?
Richard Finney is offline   Reply With Quote
Old 02-07-2013, 07:00 PM   #8
Dario1984
Senior Member
 
Location: Sydney, Australia

Join Date: Jun 2011
Posts: 166
Default

The estimates for fold change aren't stable for those genes. A couple of extra reads here or there could change the fold change calculation drastically for a lowly expressed gene. Also, a rough rule is that about ten percent of genes are being reproducibly expressed in a cell at any one time, so unstable fold changes from spurious, low transcription would contribute the most to the calculation.
Dario1984 is offline   Reply With Quote
Old 04-09-2013, 03:23 AM   #9
sisterdot
Junior Member
 
Location: Europe

Join Date: Apr 2013
Posts: 6
Default

two options that have not been tested:

1) genomeCoverageBed has a -scale option (e.g. DESeq estimateSizeFactors), although i guess Dario1984 suggestion might be easier: "get raw coverage, you can use the coverage function from GenomicRanges, then multiply each sample's coverage by the scale factor you calculated with calcNormFactors. To export the coverage to a BedGraph or BigWig file, the export function from rtracklayer can be used."

2) using normalize_bigwig.py (RSeQC package)

Last edited by sisterdot; 04-09-2013 at 03:44 AM.
sisterdot is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT -8. The time now is 11:44 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Single Sign On provided by vBSSO