2017-04-27 3 views
0

みましょう例えば、私は3列はbiostringパッケージに

myseq=DNAStringSet(c("ATGACGAACTGTAAAGGACTGCACGGCC", 
        "TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG", 
        "GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT")) 

を持っていると私は検索する必要があるパターンは、私が情報をコンパイルしたい

fragments= DNAStringSet(c("ACTG","AAAA")) 

counts=vcountPDict(fragments,myseq) 

です異なる列のフラグメントの見出しDNA seq、fragment、およびcountを持つ表の形式。したがって、それをうまく提示できます。

+0

です。私は 'vcountPDict'がどのように動作するのかよく知らない。 vecotrizedされていない場合は、これらの2つの機能を使用する必要があります。 – lmo

+0

その動作していません..... – user7931018

+0

あなたの最終目標は何ですか? DNAシリーズが出現するたびにカウントのベクトルを作成しようとしていますか?あなたはこれをプロットしようとしていますか? – akash87

答えて

0
library(Biostrings) 
myseq = DNAStringSet(c(
    "ATGACGAACTGTAAAGGACTGCACGGCC", 
    "TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG", 
    "GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT" 
)) 

fragments = DNAStringSet(c("ACTG","AAAA")) 
counts = vcountPDict(fragments, myseq) 

# then use command of expand.grid and name two of the columns 
a = expand.grid(seqID = myseq, pattern = fragments) 

# Another variable to account for the frequency of each pattern 
b = expand.grid(freq = counts) 
r = cbind.data.frame(a, b) 

結果は、おそらく検索用語をループに `sapply`または` lapply`を使用

> r 
             seqID pattern freq 
1    ATGACGAACTGTAAAGGACTGCACGGCC ACTG 2 
2 TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG ACTG 0 
3 GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT ACTG 1 
4    ATGACGAACTGTAAAGGACTGCACGGCC AAAA 2 
5 TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG AAAA 1 
6 GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT AAAA 0 
0

は、私はちょうどあなたが行くと

seq.counts <- colSums(sequence[,2:3]) 
seq.means <- colMeans(sequence[,2:3]) 

をするか、またはあなたが行うことができ、このここHow to take a word and create an indicator variable based on the word's presence in comments?

fragment <- c("ACTG","AAAA") 
sequence <- c("ATGACGAACTGTAAAGGACTGCACGGCC", 
       "TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG", 
       "GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT") 

sequence <- data.frame(sequence, sapply(fragment, function(i) as.numeric(grepl(i, sequence))))  
sequence 
             sequence ACTG AAAA 
1    ATGACGAACTGTAAAGGACTGCACGGCC 1 0 
2 TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG 1 1 
3 GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT 1 0 

ここからのような質問をし

になり

sequence <- data.frame(sequence, sapply(fragment, function(i) str_count(sequence, i))) 

> sequence 
            sequence ACTG AAAA 
1    ATGACGAACTGTAAAGGACTGCACGGCC 2 0 
2 TCCAACGAGAAAACCTGTGGGCACGGCCAAAACTGTTGGG 1 2 
3 GGCGGGGACAAATGTTCCATGACTGGCCTTTAAAGGCCTAGAT 1 0 

colSumsまたはcolMeansを使用できます。

+0

私は現時点での仕事にrスタジオを使用しています... – user7931018

+0

私は現在の仕事のためにスタジオを使用しています... – user7931018

関連する問題