smoove
упрощает и ускоряет вызов и генотипирование SV для коротких чтений. Это также повышает специфичность за счет удаления многих ложных сигналов выравнивания, которые указывают на низкоуровневый шум и часто способствуют ложным вызовам.
Здесь есть сообщение в блоге, описывающее smoove
более подробно.
Он поддерживает как небольшие когорты в одной команде, так и вызовы на уровне совокупности с 4 общими шагами, 2 из которых параллельны по выборке.
Здесь есть таблица точности и отзыва smoove и duphold (которая используется smoove).
Это требует:
И необязательно (но всем настоятельно рекомендуется):
Запуск smoove
без каких-либо аргументов покажет, какие из них найдены, и при необходимости их можно будет добавить в PATH.
smoove
будет:
lumpy_filter
для извлечения разделенных и несогласованных чтений, необходимых для Lumpylumpy_filter
для удаления ложных областей с высоким покрытием и пользовательских цветов, таких как «hs37d5»; он также удалит операции чтения, которые, как мы обнаружили, скорее всего, являются ложными сигналами. после этого он удалит одиночные чтения (где мат был удален одним из предыдущих фильтров) из несогласных бамов. Это делает lumpy
намного быстрее и менее требовательным к памяти. вы можете получить smoove
и все зависимости через (большой) образ докера:
docker pull brentp/smoove
docker run -it brentp/smoove smoove -h
Или вы можете загрузить двоичный файл smoove
отсюда: https://github.com/brentp/smoove/releases. При запуске без каких-либо аргументов smoove
покажет вам, какие из его зависимостей он может найти, чтобы вы могли настроить $PATH и установить. соответственно.
для небольших групп можно получить совместно называемый генотипированный VCF с помощью одной команды .
smoove call -x --name my-cohort --exclude $bed --fasta $reference_fasta -p $threads --genotype /path/to/*.bam
вывод пойдет в ./my-cohort-smoove.genotyped.vcf.gz
Настоятельно рекомендуется --exclude $bed
, поскольку его можно использовать для игнорирования операций чтения, перекрывающих проблемные области.
Хороший набор регионов для ГРЧ37 здесь.
А для hg38 здесь
Для звонков на уровне населения (большие когорты) необходимо выполнить следующие шаги:
smoove call --outdir results-smoove/ --exclude $bed --name $sample --fasta $reference_fasta -p 1 --genotype /path/to/$sample.bam
Для больших когорт лучше распараллеливать выборки, а не использовать большие $threads на выборку. smoove
может распараллеливать только 2 или 3 потока в одной выборке, и наиболее эффективно использовать 1 поток.
выходные данные перейдут в `results-smoove/$sample-smoove.genotyped.vcf.gz``
# this will create ./merged.sites.vcf.gz
smoove merge --name merged -f $reference_fasta --outdir ./ results-smoove/*.genotyped.vcf.gz
smoove genotype -d -x -p 1 --name $sample-joint --outdir results-genotped/ --fasta $reference_fasta --vcf merged.sites.vcf.gz /path/to/$sample.$bam
smoove paste --name $cohort results-genotyped/*.vcf.gz
smoove annotate --gff Homo_sapiens.GRCh37.82.gff3.gz $cohort.smoove.square.vcf.gz | bgzip -c > $cohort.smoove.square.anno.vcf.gz
Это добавляет тег SHQ
(Smoove Het Quality) к каждому формату выборки). Значение 4 соответствует вызову высокого качества , а значение 1 — низкому качеству. -1 не гет. Он также добавляет MSHQ
для среднего SHQ в поле INFO, которое представляет собой средний показатель SHQ для всех гетерозиготных образцов для этого варианта.
На первом этапе пользователи могут искать варианты с MSHQ > 3. Если вы добавили аннотации duphold, также полезно проверить удаления с DHFFC < 0.7
и дублирования с DHFFC > 1.25
.
Паника с сообщением типа Segmentation fault (core dumped) | bcftools view -O z -c 1 -o
скорее всего означает, что у вас старая версия bcftools. см. № 10
smoove
запишет в систему TMPDIR. Для больших когорт обязательно установите это значение с большим количеством места. например export TMPDIR=/path/to/big
smoove
требует последней версии lumpy
и lumpy_filter
поэтому создайте их из исходного кода или получите самую последнюю версию bioconda.
svtools