24小时热门版块排行榜    

查看: 1665  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

生物蚂蚁

新虫 (初入文坛)

[求助] 批量修改序列名字 已有2人参与

各位,好!
我想批量修改序列的名字,请问应该怎么做,最好使用perl。序列名字大体如下:
>Mt3708298.1 Afjjgjgkkfjgorgjo
AAAAAAAAAAAAAAAAATTTTTTTTTTTT

>Mt3708398.1 bvykyjgdjspskgjs
CGATGCGCGCGCGAATATATAGCGTAGACTAGATC


我想改成:
>Mt3708298.1
>Mt3708398.1
也就是说,只要序列名字的前几位,应该怎么写脚本呢?谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

生物蚂蚁

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by liuderong at 2015-05-20 14:30:05
“>Mt3708398.1”和“bvykyjgdjspskgjs”之间是空格键才能用上面的代码,要是是其他就换成其他。

谢谢你!
“>Mt3708398.1”和“bvykyjgdjspskgjs”之间是tab键入可以吗?
4楼2015-05-21 19:11:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

liuderong

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
wizardfan: 金币+2, thanks for helping, but there is an error in your codes 2015-05-21 08:06:12
wizardfan: sorry, no error. my mistake, forget that you do not chomp 2015-05-21 08:08:14
生物蚂蚁: 金币+20, ★★★★★最佳答案 2015-05-23 11:03:16
#!/usr/bin/perl -w
open IN,"....";#"...."位置换成初始文件的路径
open OUT,"...";#"..."位置换成你想保存结果的文件路径
while(<IN>{
   if(/(^>.*?) /){
      print OUT "$1\n";
   }else{
      print OUT "$_";
   }
}
2楼2015-05-20 14:28:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuderong

铁杆木虫 (正式写手)

【答案】应助回帖

“>Mt3708398.1”和“bvykyjgdjspskgjs”之间是空格键才能用上面的代码,要是是其他就换成其他。
3楼2015-05-20 14:30:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuderong

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★
wizardfan: 金币+2, thanks for following posts 2015-05-22 08:02:19
if(/(^>.*?) /){   这一行换成
if(/(^>.*?)\t/){      或者     if(/(^>.*?)\s/){


你可以试一下
5楼2015-05-21 19:23:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见