병렬로 인해 "오류를 열어야 합니다. 열 수 없습니다. - 읽을 수 없습니다. 해당 파일이나 디렉터리가 없습니다."

병렬로 인해 "오류를 열어야 합니다. 열 수 없습니다. - 읽을 수 없습니다. 해당 파일이나 디렉터리가 없습니다."

다음과 같이 병렬 명령을 사용해 보았습니다.

cat asm.contig.fasta | parallel -k --block 1k --recstart '>' --pipe 'blat -t=dnax -q=prot - ../swissprot.fasta out{#}.psl -noHead'

하지만 불행하게도 다음과 같은 오류가 발생했습니다.

mustOpen: Can't open - to read: No such file or directory

내가 뭘 잘못했나요?

답변1

오류는 GNU Parallel에서 발생하는 것이 아니기 때문에 blat수년 동안 사용하지 않았기 blat때문에 다음 사항에 대해 100% 확신할 수 없습니다.

-내 생각엔 당신이 그것에 대해 use를 사용할 수 없다는 것입니다 blat.

가려운 곳을 긁는 방법에는 여러 가지가 있습니다 blat. /dev/stdin표준 입력을 선입선출 방식으로 처리하기 위해 많은 시스템에서 이를 사용합니다 .

cat asm.contig.fasta | parallel -k --block 1k --recstart '>' --pipe 'blat -t=dnax -q=prot /dev/stdin ../swissprot.fasta out{#}.psl -noHead'

이를 사용하면 --fifo지원되는 모든 시스템에서 표준 입력을 fifo로 사용하는 fifo/named 파이프가 생성됩니다. 명령이 완료되면 fifo가 삭제됩니다.

cat asm.contig.fasta | parallel --fifo -k --block 1k --recstart '>' --pipe 'blat -t=dnax -q=prot {} ../swissprot.fasta out{#}.psl -noHead'

이를 사용하여 --cat1,000개의 데이터 블록을 포함하는 일반 파일을 만듭니다. 명령이 완료되면 파일이 삭제됩니다.

cat asm.contig.fasta | parallel --cat -k --block 1k --recstart '>' --pipe 'blat -t=dnax -q=prot {} ../swissprot.fasta out{#}.psl -noHead'

--cat일반적으로 가장 느리지만( --block 1k작업당 1ms 이상 예상) 거의 작동이 보장됩니다.

어느 것이 효과가 있는지 알려주세요.

관련 정보