打印特定数量的核苷酸
Printing a specific number of nucleotides
我有杂合子和纯合子病例的 vcf 统计数据,我想找到与我的 maf 文件匹配的结果。问题是 maf 文件中的参考字段不同,它排除了其他状态的核苷酸,例如如果您有一个 ref CAA 并且替代变体是 CAAAAA,那么在 maf 文件中您的 ref 将是 AAA。
所以我需要一个代码来更改我的文件中的 ref 字段和 alt 统计信息(可以添加单独的列 ref2 和 alt2)
这是我的文件的一个片段:
CHR POS ID REF ALT chr11 71579744 rs71049992 A ACAGCAGCTGGACTGGGAGCAGCAGGACCTG(插入案例)
chr11 124880551 rs71859853 CCGGAGT C(删除案例)
我想我应该首先计算第 4 列和第 5 列中的核苷酸数量。然后如果第 4 列中的数字大于 5(意味着删除),那么在我的 ref2 中,该位置将从下一个不同于备选核苷酸的核苷酸开始.
对于插入,我将更改一个 alt 站点并跳过参考核苷酸
因此,我想要这个:
CHR POS ID REF ALT REF2 ALT2
chr11 71579744 rs71049992 A ACAGCAGCTGGACTGGGAGCAGCAGGACCTG A CAGCAGCTGGACTGGGAGCAGCAGGACCTG
chr11 124880551 rs71859853 CCGGAGT C CGGAGT C
非常感谢您!
I think I should first count numbers of nucleotides in column4 and 5…
有了awk
,您可以使用length
函数来计算核苷酸的数量:
awk 'NR==1 {print [=10=]" REF2 ALT2"} # assuming first line has column headers
NR>1 {if (length()<length()) print [=10=], , gensub(, "", 1, )
else print [=10=], gensub(, "", 1, ), }' file
我有杂合子和纯合子病例的 vcf 统计数据,我想找到与我的 maf 文件匹配的结果。问题是 maf 文件中的参考字段不同,它排除了其他状态的核苷酸,例如如果您有一个 ref CAA 并且替代变体是 CAAAAA,那么在 maf 文件中您的 ref 将是 AAA。
所以我需要一个代码来更改我的文件中的 ref 字段和 alt 统计信息(可以添加单独的列 ref2 和 alt2)
这是我的文件的一个片段:
CHR POS ID REF ALT chr11 71579744 rs71049992 A ACAGCAGCTGGACTGGGAGCAGCAGGACCTG(插入案例)
chr11 124880551 rs71859853 CCGGAGT C(删除案例)
我想我应该首先计算第 4 列和第 5 列中的核苷酸数量。然后如果第 4 列中的数字大于 5(意味着删除),那么在我的 ref2 中,该位置将从下一个不同于备选核苷酸的核苷酸开始.
对于插入,我将更改一个 alt 站点并跳过参考核苷酸
因此,我想要这个:
CHR POS ID REF ALT REF2 ALT2 chr11 71579744 rs71049992 A ACAGCAGCTGGACTGGGAGCAGCAGGACCTG A CAGCAGCTGGACTGGGAGCAGCAGGACCTG
chr11 124880551 rs71859853 CCGGAGT C CGGAGT C
非常感谢您!
I think I should first count numbers of nucleotides in column4 and 5…
有了awk
,您可以使用length
函数来计算核苷酸的数量:
awk 'NR==1 {print [=10=]" REF2 ALT2"} # assuming first line has column headers
NR>1 {if (length()<length()) print [=10=], , gensub(, "", 1, )
else print [=10=], gensub(, "", 1, ), }' file