Цитируйте нас : Хаоюй Чао, Чжуоджин Ли, Диджун Чен, Мин Чен, iSeq: интегрированный инструмент для получения общедоступных данных секвенирования, Биоинформатика , 2024;, btae641, https://doi.org/10.1093/bioinformatics/btae641
iSeq — это сценарий Bash, который позволяет загружать данные и метаданные секвенирования из баз данных GSA , SRA , ENA и DDBJ . См. раздел Подробности о конвейере для iSeq. Вот базовый конвейер iSeq:
Важный
Для использования iSeq ваша система должна быть подключена к сети и поддерживать протоколы FTP, HTTP и HTTPS .
-s
, --speed
для установки ограничения скорости загрузки (МБ/с) (по умолчанию: 1000 МБ/с). Например, iseq -i SRR7706354 -s 10
sra-tools=2.11
до sra-tools>=2.11.0
. Новая опция -e
для объединения файлов FASTQ : добавлена опция -e
для объединения нескольких файлов FASTQ в один файл для каждого Experiment (-e ex)
, Sample (-e sa)
или Study (-e st)
.
Новая опция -i
для ввода : iSeq
теперь может принимать file
, содержащий несколько номеров доступа, в качестве ввода с помощью -i fileName
.
Изменение API для загрузки метаданных GSA . Конечная точка API была обновлена с getRunInfo
на getRunInfoByCra
для загрузки метаданных GSA.
Сохранить результат в личном каталоге : результаты вывода теперь будут сохраняться в личном каталоге пользователя с помощью опции -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
для прямой загрузки файлов FASTQ в формате gzip с -g
. 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
Введите образец, который вы хотите загрузить. Вы также можете ввести файл, содержащий несколько образцов (только один образец в каждой строке файла, все образцы должны быть из одной и той же базы данных).
iseq -i PRJNA211801
Сначала iSeq получит метаданные образца, а затем продолжит загрузку каждого содержащегося в нем анализа.
В настоящее время поддерживается 6 форматов доступа из следующих 5 баз данных со следующими поддерживаемыми префиксами доступа:
Базы данных | БиоПроект | Изучать | Биообразец | Образец | Эксперимент | Бегать |
---|---|---|---|---|---|---|
ГСА | ПРАК | CRA | САМК | CRX | ЦRR | |
СРА | ПРЯНА | рекомендуемая розничная цена | САМН | СРС | СРХ | СРР |
ЭНА | ПРЬЕБ | ERP-система | ТАКОЙ ЖЕ | ERS | ЭРКС | ОШИБКА |
ДДБЖ | ПРЖДБ | ДРП | ДУМД | ДРС | ДРКС | СРБ |
ГЕО | Высшая школа экономики | GSM |
Кроме того, для двух форматов данных ( GSE/GSM
) из базы данных GEO он напрямую извлекает связанный PRJNA/SAMN
, затем переходит к получению содержащихся серий и загрузке данных секвенирования. Поэтому, по сути, он по-прежнему загружает данные секвенирования из базы данных SRA.
Вот несколько примеров:
Тип доступа | Префиксы | Пример |
---|---|---|
БиоПроект | ПРЕБ, ПРЯНА, ПРЖДБ, ПРЕК, ГСЭ | PRJEB42779, PRJNA480016, PRJDB14838, PRJCA000613, GSE122139 |
Изучать | ERP, DRP, SRP, CRA | ERP126685, DRP009283, SRP158268, CRA000553 |
Биообразец | САМД, ЖЕ, САМН, САМК | SAMD00258402, SAMEA7997453, SAMN06479985, SAMC017083 |
Образец | ЭРС, ДРС, СРС, GSM | ERS5684710, DRS259711, SRS2024210, GSM7417667 |
Эксперимент | ЭРХ, ДРХ, СРХ, CRX | ЭРС5050800, ДРС406443, СРС4563689, CRX020217 |
Бегать | ERR, DRR, SRR, CRR | ERR5260405, DRR421224, SRR7706354, CRR311377 |
Таким образом, независимо от формата данных вашего доступа среди шести вариантов, он в конечном итоге загрузит и проверит значение MD5 каждого содержащегося запуска. Если значение MD5 не соответствует значению в общедоступной базе данных, будет предпринята попытка максимум трех раундов повторной загрузки. В случае успеха после трех попыток загрузки и проверки имя файла будет сохранено в файле success.log
; в противном случае, если загрузка не удалась, имя файла будет сохранено в fail.log
.
-m
, --metadata
Загрузите только информацию об образце образца и пропустите загрузку данных секвенирования.
iseq -i PRJNA211801 -m
iseq -i CRR343031 -m
Таким образом, независимо от того, используется ли параметр -m
или нет, будет получена выборочная информация об элементе. Если метаданные не могут быть получены, программа iSeq завершится, не приступив к последующей загрузке.
Примечание
Примечание 1. Если полученный образец находится в базах данных SRA/ENA/DDBJ/GEO , iSeq сначала выполнит поиск в базе данных ENA. Если образец информации можно получить, он загружает метаданные в формате TSV
через API ENA, обычно содержащие 191 столбец. Однако некоторые недавно опубликованные данные в базе данных SRA могут не быть своевременно синхронизированы с базой данных ENA. Поэтому, если метаданные не могут быть получены из базы данных ENA, iSeq напрямую загрузит метаданные в формате CSV
через серверную часть базы данных SRA, обычно содержащую 30 столбцов. Чтобы обеспечить согласованность с форматом TSV, он будет преобразован в формат TSV с помощью sed -i 's/,/t/g'
. Однако если одно поле содержит запятую, это может привести к беспорядку в столбце. В конечном итоге вы получите образец информации с именем ${accession}.metadata.tsv
.
Примечание
Примечание 2. Если полученный образец находится в базе данных GSA , iSeq получит информацию об образце через интерфейс GSA getRunInfo, загружая метаданные в формате CSV
, обычно содержащем 25 столбцов. Полученные выше метаданные будут сохранены как ${accession}.metadata.csv
. Чтобы дополнить более подробную информацию о метаданных, iSeq автоматически получит информацию о метаданных для проекта, к которому принадлежит доступ, через интерфейс экспортаExcelFile GSA, загружая метаданные в формате XLSX
, обычно с 3 листами: Sample
, Experiment
, Run
. Окончательная информация метаданных будет сохранена как ${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 и преобразует их в формат FASTQ с помощью инструмента fasterq-dump
, затем сожмет файлы FASTQ с помощью инструмента pigz
, в конечном итоге получив файлы FASTQ в формате gzip.
Кончик
Parallel-fastq-dump также может конвертировать SRA в файлы FASTQ, сжатые с помощью gzip, обычно в 2-3 раза быстрее, чем fasterq-dump + pigz
. Однако, учитывая ограничения ввода-вывода , iSeq
в настоящее время не поддерживает parallel-fastq-dump
.
-q
, --fastq
После загрузки файлов SRA они будут разложены на несколько несжатых файлов FASTQ .
iseq -i SRR1178105 -q
Этот параметр действует только в том случае, если доступ осуществляется из баз данных SRA/ENA/DDBJ/GEO и загруженные файлы являются файлами SRA . После загрузки файлов SRA iSeq будет использовать инструмент fasterq-dump
чтобы преобразовать их в файлы FASTQ. Кроме того, вы можете указать количество потоков для преобразования с помощью параметра -t
.
Примечание
Примечание 1 : -q
особенно полезен для загрузки одноячеечных данных , особенно для данных scATAC-Seq, поскольку он позволяет эффективно разложить файлы на четыре части: I1
, R1
, R2
, R3
. Однако если файлы FASTQ загружаются напрямую с помощью параметра -g
, будут получены только файлы R1
и R3
(например, SRR13450125), что может вызвать проблемы при последующем анализе данных.
Примечание
Примечание 2. При совместном использовании -q
и -g
файл SRA сначала загружается, затем преобразуется в файлы FASTQ
с помощью инструмента fasterq-dump
и, наконец, сжимается в формат gzip с помощью pigz
. Он не загружает файлы FASTQ
напрямую в формате gzip, что очень полезно для получения полных данных об одной ячейке.
-t
, --threads
Указывает количество потоков, используемых для распаковки файлов SRA в файлы FASTQ или сжатия файлов FASTQ. Значение по умолчанию — 8
.
iseq -i SRR1178105 -q -t 10
Учитывая, что файлы данных секвенирования обычно имеют большой размер, вы можете указать количество потоков для декомпозиции с помощью параметра -t
. Однако большее количество потоков не обязательно означает более высокую производительность, поскольку чрезмерное количество потоков может привести к высокой загрузке ЦП или операций ввода-вывода , тем более что fasterq-dump
потребляет значительный объем операций ввода-вывода, что потенциально влияет на выполнение других задач. На основании оценки производительности мы рекомендуем максимальное количество потоков 15.
-e
, --merge
Объедините несколько файлов FASTQ в один файл FASTQ для каждого эксперимента ( ex
), образца ( sa
) или исследования ( st
).
iseq -i SRX003906 -g -e ex
Хотя в большинстве случаев эксперимент содержит только один цикл, некоторые данные секвенирования могут содержать несколько циклов в рамках эксперимента (например, SRX003906, CRX020217). Следовательно, вы можете использовать параметр -e
для объединения нескольких файлов FASTQ из эксперимента в один. Учитывая парное секвенирование, когда файлы fastq_1
и fastq_2
необходимо объединить одновременно, а имена последовательностей в соответствующих строках должны оставаться согласованными, iSeq объединит несколько файлов FASTQ в одном и том же порядке . В конечном итоге для данных одноконцевого секвенирования будет создан один файл SRX*.fastq.gz
, а для данных парного секвенирования будут созданы два файла SRX*_1.fastq.gz
и SRX*_2.fastq.gz
.
Примечание
Примечание 1. Если доступ представляет собой идентификатор запуска , параметр -e
использовать нельзя (см. ниже). В настоящее время iSeq поддерживает объединение как сжатых с помощью gzip, так и несжатых файлов FASTQ , но не поддерживает объединение таких файлов, как файлы BAM и файлы tar.gz.
-e ex
: объединить все файлы fastq одного эксперимента в один файл fastq. Принимаемый формат доступа: ERX, DRX, SRX, CRX
.-e sa
: объединить все файлы fastq одного семпла в один файл fastq. Принимаемый формат присоединения: ERS, DRS, SRS, SAMC, GSM
.-e st
: объединить все файлы fastq одного исследования в один файл fastq. Принимаемый формат доступа: ERP, DRP, SRP, CRA
. Примечание
Примечание 2. Обычно, когда Эксперимент содержит только один Запуск, идентичные Запуски должны иметь одинаковый префикс . Например, SRR52991314_1.fq.gz
и SRR52991314_2.fq.gz
имеют одинаковый префикс SRR52991314
. В этом случае iSeq напрямую переименует их в SRX*_1.fastq.gz
и SRX*_2.fastq.gz
. Однако есть исключения, например, CRX006713, где Run CRR007192
содержит файлы с разными префиксами. В таких случаях iSeq переименовывает их как SRX*_original_filename
, например, они будут переименованы в CRX006713_CRD015671.gz
и CRX006713_CRD015672.gz
.
-d
, --database
Указывает базу данных для загрузки файлов SRA, поддерживающую базы данных ENA и SRA .
iseq -i SRR1178105 -d sra
По умолчанию iSeq автоматически обнаружит доступные базы данных, поэтому указание параметра -d
обычно не требуется . Однако некоторые файлы SRA могут медленно загружаться из базы данных ENA. В таких случаях вы можете принудительно загрузить из базы данных SRA, указав -d sra
.
Примечание
Примечание . Если соответствующий файл SRA не найден в базе данных ENA , даже если указан параметр -d ena
, iSeq все равно автоматически переключится на загрузку из базы данных SRA .
-p
, --parallel
Включает многопоточную загрузку и требует указания количества потоков.
iseq -i PRJNA211801 -p 10
Учитывая, что в некоторых случаях wget
может работать медленно, вы можете использовать параметр -p
, чтобы позволить iSeq использовать инструмент axel
для многопоточной загрузки.
Примечание
Примечание 1. Функция возобновления многопоточной загрузки действует только в пределах одного потока . То есть, если параметр -p 10
используется для первой загрузки, его также необходимо использовать и для второй загрузки, чтобы включить возможность возобновления загрузки.
Примечание
Примечание 2. Как уже упоминалось, iSeq будет поддерживать 10 подключений на протяжении всего процесса загрузки. Таким образом, вы увидите несколько вхождений одного и того же Connection * finished
появится во время процесса загрузки. Это связано с тем, что некоторые соединения освобождаются сразу после завершения загрузки, а затем устанавливаются новые соединения для загрузки.
-a
, --aspera
Используйте Aspera для скачивания.
iseq -i PRJNA211801 -a -g
Поскольку Aspera предлагает более высокую скорость загрузки, вы можете использовать параметр -a
, чтобы указать iSeq использовать инструмент ascp
для загрузки. К сожалению, загрузка Aspera на данный момент поддерживается только базами данных GSA и ENA . База данных NCBI SRA не может использовать Aspera для загрузки, поскольку в ней преимущественно используются технологии Google Cloud и AWS Cloud, а также по другим причинам, см. Избегание использования-ascp.
Примечание
Примечание 1. При доступе к базе данных GSA , если доступны ссылки для загрузки из Huawei Cloud , iSeq будет отдавать приоритет загрузке через Huawei Cloud, даже если используется параметр -a
. Это связано с тем, что Huawei Cloud предлагает более быструю и стабильную скорость загрузки. Поэтому при загрузке данных GSA рекомендуется использовать параметр -a
r. Таким образом, если доступ к Huawei Cloud недоступен, загрузка через канал Aspera все равно будет относительно быстрой. В противном случае вам придется прибегнуть к загрузке через wget
или axel
, которые являются более медленными методами.
Примечание
Примечание 2. Поскольку Asper
a требует файл ключа, iSeq автоматически выполнит поиск файла ключа в среде conda
или в каталоге ~/.aspera
. Если файл ключа не найден, загрузка будет невозможна.
-o
, --output
Выходной каталог. Если он не существует, он будет создан (по умолчанию: текущий каталог).
-s
, --speed
Ограничение скорости загрузки (МБ/с) (по умолчанию: 1000 МБ/с) для Wget
, AXEL
и Aspera
.
Выход | Описание |
---|---|
SRA-файлы | Можно конвертировать в файлы FASTQ с помощью опции -q . |
.metadata.tsv | Метаданные для доступа к запросу |
успех.журнал | Сохраните имя файла SRA, которое было успешно загружено. |
неудачный.журнал | Не удалось сохранить имя загруженного файла SRA. |
Выход | Описание |
---|---|
GSA-файлы | В основном в формате *.gz, некоторые в формате bam/tar/bz2. |
.metadata.csv | Метаданные для доступа к запросу |
.metadata.xlsx | Метаданные для проекта, включая доступ к запросам в формате xlsx. |
успех.журнал | Сохраните имя файла GSA, которое было успешно загружено. |
неудачный.журнал | Не удалось сохранить имя загруженного файла GSA. |
iSeq был вдохновлен fastq-dl, fetchngs, pysradb, Kingfisher . Эти превосходные инструменты также могут быть очень полезны. Ниже приведены несколько сравнений различного программного обеспечения:
Название программного обеспечения | Языки программы | Поддерживаемые базы данных | Поддерживаемые образцы | Поддерживаемые форматы | Поддерживаемые методы | Получить метаданные | проверка MD5 | Возобновляемая загрузка | Параллельная загрузка | Объединить FASTQ | Пропустить скачанные | Конда устанавливается | URL-адрес |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
iSeq | Оболочка | GSA, SRA, ENA, DDBJ, GEO | Все | fq, fq.gz, сра, бам | wget, Аксель, Аспера | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ? |
крайтурбо | С | ГСА | Все отказано | fq, fq.gz, бам | EdgeTurbo скачать | ✔ | ? | ||||||
Инструментарий SRA | С | СРА, ЭНА, ДДБЖ | Все отклонено, ожидайте идентификатор запуска | fq, fq.gz, сра | предварительная выборка | ✔ | ✔ | ✔ | ✔ | ? | |||
enaBrowserИнструменты | Питон | СРА, ЭНА, ДДБЖ | Все, кроме GSA/GEO ID | fq, fq.gz, сра | Урллиб, Аспера | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
fastq-dl | Питон | СРА, ЭНА, ДДБЖ | Все, кроме GSA/GEO ID | fq, fq.gz, сра, сра.lite | wget | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
выборки | Питон | SRA, ENA, DDBJ, GEO | Все, кроме идентификатора GSA | fq, fq.gz | wget, aspera, предварительная выборка | ✔ | ✔ | ✔ | ✔ | ? | |||
pysradb | Питон | SRA, ENA, DDBJ, GEO | Все, кроме идентификатора GSA | fq, fq.gz, сра, бам | запросы, аспера | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
Зимородок | Питон | СРА, ЭНА, ДДБЖ | Все, кроме GSA/GEO ID | fq, fq.gz, сра | локон, aria2c, aspera | ✔ | ✔ | ✔ | ✔ | ✔ | ? | ||
ффк | Питон | SRA, ENA, DDBJ, GEO | Все, кроме идентификатора GSA | fq, fq.gz, сра, бам | запросы | ✔ | ✔ | ✔ | ? |
Вклад в iSeq приветствуется! Если у вас есть какие-либо предложения, отчеты об ошибках или запросы на добавление новых функций, откройте проблему в репозитории проекта на GitHub. Если вы хотите добавить код, создайте репозиторий, внесите изменения и отправьте запрос на включение.
Цитируйте нас : https://doi.org/10.1101/2024.05.16.594538.
Этот проект распространяется по лицензии MIT.