2016-07-11 9 views
0

私は2つのLarge DNAStringSetオブジェクトを持っています。それぞれに2805のエントリがあり、それぞれの長さは201です。単純に結合したいので、それぞれがこのサイズなので2805のエントリを持っていますが、オブジェクト、両方の組み合わせRのサンプルあたり2つのDNAStringSetシーケンスを連結する方法は?

私は1127610個の要素を持つ単一のLarge DNAStringオブジェクトを作成し、これは私が欲しいものではありません、この

s12 <- c(unlist(s1), unlist(s2)) 

しかしを実行しようとしました。私は単なるサンプルごとに組み合わせたいと思う。

EDIT:s1s2という名前の私のDNASTringSetオブジェクトで

各エントリに、このような形式があります:あなたの目標は、各リスト要素があるリストを返すことがある場合は

width seq 
[1] 201 CCATCCCAGGGGTGATGCCAAGTGATTCCA...CTAACTCTGGGGTAATGTCCTGCAGCCGG 
+0

は、これはあなたが402の長さを有し、それぞれが長さ2805とのリストをしたいということですか? – lmo

+0

あなたはどのパッケージを使用していますか? – Axeman

+0

あなたは2805行と2列のテーブルを目指していますか?各エントリは201ヌクレオチドのDNA文字列ですか? –

答えて

1

を各リスト要素の長さが402である長さ2805のリストで拘束された元のリストから対応するリスト要素を連結すると、Mapでこれを達成できます。ここでは、小さなペアのリストを使用した例を示します。

# set up the lists 
set.seed(1234) 
list.a <- list(a=1:5, b=letters[1:5], c=rnorm(5)) 
list.b <- list(a=6:10, b=letters[6:10], c=rnorm(5)) 

各リストはMapcでリスト位置によってリストを連結し、今の長さ5のベクトルで3つの要素が含まれています

Map(c, list.a, list.b) 
$a 
[1] 1 2 3 4 5 6 7 8 9 10 

$b 
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" 

$c 
[1] -1.2070657 0.2774292 1.0844412 -2.3456977 0.4291247 0.5060559 
    -0.5747400 -0.5466319 -0.5644520 -0.8900378 

あなたの問題のためにあなたがそれを説明してきたように、あなたは

s12 <- Map(c, s1, s2) 

Mapの最初の引数を使用することで何をすべきかを伝えますMap機能ですあなたが与えたリスト項目。これらのリスト項目の上にはaとbがあり、例ではs1とs2です。

+0

はい、私はそれだけを望みますが、あなたのアプローチは私のためには機能しません。私はこれを試しました、 's12 < - DNAStringSet()'は他の2つの連結を格納する新しいオブジェクトにしました。次に、 'Map(s12、s1、s2)'を実行しました。エラーが発生しました。エラーが発生しました。エラーが発生しました。エラーが発生しました。エラーが発生しました。エラー:get(as.character(FUN)、mode = "function"、envir = envir): 'function'モードのオブジェクト 'f'が見つかりません。上記のように 'DNAStringSet'オブジェクトに取り組んでいることに注意してください。 – typos

+0

しかし、連結機能とは何ですか?私はちょうど純粋にそれらを連結したいと思います。私は 's1'の最初のシーケンスの最後に、' s2'の最初のシーケンスを連結したい、2番目のシーケンスを2番目に、3番目を3番目に連結したいということです。 – typos

+0

もし 's12 < - Map(rnorm(5)、s1、s2)'を実行しても、上記のエラーメッセージが表示されます。 – typos

1

DNAStringSetを文字に変換できます。例えば:

library(Biostrings) 
set1 <- DNAStringSet(c("GCT", "GTA", "ACGT")) 
set2 <- DNAStringSet(c("GTC", "ACGT", "GTA")) 

as.character(set1) 
as.character(set2) 

その後DNAStringSetにそれらを一緒に貼り付けます。

DNAStringSet(paste0(as.character(set1), as.character(set2))) 
+0

シーケンスを連結し、 'DNAStringSet'を使用してください。連結する方法を示すことができ、' DNAStringSet'を作成するとよいでしょう。 – typos

関連する問題