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 개의 코어, 256GB의 메모리를 가진 매우 강력한 서버를 가지고 있습니다. 우리 클러스터 중 하나를 사용하는 대신 코어를 통해이 머신에서 수행합니다.
한 컴퓨터에서 눈이 내리는 소켓 클러스터를 사용할 수 있습니다 (기본값은 'localhost'입니다). –
부모가 자식에서 데이터를 검색하려고 할 때 데이터가 원시 형식의 벡터로 변환되고 벡터의 길이가 가장 긴 벡터 2^31 - 1보다 길기 때문에 오류가 발생합니다. 함수를 더 많이 움직여보십시오. 결과는 큰 데이터의 '감소'입니다. –
감사합니다 톤 마틴! 나는이 문제와 관련이있을 수 있다고 생각했지만 다른 오류 메시지가 나타날 것이라고 생각했다. 'R_len_t'를 사용하지 않으면 다시 못생긴 머리가됩니다. 우리가 이것을 길게 설정하고 끝내면 좋을 것입니다. – Vince