Trinity前処理

遠隔作業が可能なので、時間のかかる処理を仕込みつつ。

fastq-dumpでヘッダを変えたFASTQでは、Trim Galore!(cutadapt)によるトリミングが失敗するようなので、仕方がなくTrinity(v2.5.1)が実行できるようなヘッダに書き換える以下のようなフィルタ(for_trinity.pl)を書いて処理。ペアエンドのみの対応。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#!/usr/bin/perl
my $c = 0;
my $strand = shift(@ARGV); # 1 or 2
# STDIN: fastq file
while() {
 chomp;
 if( $c++ % 4 != 0) {
  print "$_\n";
 } else {
  if(/^@SRRd+.d+s+(S+)/) {
   $id = $1;
   print "@$id/$strand\n";
  } else {
   print STDERR "invalid FASTQ format in line $c\n";
  }
 }
}

処理する際にbzip2圧縮を解くので、再圧縮する際にgzip圧縮に変更して以下のように実行。

pbzcat hoge_1.fq.bz2 | perl for_trinity.pl 1 |pigz -c > hoge_1.fq.gz
pbzcat hoge_2.fq.bz2 | perl for_trinity.pl 2 |pigz -c > hoge_2.fq.gz

Written by bonohu in misc on 火 02 1月 2018.