Исследовательская группа

BioLabs

SPAN Peak Analyzer

Активный
+----------------------------------+
|SPAN Semi-supervised Peak Analyzer|
+----------------------------|/----+
           ,        ,
      __.-'|'-.__.-'|'-.__
    ='=====|========|====='=
    ~_^~-^~~_~^-^~-~~^_~^~^~^

SPAN — это универсальный инструмент для поиска пиков с применением частичного обучения с учителем, способный обрабатывать данные экспериментов ChIP-seq, ATAC-seq и single-cell ATAC-seq. SPAN способен эффективно обрабатывать шум в экспериментальных данных за счет использования ручной аннотации малого размера. Также, SPAN поддерживает анализ нескольких репликатов, и позволяет консистентно обрабатывать эксперименты с большим количеством репликатов, сохраняя при этом индивидуальные результаты анализа для отдельных репликатов.

Содержание

Описание

  • Является частью интегрированного подхода для поиска пиков (совместно с геномным браузером JBR)
  • Поддерживает обычные и ChIP-seq эксперименты и эксперименты с низким покрытием
  • Работает как с узкими, так и с широкими пиками.
  • Поддерживает single-end и с paired-end библиотеки.
  • Автоматическая оценка размера фрагментов для single-end библиотек.
  • Возможность обработки данных с различными соотношениями сигнал / шум.
  • Поддерживает опциональный трек контроля (эксперимент без иммунопреципитации).
  • Поддерживает репликаты на уровне модели.
  • Реализована поправка на множественную проверку гипотез False Discovery Rate (FDR).
  • Использование техники алгоритма EM совместно с Multistart при обучении статистической модели.
  • Экспериментальный режим для дифференциального анализа пиков.

Установка

Скачать Описание
span-0.13.5244.jar Мультиплатформенный пакет JAR

Требования:

  1. Минимум 4 GB RAM.
  2. Загрузите и установите Java 8.
  3. Загрузите размеры хромосом <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 состоит из нескольких этапов:

  1. Преобразование сырых данных прочтений в теги с помощью задаваемого пользователем параметра FRAGMENT или автоматически вычисленного значения по методу максимальной оценки кросс-корреляции.
  2. Вычисление покрытия для всего генома, разбитого на последовательные непересекающиеся окна размера BIN пар оснований.
  3. Обучение скрытой марковской модели с тремя скрытыми состояниями, которая классифицирует окна как ZERO состояния без покрытия, LOW состояния неспецифического связывания и HIGH состояния специфического связывания.
  4. Вычисление апостериорной вероятности состояния HIGH для каждого позиции.
  5. Обученная модель сохраняется в бинарном формате .span.
  6. Пики вычисляются с использованием обученной модели и параметров FDR и GAP.
  7. Если указана разметка LABELS, то вычисляются оптимальные параметры, чтобы соответствовать аннотации.

В режиме обучения модели на выходе создается файл обученной модели в бинарном формате, который может быть:

  1. визуализирован непосредственно в JBR Genome Browser,
  2. использоваться в интегрированном 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