首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vcf转ped格式:重新定义非dbSNPs

vcf转ped格式:重新定义非dbSNPs
EN

Stack Overflow用户
提问于 2014-01-28 08:31:54
回答 2查看 791关注 0票数 1

当我将vcf文件转换为ped格式(使用vcftools或使用vcftools或vcf转换为1000 G)时,遇到的问题是,没有dbSNP ID的变体的ID以ID的形式获得该变体的基对位置。

代码语言:javascript
复制
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 ID的变体获得"chr:basepairposition“格式。所以上面的例子如下所示:

代码语言:javascript
复制
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

如果有人能帮助我解释在没有dbSNP ID的情况下更改第二列的命令或脚本,那就太好了。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-28 15:17:49

这可以用sed来完成。由于涉及到选项卡,所以具体的语法可能会有所不同,这取决于您的系统上安装了什么sed;下面的内容应该适用于Linux:

代码语言:javascript
复制
cat [.map filename] | sed 's/^\([0-9]*\)\t\([0-9]\)/\1\tchr\1:\2/g' > [new filename]

这将查找以数字开头的行,并使它们以数字开始,而其他行则保持不变。

OS有点痛苦(您需要使用ctrl或[:blank:]来处理选项卡)。

票数 1
EN

Stack Overflow用户

发布于 2015-04-06 21:36:35

这可以用plink2来完成。您只需相应地使用-缺少-var-id选项(ids):

代码语言:javascript
复制
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]

但是,请注意,可以使用此方法为多个变量分配相同的ID,而且plink2不会容忍具有相同ID的变体。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21400457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档