Цитируйте нас : Хаоюй Чао, Чжуоджин Ли, Дицзюнь Чен, Мин Чен, 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 , iSeq будет отдавать приоритет загрузке через облако Huawei, даже если используется параметр -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.