Hi Tom,

1) Duplicate names in fasta file

You were right! Fixed.. Thanks.


2) You're right ! The seqlevels in the fasta file have an additional column with the gene description (as shown below)

> head(seqlevels(fastaCDS))
[1] "gi|584277002|ref|NM_001289933.1| Homo sapiens ZO-2 associated speckle protein (ZASP), mRNA" [2] "gi|514682097|ref|NM_001205273.2| Homo sapiens testis highly expressed protein 5 (THEG5), transcript variant 1, mRNA" [3] "gi|321400129|ref|NM_001129895.2| Homo sapiens uncharacterized LOC100128124 (HGC6.3), mRNA" [4] "gi|409104115|ref|NM_001271560.1| Homo sapiens chromosome 16 open reading frame 72-like (LOC389895), mRNA" [5] "gi|514961963|ref|NM_001278587.1| Homo sapiens uncharacterized LOC100134391 (LOC100134391), mRNA" [6] "gi|514961949|ref|NM_001278577.1| Homo sapiens testis highly expressed protein 5 (THEG5), transcript variant 4, mRNA"

> head( seqlevels(riboDat@riboGR[[1]]))
[1] "gi|161333872|ref|NR_004421.1|" "gi|335057560|ref|NR_002756.2|"
[3] "gi|261862236|ref|NM_001166278.1|" "gi|664805956|ref|NM_001300840.1|"
[5] "gi|209969817|ref|NM_001540.3|" "gi|161333875|ref|NR_004427.1|"

The flat files produced after the alignment step

bowtie ~/tools/human_rrna_hg38/hg38.rrna --un nonrRNA_sample1.fq -q sample1_trimmed.fq -p 8 > rRNA_sample1 bowtie ~/tools/full_transcriptome_index/hg19_rna_index --un unaligned_sample1.fq -q nonrRNA_sample1.fq --al aligned_sample1.fq --suppress 1,6,7,8 -p 8 > sample1


look like this -

+ gi|299523218|ref|NM_001190706.1| 382 AAACCTGCATTAAAAATTTCGGTTGGG + gi|767974393|ref|XM_006719433.2| 1129 CTAACATTCCTCAAGGGATGGTGACGGA
+       gi|214829672|ref|NM_014570.4|   1429 CGCAAGCCAGATTATGAGCCAGTTGAAAA
+ gi|767948282|ref|XM_011516409.1| 374 GCCGAAATAGGACTCATTTTAATCTTCTG + gi|767982461|ref|XR_943839.1| 1890 GGTGACCTCCCGGGAGCGGGGGACCACCAGGT
-       gi|374429547|ref|NR_046235.1|   13038 GCGCGTCCGGCGCCGTCCGTCCTTCCGTTC

and this is what is read in via riboSeqR::riboDat() - why do you think I am loosing that column ?


How do you propose I proceed ? Remove the gene description (eg: Homo sapiens ZO-2 associated speckle protein (ZASP), mRNA) ie do a renameSeqlevels on fastaCDS?

I tried the following - and I get -

old_seqlevels <- seqlevels(fastaCDS)
new_seqlevels <- gsub(" Homo sapiens.*$","", old_seqlevels)
new_seqlevels <- gsub(" PREDICTED:.*$","",new_seqlevels)
fastaCDS_renamed <- renameSeqlevels(fastaCDS, new_seqlevels)

> head(seqlevels(fastaCDS_renamed))
[1] "gi|584277002|ref|NM_001289933.1|" "gi|514682097|ref|NM_001205273.2|"
[3] "gi|321400129|ref|NM_001129895.2|" "gi|409104115|ref|NM_001271560.1|"
[5] "gi|514961963|ref|NM_001278587.1|" "gi|514961949|ref|NM_001278577.1|"


> fCs <- frameCounting(riboDat, fastaCDS_renamed)
Calling frames................done!

> fS
             26     27     28      29      30
         131836 166076 833536 2911540 2205274
          73425 122531 327252  503215  596236
          89614 153513 414387 1341278 1482810
frame.ML      0      0      0       0       0

This looks great to me!


Thanks for the great tips!
Sonali.

On 10/27/2015 8:56 AM, Tom Hardcastle wrote:
Hi Arora,

A matrix of zeros usually happens because of a mismatch between the sequence names as defined in the fasta file and those in the alignment file used to create riboDat. Can you have a look at seqlevels(riboDat@riboGR[[1]]) and compare it to seqlevels(fastaCDS)?

The other problem seems to stem from duplicated headers within the minus_rrna_transcriptome.fa file - this should be corrected in the fasta file.

Best wishes,

Tom Hardcastle


On 27/10/15 11:00, bioc-devel-requ...@r-project.org wrote:
Message: 1
Date: Mon, 26 Oct 2015 13:57:15 -0700
From: "Arora, Sonali" <sar...@fredhutch.org>
To: "bioc-devel@r-project.org" <bioc-devel@r-project.org>,    "Thomas J.
    Hardcastle" <tj...@cam.ac.uk>
Subject: [Bioc-devel] riboSeqR error - matrix of zeros output from
    riboSeqR::readingFrame()
Message-ID: <562e93ab.6080...@fredhutch.org>
Content-Type: text/plain; charset=utf-8; format=flowed

Hi Thomas,

I downloaded the fasta file from human Transcriptome and then got rid of
the rRNA'S with Biostrings to make a fasta file without the rRNA sequences.

library(Biostrings)
library(ShortRead)
rna <- readDNAStringSet("human.rna.fna")
nr_idx <- grep("NR",names(rna))
rna2 <- rna[-nr_idx,]
writeFasta(object=rna2, file="minus_rrna_transcriptome.fa")

Then I used the following to find potential coding sequences from a
fasta file - I get the following error -

humanFasta <-
file.path("~/tools/full_transcriptome_index/minus_rrna_transcriptome.fa")
fastaCDS <- findCDS(fastaFile=humanCDS, startCodon=c("ATG"),
stopCodon=c("TAG","TAA","TGA"))

Read 11265784 items
Error in .normargSeqlevels(seqnames) :
    supplied 'seqlevels' cannot contain duplicated sequence names
In addition: Warning messages:
1: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels)
else paste0(labels,  :
    duplicated levels in factors are deprecated
2: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels)
else paste0(labels,  :
    duplicated levels in factors are deprecated


I tried a different approach, instead of using the whole file - I
created a subset of the fasta sequences   -

subset_rrna2 <- rna2[1:10000, ] # from a total of 295143 sequences.
writeFasta(object=rna2, file="subset_minus_rrna_transcriptome.fa")

and then used that as -

  > humanFasta <-
file.path("~/tools/full_transcriptome_index/subset_100000_rrna_transcriptome.fa")
  > fastaCDS <- findCDS(fastaFile=humanFasta, startCodon=c("ATG"),
stopCodon=c("TAG","TAA","TGA"))
Read 3545971 items
  > fCs <- frameCounting(riboDat, fastaCDS)
Calling frames................done!
  > fS <- readingFrame(rC = fCs); fS
           26 27 28 29 30
            0  0  0  0  0
            0  0  0  0  0
            0  0  0  0  0
frame.ML  0  0  0  0  0

I get back a matrix of zero's which doesn't look right ..

Thirdly, I changed the default lengths to include more lengths(As shown
by [1]) - and I still get a matrix of zeros.

  > fCs <- frameCounting(riboDat, fastaCDS, lengths=16:42)
Calling frames................done!
  > fS <- readingFrame(rC = fCs, lengths=22:37); fS
           22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
            0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
frame.ML  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

Any idea of what I could be doing  wrong ?


  > sessionInfo()
R Under development (unstable) (2015-10-15 r69519)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.3 LTS

locale:
   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
   [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

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

other attached packages:
[1] riboSeqR_1.5.3       abind_1.4-3 GenomicRanges_1.23.1
[4] GenomeInfoDb_1.7.2   IRanges_2.5.3        S4Vectors_0.9.5
[7] BiocGenerics_0.17.0

loaded via a namespace (and not attached):
[1] zlibbioc_1.17.0 tools_3.3.0     XVector_0.11.0


Kindly advise.
Sonali.

[1] -
http://rnajournal.cshlp.org/content/suppl/2015/08/07/rna.052548.115.DC1/Supp_Fig_2.pdf


_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to