名前が 1 文字だけで異なるファイルのペアが 384 個あります。これは、シーケンサーレーン1とレーン2のfastqファイルを表します。これを分析する前に、各ペアを接続する必要があります。
AA01_S1_L001_R1_001.fastq.gz
そしてAA01_S1_L002_R1_001.fastq.gz
最後までDH12_S384_L002_R1_001.fastq.gz
。 L002をL001に追加し、分析のために同じディレクトリに384の新しいファイルを作成したいと思います。
Rでこれを実行しようとしているときに使用しているパッケージが古くなっています。私はこれがUnixではマイナーなことだと思いましたが、Unixについてはまったくわからない人です。
問題を修正するための編集:インデックスが作成されていないgzipファイルのようです。以下の出力を参照してください。どんなインデックスも必要ないと思います。最後にそうです。ペア間の唯一の違いはL001とL002であり、出力名は実際にはL001(兄弟ディレクトリにパイプされている)の名前を持つ必要があります。
gzip -cd AA01_S1_L001_R1_001.fastq.gz | head
@D00572:249:HT7WJBCXX:1:1106:8558:1978 1:N:0:AAGACTCTT+AAGGTGTTT
CAGCACCCATGACCGTGCCATTGCTCTCCTTGTCAAAGACACGCAGGCCC
+
DDDDDIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIII
@D00572:249:HT7WJBCXX:1:1106:12310:1984 1:N:0:AAGACTCTT+AAGGTGTTT
CCAAAGTCTCAGGACCAACAGGAATTTTGATTGGTGCACCAGAATCCAGT
+
DDDDDHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIHIIIIIIIIIIIH
@D00572:249:HT7WJBCXX:1:1106:12936:1969 1:N:0:AAGACTCTT+AAGGTGTTT
NAAAGGACCTTGATCTCTTCCTCATATCTGTCTTCCTTCTGCGAGTACTT
ベストアンサー1
圧縮されたファイルはgzip
(圧縮されている間)簡単に互いにリンクできるため、最初にファイルを解凍する必要はありません。圧縮されたリンクファイルを解凍すると、リンクされた圧縮されていないデータが得られます。少なくともそれは本当ですxz
。
接続のためにすべてのファイルを繰り返し、対応するファイルL001
名のペアを作成し、両方のファイルを新しいディレクトリの1つのファイルにリンクできます。
mkdir output_dir
for name in *_L001_R1_001.fastq.gz; do
other="${name/_L001/_L002}"
cat "$name" "$other" >output_dir/"$name"
done
ここで、${name/_L001/_L002}
文字列の最初の項目は値に置き換えられ、対応するファイルのペアが生成されます。この他のファイル名は変数に保存されます。_L001
_L002
$name
$other
両方のファイルをリンクし、cat
結果をoutput_dir
ディレクトリの新しいファイルに書き込みます。元のファイルはそのまま残ります。
bash
ksh93
これはorのようなシェルがあると仮定します${parameter/pattern/string}
。