vcf to ped format: переопределить не-dbSNP

Когда я конвертирую файл vcf в формат ped (с помощью vcftools или с vcf в конвертер ped 1000G), я сталкиваюсь с проблемой, что идентификаторы вариантов, у которых нет идентификатора dbSNP, получают позицию базовой пары этого варианта. в качестве удостоверения личности. Пример пары вариантов:

1   rs35819278  0   23333187
1   23348003    0   23348003
1   23381893    0   23381893
1   rs18325622  0   23402111
1   rs23333532  0   23408301
1   rs55531117  0   23810772
1   23910834    0   23910834

Однако я хотел бы, чтобы варианты без идентификатора dbSNP получили формат "chr:basepairposition". Так что пример выше будет выглядеть так:

1   rs35819278  0   23333187
1   chr1:23348003   0   23348003
1   chr1:23381893   0   23381893
1   rs18325622  0   23402111
1   rs23333532  0   23408301
1   rs55531117  0   23810772
1   chr1:23910834   0   23910834

Было бы здорово, если бы кто-нибудь мог помочь мне объяснить, какую команду или какой сценарий я должен использовать, чтобы изменить этот 2-й столбец для вариантов без идентификатора dbSNP.

Спасибо!

2 ответа

Решение

Это можно сделать с помощью sed. Поскольку вкладки задействованы, точный синтаксис может немного отличаться в зависимости от того, какой sed установлен в вашей системе; для Linux должно работать следующее:

cat [.map filename] | sed 's/^\([0-9]*\)\t\([0-9]\)/\1\tchr\1:\2/g' > [new filename]

Это ищет строки, начинающиеся с [number] [tab] [digit], и заставляет их начинаться с [number] [tab] chr [number]: [digit], оставляя другие строки без изменений.

OS X немного более болезненна (вам нужно использовать ctrl-V или [[:blank:]] для работы с вкладкой).

Это можно сделать с помощью plink2. Вам просто нужно использовать параметр --set-missing-var-ids ( https://www.cog-genomics.org/plink2/data) соответственно:

plink --vcf [filename] \
    --keep-allele-order \
    --vcf-idspace-to _ \
    --double-id \
    --allow-extra-chr 0 \
    --split-x b37 no-fail \
    --set-missing-var-ids chr@:# \
    --make-bed \
    --out [prefix]

Однако обратите внимание, что вы могли бы иметь несколько вариантов, которым были назначены одинаковые идентификаторы с использованием этого метода, и plink2 не допустит варианты с одним и тем же идентификатором. Чтобы узнать больше о преобразовании файлов VCF в plink, у следующего ресурса есть дополнительная информация: http://apol1.blogspot.com/2014/11/best-practice-for-converting-vcf-files.html

Другие вопросы по тегам