multicore
パッケージと大きなオブジェクトで問題が発生し続けています。基本的なアイデアは、大きな物体で読むためにBioconductor関数(readBamGappedAlignments
)を使用していることです。私はファイル名の文字ベクトルを持っており、私はmclapply
を使ってファイルをループし、それらをリストに読み込んでいます。この関数は次のようになります。大きなオブジェクトのmclapply - 「シリアル化が大きすぎて生のベクトルに格納できない」
objects <- mclapply(files, function(x) {
on.exit(message(sprintf("Completed: %s", x)))
message(sprintf("Started: '%s'", x))
readBamGappedAlignments(x)
}, mc.cores=10)
をしかし、私は次のエラーを得続ける:Error: serialization is too large to store in a raw vector
。しかし、このエラーがなければ、私は単独で同じファイルを読むことができるようです。私はこの問題hereの言及を解決なしに見つけました。
並列ソリューションの提案があれば分かります。これは並行して行う必要があります。私は雪のように見えるかもしれませんが、私はこれを行うことができます15プロセッサー、それぞれ8コアと256ギガバイトのメモリを搭載した非常に強力なサーバーを持っています。私はむしろ、私たちのクラスタの1つを使用するのではなく、コアをまたいでこのマシン上で実行します。
ソケットクラスターは、1台のマシンで使用できます(デフォルトは「localhost」)。 –
親が子からデータを取得しようとしたときに、データがタイプrawのベクトルに変換され、ベクトルがRの最長ベクトル2^31 - 1より長いため、エラーが発生します。結果はビッグデータの「削減」です。 –
ありがとう、トン・マーティン!私はそれがこれに関連する可能性があると思ったが、それは別のエラーメッセージで現れると思った。 'R_len_t'の使い方が不足しているため、再び醜い頭が...これを長く設定してやることができればそれは素晴らしいことです。 – Vince