LoginSignup
0
0

特定のSRA (Sequence Read Archive) IDを使用してFASTQ形式のHi-Cデータをダウンロードするスクリプト (失敗した場合に1分後にリトライ成功するまでループ)

Posted at

この記事では、特定のSRA IDを使用してFASTQ形式のHi-Cデータをダウンロードするスクリプトの作成と実行方法について説明します。スクリプトは、失敗した場合1分後にリトライする機能を備えています。

conda仮想環境構築

まず、必要なパッケージをインストールするためのconda仮想環境を作成します。

conda create -n sra_env_x86_64 python=3.8
conda activate sra_env_x86_64

SRAtoolsのインストール

次に、SRAtoolkitを仮想環境にインストールします。

conda install -c bioconda sra-tools

インストールの確認

インストールが正しく行われたか確認するために、以下のコマンドを実行します。

fastq-dump --version

スクリプトの作成

以下のスクリプトを任意のエディタで作成し、download_fastq.shという名前で保存します。

#!/bin/bash

SRA_ID=$1
OUTPUT_DIR="/path/to/your/output_directory"
LOG_FILE="${OUTPUT_DIR}/${SRA_ID}.log"

# conda環境のアクティベート
source $(conda info --base)/etc/profile.d/conda.sh
conda activate sra_env_x86_64

while true; do
    nohup fastq-dump --split-files --outdir ${OUTPUT_DIR} ${SRA_ID} > ${LOG_FILE} 2>&1
    if [ $? -eq 0 ]; then
        echo "Download completed successfully."
        break
    else
        echo "Download failed, retrying in 1 minute..."
        sleep 60
    fi
done

実行方法

スクリプトを実行するには、ターミナルを開き、スクリプトが保存されているディレクトリに移動して以下のコマンドを実行します。

bash download_fastq.sh <SRA_ID>

<SRA_ID>の部分は、ダウンロードしたいSRAのIDに置き換えてください。

実行中の動作

スクリプトを実行すると、以下のようなメッセージがターミナルに表示されます。

  • ダウンロードが成功した場合:
    Download completed successfully.
    
  • ダウンロードが失敗し、リトライする場合:
    Download failed, retrying in 1 minute...
    

これにより、Hi-Cデータのダウンロードプロセスが自動化され、失敗した場合も再試行することで、データを確実に取得することができます。

ログファイルについて

スクリプトは、ダウンロードプロセスの詳細なログを指定されたログファイルに保存します。ログファイルのパスは、LOG_FILE変数で指定されており、各SRA IDに対応したファイル名が生成されます。これにより、ダウンロードプロセス中に発生したエラーや進行状況を確認することができます。

例えば、SRA IDがSRR123456の場合、ログファイルは/path/to/your/output_directory/SRR123456.logという名前で保存されます。ログファイルには、fastq-dumpコマンドの出力が全て記録されます。

0
0
1

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
0
0