BioLabs
SPAN Peak Analyzer
+----------------------------------+ |SPAN Semi-supervised Peak Analyzer| +----------------------------|/----+ , , __.-'|'-.__.-'|'-.__ ='=====|========|====='= ~_^~-^~~_~^-^~-~~^_~^~^~^
SPAN — это универсальный инструмент для поиска пиков с применением частичного обучения с учителем, способный обрабатывать данные экспериментов ChIP-seq, ATAC-seq и single-cell ATAC-seq. SPAN способен эффективно обрабатывать шум в экспериментальных данных за счет использования ручной аннотации малого размера. Также, SPAN поддерживает анализ нескольких репликатов, и позволяет консистентно обрабатывать эксперименты с большим количеством репликатов, сохраняя при этом индивидуальные результаты анализа для отдельных репликатов.
Содержание
- Описание
- Установка
- Использование SPAN
- Выходные файлы
- Примеры использования
- Galaxy
- Сообщить об ошибке
- Часто задаваемые вопросы
Описание
- Является частью интегрированного подхода для поиска пиков (совместно с геномным браузером JBR)
- Поддерживает обычные и ChIP-seq эксперименты и эксперименты с низким покрытием
- Работает как с узкими, так и с широкими пиками.
- Поддерживает single-end и с paired-end библиотеки.
- Автоматическая оценка размера фрагментов для single-end библиотек.
- Возможность обработки данных с различными соотношениями сигнал / шум.
- Поддерживает опциональный трек контроля (эксперимент без иммунопреципитации).
- Поддерживает репликаты на уровне модели.
- Реализована поправка на множественную проверку гипотез False Discovery Rate (FDR).
- Использование техники алгоритма EM совместно с Multistart при обучении статистической модели.
- Экспериментальный режим для дифференциального анализа пиков.
Установка
Скачать | Описание |
---|---|
span-0.13.5244.jar | Мультиплатформенный пакет JAR |
Требования:
- Минимум 4 GB RAM.
- Загрузите и установите Java 8.
- Загрузите размеры хромосом
<build>.chrom.sizes
организма, который вы хотите исследовать с сайта UCSC.
Использование SPAN
java -Xmx4G -jar span-0.13.5244.jar [-h] [--version] analyze
Используйте параметры памяти java
-Xmx
для настройки памяти. В наших примерах используется 4 гигабайта.
Пример команды для поиска пиков: java -Xmx4G -jar span.jar analyze -t ChIP.bam -c Control.bam --cs Chrom.sizes -p Results.peak
Пример команды для поиска пиков с использованием разметки: java -Xmx4G -jar span.jar analyze -t ChIP.bam -c Control.bam --cs Chrom.sizes -l Labels.bed -p Results.peak
Пример команды для обучения модели: java -Xmx4G -jar span.jar analyze -t ChIP.bam -c Control.bam --cs Chrom.sizes
Поиск пиков
Используйте команду analyze
для поиска пиков для одного или нескольких репликатов.
-b, --bin BIN_SIZE
Анализ пиков производится с использованием агрегированного покрытия генома, последовательность ДНК разбивается на последовательные непересекающиеся окна заданного размера. Размер по умолчанию — 200 пар оснований — приблизительно длина витка ДНК вокруг нуклеосомы.
-t, --treatment TREATMENT
Необходимо. Файл с выравниванием прочтений на геном для эксперимента ChIP-seq (treatment). Поддерживаемые форматы: BAM, BED, BED.gz или bigWig. Если предоставлено несколько файлов, они рассматриваются как репликаты. Файлы нужно разделять запятыми: -t A,B,C
. Множественные репликаты обрабатываются на уровне статистической модели.
-c, --control CONTROL
Файл с данными контроля (эксперимент без иммунопреципитации). Несколько файлов следует разделять запятыми. Требуется один общий файл с контролем или отдельный файл для каждого экспериментального входного файла.
Следуйте инструкциям для -t, --treatment TREATMENT
.
-cs, --chrom.sizes CHROMOSOMES_SIZES
Required. Файл размеров хромосом для сборки генома, используемой в файлах TREATMENT
и CONTROL.
Можно скачать здесь: https://hgdownload.cse.ucsc.edu/goldenPath/...
--fragment FRAGMENT
Размер фрагмента. Если указан, то прочтения сдвигаются соответствующим образом. Если не указан, размер фрагмента оценивается автоматически на основе данных.
Аргумент --fragment 0
необходим для обработки данных ATAC-Seq.
-k, --keep-dup
Сохранять дубликаты. По умолчанию SPAN отфильтровывает избыточные прочтения, выровненные на одну и ту же позицию в геноме.
Аргумент --keep-dup
необходим для обработки данных single cell ATAC-Seq.
-m, --model MODEL
Эта опция используется для указания пути к модели SPAN, если она не используется, имя модели формируется из имен входных файлов и других аргументов.
-p, --peaks PEAKS
Полученный файл пиков в формате ENCODE broadPeak* (BED 6+3). Если не указан, выполняется только шаг обучения статистической модели.
-f, --fdr FDR
Минимальная отсечка значимости FDR для поиска значимых регионов, значение по умолчанию 1.0E-6.
SPAN
сообщает значения p и q для нулевой гипотезы о том, что сигнал в данном окне не обогащен модификацией гистона. q-значения вычисляются из p-значений с использованием процедуры Бенджамини-Хохберга. Пики формируются из списка статистически значимых обогащенных (в смысле FDR) окон для анализируемого эксперимента с помощью 1) определения порогового значения Q при помощи отсечки FDR
и 2) объединения близких в пиков в широкие пики с использованием GAP
.
-g, --gap GAP
Расстояние для объединения близких пиков. Используется для широких и смешанных модификаций гистонов. Значение по умолчанию — 5, то есть пики, разделенные расстоянием 5* BIN
или меньше, объединяются.
--labels LABELS
BED файл с ручной аннотацией. Используется при поиске пиков, основанном на частичном обучении с учителем..
-d, --debug
Вывести всю информацию об отладке, используется для устранения неполадок.
-q, --quiet
Отключить вывод.
-w, --workdir PATH
Путь к рабочему каталогу (хранит кеши покрытия и модели).
--threads THREADS
Настройка уровня многопоточности.
SPAN
использует как многопоточность, так и специализированные расширения процессоров, такие как SSE2, AVX и т.д. Параллельные вычисления выполнялись с использованием библиотеки viktor с открытым исходным кодом для параллельных матричных вычислений на языке программирования Kotlin.
--ms, --multistarts
Количество мультистартных запусков с использованием различных инициализаций модели. Используйте 0 для отключения (по умолчанию: 5).
--ms-iterations, --msi
Количество итераций для каждого запуска мультистарта (по умолчанию: 5).
--threshold, --tr
Порог сходимости для итеративного алгоритма EM. Используйте параметр --debug, чтобы получить подробную информацию (по умолчанию: 01).
Поиск пиков при частичном обучении с учителем
Когда указан параметр LABELS,
он используется для оптимизации параметров разметки.
Обучение модели
Работа алгоритма SPAN
состоит из нескольких этапов:
- Преобразование сырых данных прочтений в теги с помощью задаваемого пользователем параметра
FRAGMENT
или автоматически вычисленного значения по методу максимальной оценки кросс-корреляции. - Вычисление покрытия для всего генома, разбитого на последовательные непересекающиеся окна размера
BIN
пар оснований. - Обучение скрытой марковской модели с тремя скрытыми состояниями, которая классифицирует окна как
ZERO
состояния без покрытия,LOW
состояния неспецифического связывания иHIGH
состояния специфического связывания. - Вычисление апостериорной вероятности состояния
HIGH
для каждого позиции. - Обученная модель сохраняется в бинарном формате
.span
. - Пики вычисляются с использованием обученной модели и параметров
FDR
иGAP
. - Если указана разметка
LABELS
, то вычисляются оптимальные параметры, чтобы соответствовать аннотации.
В режиме обучения модели на выходе создается файл обученной модели в бинарном формате, который может быть:
- визуализирован непосредственно в JBR Genome Browser,
- использоваться в интегрированном pipeline поиска пиков.
Выходные файлы
- Если указан файл
OUTPUT,
он будет содержать предсказанные и статистически значимые на заданном уровне значимости FDR пики в формате ENCODE broadPeak, то есть BED 6+3:
<chromosome> <peak start> <peak end> <peak name> <score> . <coverage / foldchange> <-log p-value> <-log Q-value>
Такой же формат используется MACS2. -
- Имя хромосомы.
- Позиция начала пика.
- Позиция конца пика.
- Название пика.
- Оценка пика, вычисляемая как log10(qvalue) * log(длина пика). Полезно для ранжирования широких пиков.
- . (обозначает цепь ДНК)
- Суммарное покрытие пика, усредненное по репликатам или fold-change покрытия в случае дифференциального анализа.
- -log10(pvalue) нулевой гипотезы о том, что данный пик находится в
ZERO
илиLOW
состоянии. - -log10(qvalue), вычисленное из p-значений с использованием процедуры Бенджамини-Хохберга. Среднее значение для объединенного пика.
- В случае исключительно обучения модели
SPAN
на выходе создается только бинарный файл модели.
ПРИМЕЧАНИЕ: после однократного обучения модель будет автоматически переиспользоваться в других режимах.
Примеры использования
Для оценки работы SPAN мы применили его для анализа общедоступных данных обычного ChIP-seq, а также данных ChIP-seq с ультра-низким покрытием.
Треки CD14 + классических моноцитов, доступные из базы данных ENCODE, были выбраны в качестве стандартных ChIP-seq данных.
Мы также использовали данные Hocking et al.
Chen C et al. представили ultra-low-input native ChIP на основе микрококковой нуклеазы (ULI-NChIP) и метод секвенирования для создания полногеномных профилей модификаций гистонов с высоким разрешением и воспроизводимостью с использованием ограниченного количества исходного материала - около тысячи клеток. Мы использовали эти треки для тестирования поиска пиком с частичным обучением с учителем в экстремальных условиях.
Во всех перечисленных случаях SPAN
продемонстрировал высокое качество результатов поиска пиков, см. отчет.
Это показывает, что SPAN Peak Analyzer может быть использован как универсальное решение для задачи поиска пиков в данных ChIP-seq, ATAC-seq и single-cell ATAC-seq.
Galaxy
SPAN доступен в качестве инструмента в официальном ToolShed для Galaxy. Вы можете попросить администратора Galaxy установить его.
Сообщить об ошибке
Сообщайте обо всех ошибках или комментариях в общедоступном трекере ошибок SPAN.
Часто задаваемые вопросы
В: Каково среднее время работы?
О: SPAN
способен обрабатывать один трек ChIP-Seq менее чем за 1 час на среднем ноутбуке (MacBook Pro 2015).
В: Какие операционные системы поддерживаются?
О: SPAN
разработан на современном языке программирования Kotlin и может выполняться на любой платформе, поддерживаемой java
.
В: Поддерживается ли дифференциальный поиск пиков?
О: Это экспериментальная функция, подробности: java -Xmx4G -jar span.jar compare -h
В: Где можно найти исходный код SPAN
?
О: Исходный код доступен на GitHub
В: Где вы взяли эту прекрасную картинку?
О: Судя по сайту ascii.co.uk, первоначальный автор известен под именем jgs
.
Modified Wed Aug 12 17:19:12 2020 UTC