免费注册 查看新帖 |

Chinaunix

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

高手赐教 fasta 提取特定行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-16 09:11 |只看该作者 |倒序浏览
本帖最后由 zhwjmch 于 2015-07-16 09:12 编辑

想提取特定的行,2个要求: 1) 长度大于300, 2) 特定的一个标准 loc=2R 或 loc=2L;
这两个信息在行头 都有, 生物相关的。就是蓝色的部分,要满足特定条件,以下2条,一个满足,一个不满足。。。如何分开?

>FBtr0342981 type=untranslated_region; loc=2R:join(22136968..22137026,22138000..22138251,22162905..22162919);MD5=594e04c2c432646c24f2e6e22febd982;  length=326; parent=FBgn0000008; release=r6.06; species=Dmel;

GTTCAATCTTTGTTTTCGTAGCGCGGC...GAAGTGAAGTAACCCATAAAACTAAC

>FBtr0083388 type=untranslated_region; loc=3R:complement(16828004..16828105);MD5=76d226b07edc8a389bce4902b3847b7a; length=102; parent=FBgn0000014; release=r6.06; species=Dmel; GTTCAATCTTTGTTTTCGTAGCGCGGC...GAAGTGAAGTAACCCATAAAACTAAC

论坛徽章:
7
巳蛇
日期:2013-11-28 09:22:59天秤座
日期:2014-10-25 15:40:452015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之德黑兰石油
日期:2015-07-15 08:46:452015亚冠之平阳省
日期:2015-11-08 16:27:53白银圣斗士
日期:2015-11-14 09:58:12
2 [报告]
发表于 2015-07-16 11:31 |只看该作者
看不懂你的问题!

论坛徽章:
0
3 [报告]
发表于 2015-07-16 12:02 |只看该作者
如果 loc=2R:join(22136968..22137026,22138000..22138251,22162905..22162919);MD5=594e04c2c432646c24f2e6e22febd982;  length=326; parent=FBgn0000008; release=r6.06; species=Dmel; 就是文本的话,用REGEXP找到模式/loc=(2|3)R;/ 和 /length=\d+;/就可以了啊。

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
4 [报告]
发表于 2015-07-16 13:00 |只看该作者
针对学生物的进行一次 Perl 培训不知道有人愿意响应吗?

论坛徽章:
7
巳蛇
日期:2013-11-28 09:22:59天秤座
日期:2014-10-25 15:40:452015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之德黑兰石油
日期:2015-07-15 08:46:452015亚冠之平阳省
日期:2015-11-08 16:27:53白银圣斗士
日期:2015-11-14 09:58:12
5 [报告]
发表于 2015-07-16 13:09 |只看该作者
回复 4# 104359176


    如果有培训应该是不错的!俺全靠自己摸索啊

论坛徽章:
0
6 [报告]
发表于 2015-07-16 20:39 |只看该作者
我举双手双脚赞同


   

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
7 [报告]
发表于 2015-07-17 15:18 |只看该作者
我发现有有几本与生物有关的 Perl 语言算法书籍,没有人翻译,国内也有许多从事生物信息分析的 Perl 高手,而综合生物信息的 Perl 算法的资料却不多。

论坛徽章:
7
巳蛇
日期:2013-11-28 09:22:59天秤座
日期:2014-10-25 15:40:452015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之德黑兰石油
日期:2015-07-15 08:46:452015亚冠之平阳省
日期:2015-11-08 16:27:53白银圣斗士
日期:2015-11-14 09:58:12
8 [报告]
发表于 2015-07-18 09:09 |只看该作者
104359176 发表于 2015-07-17 15:18
我发现有有几本与生物有关的 Perl 语言算法书籍,没有人翻译,国内也有许多从事生物信息分析的 Perl 高手, ...


很少研究算法的,基本上都是拿来用……

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
9 [报告]
发表于 2015-07-18 14:31 |只看该作者
没有算法和固定的模块,随用随丢,这样处理的范围就很小,能处理的深度也受限制。

论坛徽章:
0
10 [报告]
发表于 2015-08-21 18:01 |只看该作者
嗯。fasta筛选问题解决了吗?我也是初学者。
先用while读取文件,每行都push到一个临时数组@val中,每4行做一次匹配,打印出来,在清空数组中的内容(做个计数器,$k++,到$k==4的时候再把数组拿出来筛选,然后把$k归零)。
筛选应该就很简单,对这个@val数组,用正则表达式,请搜索30分钟正则表达式入门(惭愧。。每次都要看这个才会用正则)。
大致是
while(<IN>){$k++;   push @val,$_;  if($k<=3){next;}   
elsif($k=4}{
if($val[1]=~/loc=2R/ && val[1]=~/length=*****/){print 给输出文档"$val[0]/n$val[1]..."。。。。。}
undef(@value)}
思路很简单。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP