Hi
I have been trying to follow this tut (http://www.bioconductor.org/help/workflows/gene-regulation-tfbs/#sequence-search) and apply it to working with some gene in Arabidopsis.
I try this:
library(MotifDb)
library(seqLogo)
library(motifStack)
library(Biostrings)
library(GenomicFeatures)
library(org.At.tair.db)
library(BSgenome.Athaliana.TAIR.TAIR9)
library(TxDb.Athaliana.BioMart.plantsmart25)
myb108 <- "AT3G06490"
chrommyb108.loc <- transcriptsBy(TxDb.Athaliana.BioMart.plantsmart25, by="gene") [myb108]
promoter.myb108 <- getPromoterSeq(chrommyb108.loc , Athaliana, upstream=1000, downstream=0)
Error in .getOneSeqFromBSgenomeMultipleSequences(x, name, start, NA, width, :
sequence 3 not found
In addition: Warning message:
In .Seqinfo.mergexy(x, y) :
The 2 combined objects have no sequence levels in common. (Use
suppressWarnings() to suppress this warning.)
So I had a look at the seqinfo for a few objects namelyTxDb.Athaliana.BioMart.plantsmart25 and Athaliana and I noticed that the chromosome names differ along with the isCircular statement for the last chromosome:
> seqinfo(TxDb.Athaliana.BioMart.plantsmart25)
Seqinfo object with 7 sequences (1 circular) from an unspecified genome:
seqnames seqlengths isCircular genome
1 30427671 FALSE <NA>
2 19698289 FALSE <NA>
3 23459830 FALSE <NA>
4 18585056 FALSE <NA>
5 26975502 FALSE <NA>
Mt 366924 TRUE <NA>
Pt 154478 FALSE <NA>
> seqinfo(Athaliana)
Seqinfo object with 7 sequences (2 circular) from TAIR9 genome:
seqnames seqlengths isCircular genome
Chr1 30427671 FALSE TAIR9
Chr2 19698289 FALSE TAIR9
Chr3 23459830 FALSE TAIR9
Chr4 18585056 FALSE TAIR9
Chr5 26975502 FALSE TAIR9
ChrM 366924 TRUE TAIR9
ChrC 154478 TRUE TAIR9
I wondered if I am perhaps using the wrong TxDb? Are there any others I should be using?
Anyway I could get this to work?
Hi,
Unfortunately the
isCircular()
setter is currently broken on TxDb objects so I'm also going to look at this one. In the meantime, the workaround is to use it on any GRanges or GRangesList object you extract from the TxDb object (e.g.chrommyb108.loc
) before you do anything with the object (like callinggetPromoterSeq()
).Cheers,
H.
This seems to have solved the problem:
Hi oliwindram,
Just to let you know that in BioC 3.2 (released 2 days ago),
works and does the right thing.
Modifying the sequence circularity flags of a TxDb object with e.g.
is still not supported though but will be soon.
Cheers,
H.
I meant
seqlevelsStyle
instead ofseqlevels
in the above code. I edited the code.H.