引用: Haoyu Chao、Zhuojin Li、Dijun Chen、Ming Chen、iSeq: 公開配列データを取得するための統合ツール、バイオインフォマティクス、2024;、btae641、https://doi.org/10.1093/bioinformatics/btae641
iSeq は、 GSA 、 SRA 、 ENA 、およびDDBJデータベースからシーケンス データとメタデータをダウンロードできる Bash スクリプトです。 iSeq のパイプラインの詳細を参照してください。 iSeq の基本的なパイプラインは次のとおりです。
重要
iSeq を使用するには、システムがネットワークに接続され、 FTP、HTTP、および HTTPS プロトコルをサポートしている必要があります。
-s
、 --speed
オプション(デフォルト: 1000 MB/秒)。 iseq -i SRR7706354 -s 10
などsra-tools=2.11
からsra-tools>=2.11.0
に更新されました。 FASTQ ファイルをマージするための新しい-e
オプション: Experiment (-e ex)
、 Sample (-e sa)
、またはStudy (-e st)
ごとに複数の FASTQ ファイルを 1 つのファイルにマージする-e
オプションを追加しました。
入力用の新しい-i
オプション: iSeq
、 -i fileName
による入力として複数のアクセッション番号を含むfile
を受け入れることができるようになりました。
GSA メタデータ ダウンロードの API の変更: GSA メタデータをダウンロードするための API エンドポイントがgetRunInfo
からgetRunInfoByCra
に更新されました。
結果を個人ディレクトリに保存: -o
オプションにより、出力結果がユーザーの個人ディレクトリに保存されます。
SAMC マッチングの更新された正規表現: SAMC のマッチング パターンがSAMC[AZ]?[0-9]+
からSAMC[0-9]+
に変更されました。
いくつかのバグを修正
conda install bioconda::iseq
# Use the following command to check whether dependent software is installed
iseq --version
iseq -i PRJNA211801
-a
を使用して Aspera でバッチ ダウンロードし、 -g
を使用して gzip 形式の FASTQ ファイルを直接ダウンロードします。 iseq -i SRR_Acc_List.txt -a -g
$ iseq --help
Usage:
iseq -i accession [options]
Required option:
-i, --input [text|file] Single accession or a file containing multiple accessions.
Note: Only one accession per line in the file, all accessions must be from the same database.
Optional options:
-m, --metadata Skip the sequencing data downloads and only fetch the metadata for the accession.
-g, --gzip Download FASTQ files in gzip format directly (*.fastq.gz).
Note: if *.fastq.gz files are not available, SRA files will be downloaded and converted to *.fastq.gz files.
-q, --fastq Convert SRA files to FASTQ format.
-t, --threads int The number of threads to use for converting SRA to FASTQ files or compressing FASTQ files (default: 8).
-e, --merge [ex|sa|st] Merge multiple fastq files into one fastq file for each Experiment, Sample or Study.
-d, --database [ena|sra] Specify the database to download SRA sequencing data (default: ena).
Note: new SRA files may not be available in the ENA database, even if you specify "ena".
-p, --parallel int Download sequencing data in parallel, the number of connections needs to be specified, such as -p 10.
Note: breakpoint continuation cannot be shared between different numbers of connections.
-a, --aspera Use Aspera to download sequencing data, only support GSA/ENA database.
-s, --speed int Download speed limit (MB/s) (default: 1000 MB/s).
-o, --output text The output directory. If not exists, it will be created (default: current directory).
-h, --help Show the help information.
-v, --version Show the script version.
-i
、 --input
ダウンロードしたいアクセッションを入力します。複数のアクセッションを含むファイルを入力することもできます (ファイル内の 1 行につき 1 つのアクセッションのみ、すべてのアクセッションは同じデータベースからのものである必要があります)。
iseq -i PRJNA211801
まず、 iSeq はアクセッションのメタデータを取得し、次にその中に含まれる各 Run のダウンロードに進みます。
現在、次の5 つのデータベースから6 つのアクセッション形式をサポートしており、サポートされているアクセッション プレフィックスは次のとおりです。
データベース | バイオプロジェクト | 勉強 | バイオサンプル | サンプル | 実験 | 走る |
---|---|---|---|---|---|---|
GSA | PRJC | CRA | SAMC | CRX | CRR | |
SRA | プラジナ | 希望小売価格 | サムン | SRS | SRX | SRR |
恵那 | プラジェブ | ERP | 同じ | ERS | ERX | エラー |
DDBJ | PRJDB | DRP | SAMD | DRS | DRX | 防災 |
ジオ | GSE | GSM |
さらに、GEO データベースから 2 つのデータ形式 ( GSE/GSM
) の場合、関連付けられたPRJNA/SAMN
直接取得し、含まれる Run の取得とシーケンス データのダウンロードに進みます。したがって、本質的には、引き続き SRA データベースからシーケンス データをダウンロードします。
以下にいくつかの例を示します。
受入タイプ | プレフィックス | 例 |
---|---|---|
バイオプロジェクト | PRJEB、PRJNA、PRJDB、PRJC、GSE | PRJEB42779、PRJNA480016、PRJDB14838、PRJCA000613、GSE122139 |
勉強 | ERP、DRP、SRP、CRA | ERP126685、DRP009283、SRP158268、CRA000553 |
バイオサンプル | サムド、セイム、サムン、SAMC | SAMD00258402、SAMEA7997453、SAMN06479985、SAMC017083 |
サンプル | ERS、DRS、SRS、GSM | ERS5684710、DRS259711、SRS2024210、GSM7417667 |
実験 | ERX、DRX、SRX、CRX | ERX5050800、DRX406443、SRX4563689、CRX020217 |
走る | エラー、DRR、SRR、CRR | ERR5260405、DRR421224、SRR7706354、CRR311377 |
要約すると、6 つのオプションのうちアクセションのデータ形式に関係なく、最終的には含まれる各 Run のMD5 値をダウンロードしてチェックします。 MD5 値がパブリック データベースの値と一致しない場合、最大3 ラウンドの再ダウンロードが試行されます。 3 回のダウンロードと検証の試行後に成功すると、ファイル名がsuccess.log
に保存されます。それ以外の場合、ダウンロードが失敗した場合、ファイル名はfail.log
に保存されます。
-m
、 --metadata
アクセッションのサンプル情報のみをダウンロードし、シーケンスデータのダウンロードをスキップします。
iseq -i PRJNA211801 -m
iseq -i CRR343031 -m
したがって、 -m
パラメータの使用の有無に関わらず、アクセッションのサンプル情報が取得されます。メタデータを取得できない場合、 iSeqプログラムは次のダウンロードに進まずに終了します。
注記
注 1 : 取得したアクセッションがSRA/ENA/DDBJ/GEOデータベースにある場合、 iSeq は最初に ENA データベースを検索します。サンプル情報を取得できる場合は、ENA API 経由でメタデータをTSV
形式でダウンロードします。通常は 191 列が含まれます。ただし、SRA データベース内で最近リリースされた一部のデータは、ENA データベースにすぐに同期されない場合があります。したがって、ENA データベースからメタデータを取得できない場合、 iSeq はSRA データベース バックエンド経由で、通常 30 列を含むメタデータをCSV
形式で直接ダウンロードします。 TSV 形式との一貫性を維持するために、 sed -i 's/,/t/g'
を使用して TSV 形式に変換されます。ただし、単一フィールドにカンマが含まれている場合、列の乱れが発生する可能性があります。最終的に、 ${accession}.metadata.tsv
という名前のサンプル情報を取得します。
注記
注 2 : 取得したアクセッションがGSAデータベースにある場合、 iSeq はGSA の getRunInfo インターフェイスを介してサンプル情報を取得し、通常 25 列を含むメタデータをCSV
形式でダウンロードします。上記で取得したメタデータは${accession}.metadata.csv
として保存されます。より詳細なメタデータ情報を補足するために、iSeq は、GSA の exportExcelFile インターフェイスを介してアクセッションが属するプロジェクトのメタデータ情報を自動的に取得し、メタデータをXLSX
形式でダウンロードします (通常、 Sample
、 Experiment
、 Run
の 3 つのシート)。最終的なメタデータ情報は${accession}.metadata.xlsx
として保存されます。要約すると、最終的に${accession}.metadata.csv
およびCRA*.metadata.xlsx
という名前のサンプル情報を取得します。
-g
、 --gzip
FASTQ ファイルをgzip 形式で直接ダウンロードします。直接ダウンロードできない場合は、SRA ファイルがダウンロードされ、分解と圧縮にマルチスレッドを使用して gzip 形式に変換されます。
iseq -i SRR1178105 -g
GSAデータベースに直接保存されているデータ形式の大部分は gzip 形式であるため、検索されているアクセッションが GSA データベースからのものである場合は、 -g
パラメータが使用されているかどうかに関係なく、FASTQ ファイルを gzip 形式で直接ダウンロードできます。
アクセスがSRA/ENA/DDBJ/GEOデータベースからのものである場合、 iSeq は最初に ENA データベースへのアクセスを試みます。 FASTQ ファイルを gzip 形式で直接ダウンロードできる場合は、ダウンロードします。それ以外の場合は、SRA ファイルをダウンロードし、 fasterq-dump
ツールを使用して FASTQ 形式に変換し、次にpigz
ツールを使用して FASTQ ファイルを圧縮し、最終的に gzip 形式の FASTQ ファイルを取得します。
ヒント
Parallel-fastq-dump は SRA を gzip 圧縮された FASTQ ファイルに変換することもでき、通常はfasterq-dump + pigz
より2 ~ 3 倍高速です。ただし、 IO 制限を考慮して、 iSeq
現在、 parallel-fastq-dump
サポートしていません。
-q
、 --fastq
SRA ファイルをダウンロードすると、複数の非圧縮 FASTQファイルに分解されます。
iseq -i SRR1178105 -q
このパラメータは、アクセスがSRA/ENA/DDBJ/GEOデータベースからのものであり、ダウンロードされたファイルがSRA ファイルである場合にのみ有効です。 SRA ファイルをダウンロードした後、 iSeq はfasterq-dump
ツールを使用して SRA ファイルを FASTQ ファイルに変換します。さらに、 -t
パラメーターを使用して、変換するスレッドの数を指定できます。
注記
注1 : -q
、ファイルをI1
、 R1
、 R2
、 R3
の 4 つの部分に効果的に分解できるため、単一細胞データ、特に scATAC-Seq データのダウンロードに特に役立ちます。ただし、 -g
パラメータを使用して FASTQ ファイルを直接ダウンロードすると、 R1
およびR3
ファイルのみが取得されるため (SRR13450125 など)、その後のデータ分析中に問題が発生する可能性があります。
注記
注 2 : -q
と-g
一緒に使用すると、SRA ファイルが最初にダウンロードされ、次にfasterq-dump
ツールを使用してFASTQ
ファイルに変換され、最後にpigz
を使用して gzip 形式に圧縮されます。 FASTQ
ファイルを gzip 形式で直接ダウンロードすることはありません。これは、包括的な単一細胞データを取得するのに非常に役立ちます。
-t
、 --threads
SRA ファイルを FASTQ ファイルに解凍するか、FASTQ ファイルを圧縮するために使用するスレッドの数を指定します。デフォルト値は8
です。
iseq -i SRR1178105 -q -t 10
シーケンス データ ファイルは一般に大きいことを考慮して、 -t
パラメーターを使用して分解のスレッド数を指定できます。ただし、過剰なスレッドはCPU や IO の負荷を高める可能性があり、特にfasterq-dump
かなりの量の IO を消費し、他のタスクの実行に影響を与える可能性があるため、スレッドが多いほど必ずしもパフォーマンスが向上するとは限りません。ベンチマーク評価に基づいて、最大スレッド数は 15 をお勧めします。
-e
、 --merge
実験 ( ex
)、サンプル ( sa
)、または研究 ( st
) ごとに、複数の FASTQファイルを1 つの FASTQファイルにマージします。
iseq -i SRX003906 -g -e ex
ほとんどの場合、実験には 1 つの実行のみが含まれますが、一部のシーケンシング データには実験内に複数の実行が含まれる場合があります (SRX003906、CRX020217 など)。したがって、 -e
パラメーターを使用して、実験からの複数の FASTQ ファイルを 1 つにマージできます。 fastq_1
とfastq_2
ファイルを同時にマージする必要があり、対応する行のシーケンス名が一貫している必要があるペアエンド シーケンスを考慮すると、 iSeq は複数の FASTQ ファイルを同じ順序でマージします。最終的に、シングルエンドシーケンス データの場合は 1 つのファイルSRX*.fastq.gz
が生成され、ペアエンドシーケンス データの場合は 2 つのファイルSRX*_1.fastq.gz
およびSRX*_2.fastq.gz
が生成されます。 。
注記
注 1 : アクセッションがRun IDの場合、 -e
パラメータは使用できません (下記を参照)。現在、 iSeq は、gzip 圧縮された FASTQ ファイルと非圧縮の FASTQ ファイルの両方のマージをサポートしていますが、 BAM ファイルや tar.gzファイルなどのファイルのマージはサポートしていません。
-e ex
: 同じ実験のすべての fastq ファイルを 1 つの fastq ファイルにマージします。受け入れられるアクセッション形式: ERX, DRX, SRX, CRX
。-e sa
: 同じサンプルのすべての fastq ファイルを 1 つの fastq ファイルにマージします。受け入れられるアクセッション形式: ERS, DRS, SRS, SAMC, GSM
。-e st
: 同じスタディのすべての fastq ファイルを 1 つの fastq ファイルにマージします。受け入れられたアクセッション形式: ERP, DRP, SRP, CRA
。 注記
注 2 : 通常、実験に Run が 1 つだけ含まれている場合、同一の Run には同じプレフィックスが必要です。たとえば、 SRR52991314_1.fq.gz
とSRR52991314_2.fq.gz
には同じプレフィックスSRR52991314
が付いています。この場合、 iSeq はそれらの名前をSRX*_1.fastq.gz
およびSRX*_2.fastq.gz
に直接変更します。ただし、Run CRR007192
に異なるプレフィックスを持つファイルが含まれる CRX006713 などの例外もあります。このような場合、 iSeq はファイルの名前をSRX*_original_filename
に変更します。たとえば、 CRX006713_CRD015671.gz
およびCRX006713_CRD015672.gz
に名前が変更されます。
-d
、 --database
ENAおよびSRAデータベースをサポートする、SRA ファイルをダウンロードするためのデータベースを指定します。
iseq -i SRR1178105 -d sra
デフォルトでは、 iSeq は利用可能なデータベースを自動的に検出するため、通常は-d
パラメータを指定する必要はありません。ただし、一部の SRA ファイルは ENA データベースからのダウンロードに時間がかかる場合があります。このような場合、 -d sra
を指定すると、SRA データベースからのダウンロードを強制できます。
注記
注: 対応する SRA ファイルがENAデータベースに見つからない場合、 -d ena
パラメータが指定されている場合でも、 iSeq はSRAデータベースからのダウンロードに自動的に切り替わります。
-p
、 --parallel
マルチスレッドのダウンロードを有効にし、スレッド数を指定する必要があります。
iseq -i PRJNA211801 -p 10
場合によってはwget
遅くなる可能性があることを考慮して、 -p
パラメーターを使用して、 iSeq がマルチスレッドのダウンロードにaxel
ツールを利用できるようにすることができます。
注記
注 1 : マルチスレッド ダウンロードの再開可能ダウンロード機能は、同じスレッド内でのみ有効です。つまり、最初のダウンロードに-p 10
パラメーターを使用した場合、再開可能なダウンロードを有効にするために 2 回目のダウンロードでもこのパラメーターを使用する必要があります。
注記
注 2 : 前述したように、 iSeq はダウンロード プロセス全体を通じて 10 個の接続を維持します。したがって、ダウンロード プロセス中に、同じConnection * finished
が複数回ポップアップ表示されます。これは、ダウンロードの完了直後に一部の接続が解放され、その後ダウンロードのために新しい接続が確立されるためです。
-a
、 --aspera
ダウンロードには Aspera を使用してください。
iseq -i PRJNA211801 -a -g
Aspera はダウンロード速度が速いため、 -a
パラメーターを使用して、ダウンロードにascp
ツールを使用するようにiSeqに指示できます。残念ながら、Aspera のダウンロードは現在、 GSA データベースと ENA データベースでのみサポートされています。 NCBI SRAデータベースは、主に Google Cloud および AWS クラウド テクノロジーを採用しているため、およびその他の理由により、ダウンロードに Aspera を利用できません。「ascp の使用を避ける」を参照してください。
注記
注 1 : GSAデータベースにアクセスするときに、 Huawei Cloudからのダウンロード リンクが利用可能な場合、 -a
パラメーターが使用されている場合でも、 iSeq はHuawei Cloud 経由のダウンロードを優先します。これは、Huawei Cloud がより高速で安定したダウンロード速度を提供するためです。したがって、GSA データをダウンロードするときは、 -a
パラメータを使用することをお勧めします。これにより、Huawei Cloud にアクセスできない場合でも、Aspera チャネルを介したダウンロードが比較的高速になります。それ以外の場合は、遅い方法であるwget
またはaxel
介してダウンロードする必要があります。
注記
注 2 : Asper
a にはキー ファイルが必要なため、 iSeq はconda
環境または~/.aspera
ディレクトリでキー ファイルを自動的に検索します。キーファイルが見つからない場合はダウンロードできません。
-o
、 --output
出力ディレクトリ。存在しない場合は作成されます (デフォルト: 現在のディレクトリ)。
-s
、 --speed
Wget
、 AXEL
、およびAspera
のダウンロード速度制限 (MB/秒) (デフォルト: 1000 MB/秒)。
出力 | 説明 |
---|---|
SRA ファイル | -q オプションを使用して FASTQ ファイルに変換できます |
.metadata.tsv | クエリ登録用のメタデータ |
成功のログ | ダウンロードが成功したSRAファイル名を保存します。 |
失敗ログ | ダウンロードしたSRAファイル名の保存に失敗しました |
出力 | 説明 |
---|---|
GSA ファイル | ほとんどは *.gz 形式で、一部は bam/tar/bz2 形式です |
.metadata.csv | クエリ登録用のメタデータ |
.metadata.xlsx | xlsx 形式のクエリ アクセションを含むプロジェクトのメタデータ |
成功のログ | 正常にダウンロードされたGSAファイル名を保存します。 |
失敗ログ | ダウンロードしたGSAファイル名の保存に失敗しました |
iSeq は、fastq-dl、fetchngs、pysradb、Kingfisherからインスピレーションを受けました。これらの優れたツールも非常に役立つ場合があります。以下は、さまざまなソフトウェアの複数の比較です。
ソフトウェア名 | プログラム言語 | サポートされているデータベース | サポートされているアクセッション | サポートされている形式 | サポートされているメソッド | メタデータの取得 | MD5チェック | 再開可能なダウンロード | 並列ダウンロード | FASTQ をマージする | ダウンロードをスキップする | Conda インストール可能 | URL |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
iSeq | シェル | GSA、SRA、ENA、DDBJ、GEO | 全て | fq、fq.gz、sra、bam | wget、アクセル、アスペラ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ? |
エッジターボ | C | GSA | 全て否定されました | fq、fq.gz、バム | エッジターボダウンロード | ✔ | ? | ||||||
SRA ツールキット | C | SRA、ENA、DDBJ | 実行 ID を除いてすべて拒否されました | fq、fq.gz、sra | プリフェッチ | ✔ | ✔ | ✔ | ✔ | ? | |||
enaブラウザツール | パイソン | SRA、ENA、DDBJ | GSA/GEO ID を除くすべて | fq、fq.gz、sra | URLlib、アスペラ | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
fastq-dl | パイソン | SRA、ENA、DDBJ | GSA/GEO ID を除くすべて | fq、fq.gz、sra、sra.lite | ウィゲット | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
取ってくる | パイソン | SRA、ENA、DDBJ、GEO | GSA ID を除くすべて | fq、fq.gz | wget、aspera、プリフェッチ | ✔ | ✔ | ✔ | ✔ | ? | |||
ピスラドブ | パイソン | SRA、ENA、DDBJ、GEO | GSA ID を除くすべて | fq、fq.gz、sra、bam | リクエスト、アスペラ | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
カワセミ | パイソン | SRA、ENA、DDBJ | GSA/GEO ID を除くすべて | fq、fq.gz、sra | カール、aria2c、アスペラ | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
FFQ | パイソン | SRA、ENA、DDBJ、GEO | GSA ID を除くすべて | fq、fq.gz、sra、bam | リクエスト | ✔ | ✔ | ✔ | ? |
iSeqへの貢献は大歓迎です!ご提案、バグレポート、機能リクエストがある場合は、プロジェクトの GitHub リポジトリで問題を開いてください。コードを提供したい場合は、リポジトリをフォークして変更を加え、プル リクエストを送信してください。
引用: https://doi.org/10.1101/2024.05.16.594538
このプロジェクトは MIT ライセンスに基づいてライセンスされています。