免费注册 查看新帖 |

Chinaunix

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

perl语言提取DNA序列 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-17 18:17 |只看该作者 |倒序浏览
我最近在学习perl语言,现在遇到了一个问题,想请各位帮帮忙:

一个文件包含contig08015  103   20

想从另外一个文件提取contig08015  103   20序列:
>contig08015  length=103   numreads=20
CCTCCGggggggTGGgACAGCCGGgCCGCGATGCGGGCGCGCAGCGCGTCCATCGTGAAG
CCGCGCGGGTCGATCTTCCCCGGCTGCCACTCCAGGTGCCCGA
>contig08016  length=102   numreads=341
AGACGGTCAGCGAGAGATCGAACTCGGAAGTCGTCTCGACGACTTCCTCCTGTGTGACAG
TCAGGTCGCCGAAGGCCCATTCAGGCTTGGCATTGTTGAGCA
>contig08017  length=103   numreads=6
ATCGCCTTGgCGTCCAGCCCGCGGTCCCCGATCGTCGCCACCACCACCGCCAGCAGCAGC
GGCAACAGCGCGGCGAACAACCACgCGCGTCCTGGGAATGCGC
>contig08018  length=101   numreads=17
GACCGGCccGGCCGGCACCCGCCGGCTGACCGTGGCGCAGGCCCTGGTGGAGTTCCTCGC
CCACCAGTTCACCGAGCGGGACGGCCGTCGGCACCGCCTGA

论坛徽章:
0
2 [报告]
发表于 2012-11-18 17:42 |只看该作者
从A文件读数据,当读到 contig08015  103   20 时,把该数据存到一个变量中,
然后 读B文件,一次一行,当读到的一行数据中用正则表达式可以匹配 >contig08015  length=103   numreads=20 时,则读取下面一行。

论坛徽章:
0
3 [报告]
发表于 2012-11-18 18:13 |只看该作者
谢谢。
我还是没有说清楚。

我要提取的序列不是一两个,是几十个。比如contig08015  103   20
contig00139 4963 138
contig00246 3723 313
contig00433 2701 2697
contig00474 2533 53
contig00846 1821 1256
contig01017 1654 950
contig01288 1430 1430
contig01751 1141 1141
contig01771 1129 287
contig01879 1090 1090
contig01932 1070 1040
contig01992 1041 996
contig02346 907 907
contig02540 851 851
contig02859 762 761
contig03102 711 711
contig03295 667 667
contig03396 645 646
contig03697 590 591
contig03912 556 526
contig03991 542 542
contig04057 532 524
contig04079 530 511
contig04304 497 496
contig04329 495 476
contig04478 479 479
contig04548 468 468
contig04606 463 463
contig05227 394 394


论坛徽章:
0
4 [报告]
发表于 2012-11-18 18:49 |只看该作者
安装bioperl,用Bio::SeqIO读取 就行

论坛徽章:
0
5 [报告]
发表于 2012-11-18 19:25 |只看该作者
本帖最后由 perlnewbie 于 2012-11-18 19:34 编辑
  1. 先不要读a文件,而是读一遍b文件, 将那几个数字提取出来搞成a文件的那种格式,存入hash,它指向的值是那串ACTGA
  2. ,然后遍历一次a文件

  3. print $h{$_} if exists $h{$_};
  4. 就了事了
复制代码

论坛徽章:
0
6 [报告]
发表于 2012-11-18 22:03 |只看该作者
能不能说详细点,我不太明白楼主的意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP