免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1772 | 回复: 3
打印 上一主题 下一主题

[文本处理] 求助:处理出现特定次数的行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-03-26 13:06 |只看该作者 |倒序浏览
如题,文本结构如下,每个有transcript的行都分别下跟一个或多个有exon的行,现在想删掉只下跟一个exon的transcript行以及相应的exon行,对应多个exon的transcript行以及下跟的exon行保留:

chr1    Cufflinks       transcript      91582   119759  1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815 full_read_support yes
chr1    Cufflinks       exon    91582   91629   1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 1 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       exon    92091   92240   1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 2 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       exon    119646  119759  1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 3 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       transcript      237537  522332  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993 full_read_support yes
chr1    Cufflinks       exon    237537  237955  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 exon_number 1 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993
chr1    Cufflinks       exon    522201  522332  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 exon_number 2 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993
chr1    Cufflinks       transcript      237537  238641  1000    .       .       gene_id CUFF.40 transcript_id CUFF.40.1 FPKM 127910966.2401581556 frac 0.382161 conf_lo 38242411.050446 conf_hi 217579521.429870 cov 1.926887 full_read_support yes
chr1    Cufflinks       exon    237537  238641  1000    .       .       gene_id CUFF.40 transcript_id CUFF.40.1 exon_number 1 FPKM 127910966.2401581556 frac 0.382161 conf_lo 38242411.050446 conf_hi 217579521.429870 cov 1.926887
chr1    Cufflinks       transcript      238183  238245  79      .       .       gene_id CUFF.40 transcript_id CUFF.40.2 FPKM 10117979.3656947725 frac 0.000025 conf_lo 0.000000 conf_hi 18075836346.382442 cov 0.152420 full_read_support yes
chr1    Cufflinks       exon    238183  238245  79      .       .       gene_id CUFF.40 transcript_id CUFF.40.2 exon_number 1 FPKM 10117979.3656947725 frac 0.000025 conf_lo 0.000000 conf_hi 18075836346.382442 cov 0.152420

预计得到:
chr1    Cufflinks       transcript      91582   119759  1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815 full_read_support yes
chr1    Cufflinks       exon    91582   91629   1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 1 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       exon    92091   92240   1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 2 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       exon    119646  119759  1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 3 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       transcript      237537  522332  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993 full_read_support yes
chr1    Cufflinks       exon    237537  237955  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 exon_number 1 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993
chr1    Cufflinks       exon    522201  522332  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 exon_number 2 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993


求大神支招!

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
2 [报告]
发表于 2015-03-26 13:36 |只看该作者
回复 1# xunong

$ awk '$3=="transcript"{if(exon>1)print s;s=$0;exon=0}$3=="exon"{exon++;s=s"\n"$0}END{if(exon>1)print s}' FILE
chr1    Cufflinks       transcript      91582   119759  1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815 full_read_support yes
chr1    Cufflinks       exon    91582   91629   1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 1 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       exon    92091   92240   1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 2 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       exon    119646  119759  1000    -       .       gene_id CUFF.39 transcript_id CUFF.39.1 exon_number 3 FPKM 798897154.6755199432 frac 0.300954 conf_lo 361375353.338330 conf_hi 1236418956.012710 cov 12.034815
chr1    Cufflinks       transcript      237537  522332  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993 full_read_support yes
chr1    Cufflinks       exon    237537  237955  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 exon_number 1 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993
chr1    Cufflinks       exon    522201  522332  342     -       .       gene_id CUFF.39 transcript_id CUFF.39.2 exon_number 2 FPKM 273759590.6156416535 frac 0.316860 conf_lo 49720029.561747 conf_hi 497799151.669536 cov 4.123993

   

论坛徽章:
28
2015年迎新春徽章
日期:2015-03-04 10:16:53午马
日期:2015-03-20 17:11:07亥猪
日期:2015-03-20 17:11:23戌狗
日期:2015-03-20 17:11:33酉鸡
日期:2015-03-20 17:11:47申猴
日期:2015-03-20 17:11:58未羊
日期:2015-03-20 17:12:10子鼠
日期:2015-03-20 17:12:23丑牛
日期:2015-03-20 17:12:40卯兔
日期:2015-03-20 17:12:51辰龙
日期:2015-03-20 17:13:00巳蛇
日期:2015-03-20 17:13:12
3 [报告]
发表于 2015-03-26 14:00 |只看该作者
本帖最后由 我是一隻羊 于 2015-03-26 14:18 编辑
  1. awk --re-interval '/transcript /{i++}{a[i]=/exon/?a[i]"\n"$0:$0}END{for(i=0;i++<length(a);)printf match(a[i],/(.* exon .*){2,}/)?a[i]"\n":""}' inputfile
复制代码
  1. awk '/transcript /{a[++i]=$0}/exon /{b[i]++;a[i]=a[i]"\n"$0}END{for(i=0;i++<length(a);){printf b[i]>=2?a[i]"\n":""}}' inputfile
复制代码

论坛徽章:
5
金牛座
日期:2013-10-14 14:40:422015年亚洲杯之伊朗
日期:2015-03-26 10:37:012015亚冠之浦和红钻
日期:2015-10-12 17:47:4115-16赛季CBA联赛之山东
日期:2016-01-20 16:43:1215-16赛季CBA联赛之辽宁
日期:2016-03-29 16:43:59
4 [报告]
发表于 2015-03-26 16:53 |只看该作者
本帖最后由 itfly3 于 2015-03-26 16:55 编辑

回复 2# jason680
您好,
   awk '/transcript/{if(exon>1)print s;s=$0;exon=0}/exon/{exon++;s=s"\n"$0}END{if(exon>1)print s}' file
请问下$3=="transcript"换成/transcript/为什么就不能正常输出

ee,看到了,exon中包含的有transcript字段
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP