Olfactory receptors

From Wiki
Jump to navigationJump to search


Olfactory receptors

Collaboration media

  • Zenbu collaboration group: Olfactory receptors
  • Wiki page category: Olfactory receptors

Data available

Mouse olfactory promoters

Published in: Promoter architecture of mouse olfactory receptor genes, Plessy C. et al., Genome Res. 2011 Dec 22, PMID:22194471.

Data needed, task existing

  • Fantom5 CAGE libraries from human olfactory epithelium (to be produced, sample collection ongoing) → Task 1.
  • CAGE tag clusters → Tasks 3 & 4.
  • Promoter-CDS associations → Tasks 5 or ourselves (see below).

Analysis

Reference data

Direct from CAGE data

  • Expression data, including expression of potential pseudogenes (according to their predicted cDNA sequence).
  • Alternative promoters (frequent in olfactory receptor genes).
  • Survey of tissues where the complete transduction pathway is expressed.
  • Confirm mapability of human OR promoters. In mouse, most tags there are single-mappers.
  • MultiZ analysis in primates of human OR promoters (Leonard Lipovich).

Brainstorm

  • Do the promoters of the expressed pseudogenes show special characteristics?
  • Evolutionary study.
  • Look for potential enhancers, like the H-region and the P-element.
  • Vomeronasal receptors, taste receptors, trace amine receptors…
  • Human-specific promoters of olfactory receptors.

Experimental

  • De-orphanise some receptors of interest: find a ligand (Gustincich lab).
  • Confirm expression by proteomics.

Observations

  • Olfr933 is expressed in the mouse pancreas.
  • OR51E1 / Olfr558 is expressed in various human tissues (and very strongly in to carcinoma lines), and in the mouse heart plus various other tissues. Human / mouse association by liftover.
  • OR51E2 / Olfr78 is broadly expressed in human and mouse.

Expression atlas of mouse olfactory receptors

Generate a table in "long" format.

../references/Plessy-2010.100bp.bed is derived from Plessy et al., 2012.

For mm9.ctss.bed.gz, see User:Plessy#Whole-genome_BED_files.

cat ../references/Plessy-2010.100bp.bed |
  while read chr start end name score strand;
  do
    tabix /home/charles/public_html/F5/tabix/FREEZE_PHASE1.1/mm9.ctss.bed.gz ${chr}:${start}-${end} |
      awk -v strand=$strand '{if ($6 == strand) print}' |
       sort -k4 |
       groupBy -g 4 -c 5 -ops sum |
       sed "s/^/$name\t/"
  done |
    perl -ne 'print unless /\t0/' |
    sort --field-separator "$(printf "\t")" -nk1.5,1 -k2,2 > mm9.freeze1.1.long.tsv

Load, reshape, and annotate

In R
olf_file <- 'mm9.freeze1.1'
o.long  <- read.table(paste(olf_file, 'long.tsv', sep='.'), col.names=c('name', 'lib', 'value'))

library(reshape)
o <- data.frame(cast(o.long, lib ~ name, sum))
rownames(o) <- o$lib
o <- o[,-1]

write.csv(o, file=paste(olf_file, 'csv', sep='.'))
write.table(rownames(o), file=paste(olf_file, 'annot', sep='.'), row.names=F, quote=F, col.names=F)
In shell
for lib in $(cat mm9.freeze1.1.annot)
do
  echo -ne "$lib\t"
  CNhs-desc $lib
done |
  sponge mm9.freeze1.1.annot
In R
o.annot <- read.delim(paste(olf_file, 'annot', sep='.'), sep='\t', col.names=c("lib", "contents"), stringsAsFactors=FALSE, head=FALSE, row.names=1)
o.annot$contents.long <- paste(rownames(o.annot), o.annot$contents)
o.annot$contents.long <- paste(o.annot$contents, rownames(o.annot)) 
rownames(o) <- o.annot[rownames(o),'contents.long']
o.colhigh <- colSums(o) > summary(colSums(o))[5]
o.rowhigh <- rowSums(o) > summary(rowSums(o))[5]
heatmap(prop.table(as.matrix(o),1)[o.rowhigh, o.colhigh])
heatmap(prop.table(as.matrix(o),1))
heatmap(log(prop.table(as.matrix(o + 1),1))[o.rowhigh, o.colhigh])
heatmap(log(prop.table(as.matrix(o[order(rownames(o)),]),1)+0.0000001), col=rainbow(16), Rowv=NA, Colv=NA)