この記事では、特定の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
コマンドの出力が全て記録されます。