샘플당 여러 개의 fastq 파일이 있는데, 모두 한 번에 입력으로 제공되어야 합니다. (모두 하나의 샘플에 속하기 때문에 for 루프처럼 독립적으로 처리하면 안 됩니다. 하나의 샘플에 입력되기 때문에 함께 있어야 합니다. 대하다).
이것은 간단한 예입니다. s1 샘플에는 fastq 파일이 3개만 있습니다.
NanoPlot -t 2 --fastq s1.reads1.fastq.gz s1.reads2.fastq.gz s1.reads3.fastq.g --maxlength 40000 --plots hex dot
이제 s1에 대해 100개가 넘는 fastq 파일이 있다고 가정합니다. 이 파일을 모두 입력으로 사용하도록 명령을 수정하려면 어떻게 해야 합니까?
답변1
NanoPlot
따라서 내 제안은 FASTQ 파일 목록을 포함하는 매개변수로 파일 이름을 제공 하고 프로그램에서 그에 따라 목록을 처리하는 것입니다.
NanoPlot -t 2 --fastq fastq_files.list --maxlength 40000 --plots hex dot
내용은 fastq_files.list
다음과 같습니다.
s1.reads1.fastq.gz
s1.reads2.fastq.gz
s1.reads3.fastq.gz
...etc
답변2
이것이 다음에 적용되는 경우 NanoPlot
:
NanoPlot -t 2 --fastq s1.reads1.fastq.gz s1.reads2.fastq.gz s1.reads3.fastq.gz --maxlength 40000 --plots hex dot
로 시작하고 끝나는 s1.
모든 파일 이름을 전달하려는 .fastq.gz
경우 간단한 쉘 glob도 트릭을 수행해야 합니다.
NanoPlot -t 2 --fastq s1.*.fastq.gz --maxlength 40000 --plots hex dot
쉘은 일반적인 사전식 순서로 파일 이름을 정렬하므로 숫자는 1
< 10
< 11
< 2
등으로 정렬되므로 이것이 중요하다면 주의하세요.
프로그램을 보고 싶다면하나의파일에 이러한 모든 파일의 데이터가 포함되어 있으면 Bash/ksh/zsh에서 프로세스 대체를 사용하여 cat
이 작업을 수행할 수 있습니다.
NanoPlot -t 2 --fastq <(cat s1.*.fastq.gz) --maxlength 40000 --plots hex dot