LoginSignup
3
2

ダウンロードしたsraファイルが怪しいと思ったら

Last updated at Posted at 2020-04-02

はじめに

 SRAとはncbi-sraなどで入手できる圧縮されたシーケンサーのデータである。
prefetchなどを用いて最初からfastqにすることもできるようであるが、日本の場合だとDDBJなどから、sraファイルをダウンロードして、fasterq-dump を利用するケースが多いだろう。
 とこらが、ダウンロードしたSRAファイルが壊れていないかどうか調べるのはそれほど簡単ではない。ハッシュ値みたいのも探せばあるのかも知れないがよくわからない。なのでsra-tools公式のコマンドのvdb-validateを利用する。

vdb-validate

vdb-validate コマンドはsra-toolsに含まれている。たとえばbiocondaなどでイントールできる。
使い方は簡単である。

vdb-validate SRR8888888.sra

結果のリダイレクト

気をつけなければならないのは、どうやらすべての出力が、標準エラー出力に出るところであり、結果をテキストファイルに保存したいようなときは

vdb-validate SRR8888888.sra 2> result.txt

とする必要がある。時間を記録したい場合は、

time sh -c "vdb-validate *.sra 2> vdb_validate_result.txt"

などとすればよいかも知れない。

time vdb-validate *.sra 2> vdb_validate_result.txt

でも特に問題はないが、この場合は、すべての処理が終わるまでテキストファイルに書き込まれないため、tail vdb_validate_result.txt などで途中経過をチラット観察することができない。

結果ファイルの確認

うまくいってる場合、大抵の途中経過行は ok が含まれているので

cat vdb_validate_result.txt | grep -v ok

とすれば、だいたいい感じに表示してくれるのではなかろうか。

エラーのサンプル

たとえば、こんなエラーが出る

2019-09-11T16:37:23 vdb-validate.2.9.0 info: Database 'SRR9158298.sra' metadata: md5 ok
2019-09-11T16:37:23 vdb-validate.2.9.0 info: Table 'SEQUENCE' metadata: md5 ok
2019-09-11T16:37:23 vdb-validate.2.9.0 info: Column 'ALTREAD': checksums ok
2019-09-11T16:37:23 vdb-validate.2.9.0 err: binary large object corrupt while validating binary large object within database module - Column 'QUALITY': contains bad data
2019-09-11T16:37:23 vdb-validate.2.9.0 err: binary large object corrupt while validating binary large object within database module - Database 'SRR9158298.sra' check failed
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2