perl或者python代码:批量修改进化树中基因ID或者物种ID名字 nwk文件

进化树修改,tree

有时候我们要对进化树当中的基因ID或者物种ID进行批量的修改,这里可以利用perl或者python 再结合正则表达式批量搜索替换,给出示例代码:


python实现替换:

import re,os
tree="(chicken,((mouse,rat),(chimp,human)));"
names=re.findall(r"[a-zA-Z0-9_]+",tree)

f=open("newtree.nwk","w")
for i in names:
    if not re.match(r'\d+$',i):

        tree=tree.replace(i,i+"#1")
        
f.write(tree+"\n")
f.close()


perl实现替换:

$tree="(chicken,((mouse,rat),(chimp,human)));";
@names=($tree=~/([a-zA-Z0-9_]+)/g);

open OUT ,">newtree.nwk" or die "can't open $name.nwk\n";
for my $name(@names){
        if ( $name!~/^\d+$/){
                $tree=~s/$name/$name#1/;
        }
}
print OUT "$tree\n";
close(OUT);


生物信息入门到精通必修基础课:linux系统使用、biolinux搭建生物信息分析环境、linux命令处理生物大数据、perl入门到精通、perl语言高级、R语言画图、R语言快速入门与提高、python语言入门到精通

  • 发表于 2019-10-10 10:40
  • 阅读 ( 6960 )
  • 分类:软件工具

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

806 篇文章

作家榜 »

  1. omicsgene 806 文章
  2. 安生水 372 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 98 文章
  6. rzx 88 文章
  7. Ti Amo 81 文章
  8. 红橙子 81 文章