압축된 fastq 파일을 병합하는 방법은 무엇입니까?

압축된 fastq 파일을 병합하는 방법은 무엇입니까?

gzip으로 압축된 fastq 파일을 병합하는 방법은 무엇입니까? 1권도 읽고 2권도 읽어봤는데

zcat file_1.fastq.gz file_2.fastq.gz | gzip > combined.fastq.gz 

그러나 그것은 나에게 동일하지 않은 읽기 수를 제공합니다. 왜?
다른 방법이 있나요?

답변1

두 파일을 결합(연결)하려면 다음을 사용하십시오 cat.

$ cat file1 file2 >file3

이러한 압축 형식의 구조로 인해 이는 gzip, 및 (다른 항목도 가능)을 사용하여 bzip2압축된 파일 에도 적용됩니다.xz

예를 들어, 두 개의 압축된 Fasta 파일(또는 연결하려는 두 개의 압축 파일)이 있다고 가정해 보겠습니다.

$ gzcat file1.fa.gz
>seq1
ACTACTACTACTACTACTACTACTACT

$ gzcat file2.fa.gz
>seq1
GATAGATAGATAGATAGATAGATAGATAAAAAAAA

압축을 풀거나 재압축하지 않고 결합했습니다.

$ cat file1.fa.gz file2.fa.gz >file3.fa.gz

결과는 결합된 압축 파일입니다.

$ gzcat file3.fa.gz
>seq1
ACTACTACTACTACTACTACTACTACT
>seq1
GATAGATAGATAGATAGATAGATAGATAAAAAAAA

어떤 방식으로든 잘못된 데이터가 제공되는 경우 원본 파일 중 하나(또는 둘 다)에 오류가 있을 수도 있습니다.

답변2

노력하다:

tar -cvzf fastq.tar.gz /path/to/all/fastqs/*.gz

아니면 tar를 건너뛰시겠습니까?

답변3

대신 이렇게 하세요:

#!/bin/bash
gzip -d $1 && gzip -d $2
1A=`sed 's/.gz//g`
2A=`sed 's/.gz//g`
cat $2A >> $1A
gzip -c $1A > $1A.gz

옮기다:

$> bash yourNewScriptIMadeForYou file1.gz file2.gz

설명하다

  • 1행에서는 환경을 Bash로 선언합니다.
  • 2행에서는 GZIP [-d]를 호출하여 아카이브를 추출합니다. "&&" 연산자는 "이것이 유효하면 다음을 수행하십시오"를 의미합니다.
  • 3-4행: 입력 $1 및 $2에서 ".gz" 접미사를 제거하기 위한 스트리밍 텍스트 처리입니다.
  • 5행: $2A의 내용을 $1A의 본문 끝에 연결합니다.
  • 6행: 첫 번째 파일 입력과 동일한 이름으로 새 GZIP 파일을 생성하거나 두 파일을 모두 포함하려는 경우...

    gzip -c $1A > $1A$2A.gz

귀하의 디렉토리 구조를 보여주시고 fastq 파일을 결합하는 방법을 설명해 주시면 귀하의 요구 사항에 완벽하게 맞는 더 나은 스크립트를 만들 수 있습니다.

관련 정보