首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据来自另一列的指令更改列中的字符

根据来自另一列的指令更改列中的字符
EN

Unix & Linux用户
提问于 2018-01-01 19:13:03
回答 5查看 130关注 0票数 2

我正在尝试设置一个脚本,它将根据我在NGS数据中找到的变体将密码子序列转换为另一个密码子序列。

目前,我的脚本创建了一个由制表符分隔的输出文件,包含6列.每一栏代表以下内容:

  • 第一:基因组位置
  • 2:核苷酸碱基
  • 第三:密码子
  • 第四,密码子中基因组的位置顺序。
  • 5: SNP频率
  • 6: SNP基地

输出数据如下所示:

代码语言:javascript
运行
复制
2289     G       GTG    3        0.0346505      A

2478     G       ATG    2        0.0054087      C

是否可以在输出文件中设置第7列,根据第4列的数字将密码子的核苷酸序列更改为SNP核苷酸(第6列)?

例如,

  • 基因组位置2289:

密码子GTG将成为GTA。SNP核苷酸A取代密码子中的第3核苷酸序列,密码子序列顺序在第4列中指定。

  • 基因组位置2478

密码子ATG将成为ACG。SNP核苷酸C取代密码子中的第二核苷酸序列。

是否可以使用awksed来做到这一点?

EN

回答 5

Unix & Linux用户

回答已采纳

发布于 2018-01-01 19:52:44

对“有可能.”的问题,只回答“是”是很诱人的。

像这样的东西会起作用吗?

代码语言:javascript
运行
复制
awk '{l=substr($3,1,$4-1); r=substr($3,$4+1); print $0"\t"l $6 r}' genome > mutated
票数 1
EN

Unix & Linux用户

发布于 2018-01-01 22:28:09

Perl解决方案:

代码语言:javascript
运行
复制
perl -lane 'substr $n = $F[2], $F[3] - 1, 1, $F[5]; print join "\t", $_, $n' -- file
  • -n逐行读取输入
  • -l从输入中删除新行并将它们添加到打印s
  • -a将空格上的每一行拆分为@F数组
  • 详细信息请参见底座
票数 1
EN

Unix & Linux用户

发布于 2018-01-01 22:51:06

通过一些perl分裂和连接:

代码语言:javascript
运行
复制
perl -alne '
  @c = split //, $F[2]; 
  splice @c, $F[3]-1, 1, $F[5]; 
  print join "\t", @F, join "", @c;
' data

解释:

代码语言:javascript
运行
复制
- split 3rd column into character array @c
- replace the value indexed by the 4th column with that of the 6th
- stitch it all back together, delimited by tabs

测试-给定

代码语言:javascript
运行
复制
$ cat data
2289    G       GTG     3       0.0346505       A
2478    G       ATG     2       0.0054087       C

然后

代码语言:javascript
运行
复制
$ perl -alne '
    @c = split //,$F[2]; splice @c,$F[3]-1,1,$F[5]; print join "\t",@F,join "",@c
  ' data
2289    G       GTG     3       0.0346505       A       GTA
2478    G       ATG     2       0.0054087       C       ACG
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/414173

复制
相关文章

相似问题

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