Sorry, that's actually easier than that for defining the indices. I got confused by playing with them back and forth between the different objects. This (really) does the job:

mrna.ranges<-RangedData(
IRanges(start=position(mrna.aln),width=width(mrna.aln)),
                        space = chromosome(mrna.aln),
                        universe = "dm3",
                        indices=seq(along=mrna.aln)
)

Have a nice WE,

---------------------------------------------------------------
Nicolas Delhomme

High Throughput Functional Genomics Center

European Molecular Biology Laboratory

Tel: +49 6221 387 8426
Email: [email protected]
Meyerhofstrasse 1 - Postfach 10.2209
69102 Heidelberg, Germany
---------------------------------------------------------------



On 15 May 2009, at 15:04, Martin Morgan wrote:

Thanks Nicolas, that looks tidier! I'll talk to Michael a little to
make sure I understand everything, and then implement this probably as
a constructor (instead of coerce). Will let you; it might not be till
next week. Martin

Nicolas Delhomme <[email protected]> writes:

Hi Martin, Hi all,

The following code does what I want quite nicely:

mrna.ranges<-RangedData(
        IRanges(start=position(mrna.aln),width=width(mrna.aln)),
        space = chromosome(mrna.aln),
        universe = "dm3",
        indices=unlist(sapply(levels(chromosome(mrna.aln)),function(chr)
        {which(chromosome(mrna.aln)==chr)}),use.name=FALSE)
)

Out of my AlignedRead (mrna.aln), I create a RangedData which contains
the ranges splitted by chromosome and sorted into a RangesList. The
additional parameter: indices (the name is arbitrary) contains the
position of the corresponding read in the original mrna.aln object and
is stored in a SplitXDataFrame.

Best,

---------------------------------------------------------------
Nicolas Delhomme

High Throughput Functional Genomics Center

European Molecular Biology Laboratory

Tel: +49 6221 387 8426
Email: [email protected]
Meyerhofstrasse 1 - Postfach 10.2209
69102 Heidelberg, Germany
---------------------------------------------------------------



On 13 May 2009, at 16:53, Martin Morgan wrote:

Nicolas Delhomme <[email protected]> writes:

Hi Martin,

That's what I thought; i was just curious to learn more. Thanks for
the details!

I should have think of it, as I put it after the session info, that
most probably my second question will be invisible :-)

I paste it here again:


And is there an easy way to create a RangesList from an AlignedRead
object? I figured out how to do it, but I just want to be sure
that I
didn't miss it. If it doesn't exist, I think it would be a valuable
addition and I could contribute the few lines of code.

Sorry for missing that; I don't think there is anything built-in. We
could exchange your code about introducing something off-list, if you
like.

Martin

Best wishes,

---------------------------------------------------------------
Nicolas Delhomme

High Throughput Functional Genomics Center

European Molecular Biology Laboratory

Tel: +49 6221 387 8426
Email: [email protected]
Meyerhofstrasse 1 - Postfach 10.2209
69102 Heidelberg, Germany
---------------------------------------------------------------



On 13 May 2009, at 04:30, Martin Morgan wrote:

Hi Nicolas --

Nicolas Delhomme <[email protected]> writes:

Hi all,

Well the question is quite easy :-) What does this slot holds?
Because
it looks very different from the actual positions: i.e.

these are the 10 first ranges

sread(aln.clean[chromosome(aln.clean)=="2R"])@ranges[1:10]

It's internal to the way reads themselves are stored.
sread(aln.clean)
returns a DNAStringSet object, the ranges slot of a DNAStringSet
points to offsets into a larger DNAString.  As you show later, you
want to use position(aln.clean) for alignment information.

This representation is meant to be entirely internal to the class.
The
intention is that the user manipulate objects with defined functions
and methods (like position()). Of course the user can get at the
contents of slots with @, but there are no guarantees about what
will
be there if the user does this!.

Martin


IRanges object:
   start  end width
[1]   4141 4176    36
[2]   4177 4212    36
[3]   4357 4392    36
[4]   4465 4500    36
[5]   5113 5148    36
[6]   5365 5400    36
[7]   5401 5436    36
[8]   6049 6084    36
[9]   6301 6336    36
[10]  6373 6408    36

and these are the 10 first positions

position(aln.clean[chromosome(aln.clean)=="2R"])[1:10]
[1] 6419544 18694365 10064416 17228214 5850736 11976428 15335440
3370962
[9] 15327509  3366816

sessionInfo()
R version 2.9.0 (2009-04-17)
x86_64-unknown-linux-gnu

locale:
LC_CTYPE = en_US .UTF -8
;LC_NUMERIC = C ;LC_TIME = en_US .UTF -8
;LC_COLLATE = en_US .UTF -8
;LC_MONETARY = C ;LC_MESSAGES = en_US .UTF -8
;LC_PAPER = en_US .UTF -8
;LC_NAME = C ;LC_ADDRESS
=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods
base

other attached packages:
[1] ShortRead_1.2.0   lattice_0.17-22   BSgenome_1.12.0
Biostrings_2.12.1
[5] IRanges_1.2.1     rtracklayer_1.4.0 RCurl_0.94-1

loaded via a namespace (and not attached):
[1] Biobase_2.4.1 grid_2.9.0    hwriter_1.1   tools_2.9.0
XML_2.3-0

And is there an easy way to create a RangesList from an AlignedRead
object? I figured out how to do it, but I just want to be sure
that I
didn't miss it. If it doesn't exist, I think it would be a valuable
addition and I could contribute the few lines of code.

Best,

---------------------------------------------------------------
Nicolas Delhomme

High Throughput Functional Genomics Center

European Molecular Biology Laboratory

Tel: +49 6221 387 8426
Email: [email protected]
Meyerhofstrasse 1 - Postfach 10.2209
69102 Heidelberg, Germany

_______________________________________________
Bioc-sig-sequencing mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing

--
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793


--
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793


--
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793

_______________________________________________
Bioc-sig-sequencing mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing

Reply via email to