完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
测试文本(rg1.txt),
文件比较大,都是这样的格式。第一行是名字,第二行是e值,第三行是序列。 条件一:现在想按e值(即Expect的值)的大小排序,满足一定e值的,这三行都要; 主要的难点是如何把相关的信息取出来 下面的Regular_Expressions_Demo.m 利用matlab内嵌的Regular_Expressions 功能完成的信息的提取,并保存在一个struct中供后续运算。 rg1.txt -----begin----- >gb|AAN73709.1|AF484508_1 gag-pol fusion polyprotein [swine] Score=440 bits (1131) Expect=e-122 PIVQNAQGQMIYQALSPRTLNAWVKVIEERGFSPEVIP >gb|AAL34796.1| gag protein [monkey] Score=457 bits (1177) Expect=e-127 PIVQNLQGQMVHQSISPRTLNAWVKVIEEKAFSPEVIPMFTALSEGATPQL >gb|AAL34796.1| gag protein [swine] Score=457 bits (1177) Expect=e-127 PIVQNLQGQMVHQSISPRTLNAWVKVIEEKAFSPEVIPMFTALSEGATPQL >gb|AAL34796.1| gag protein [Human] Score=457 bits (1177) Expect=e-127 PIVQNLQGQMVHQSISPRTLNAWVKVIEEKAFSPEVIPMFTALSEGATPQL ------end------- matlab 程序 Regular_Expressions_Demo.m ---------begin------- % 这里有两种信息提取方式, %第一种:先匹配再从匹配结果中提取部分信息 %第二种:直接把匹配结果取回 fin = fopen('rg1.txt','r'); res = struct('name',{},'e',{},'series',{});%用于保存结果的数据结构 idx = 1; counter = 1; while feof(fin)==0 str = fgetl(fin); s=regexp(str,'[(? if ~isempty(s) res(idx).name = s.id; end s=regexp(str,'=(? if ~isempty(s) res(idx).e = s.e; end s=regexp(str,'^[A-Z].+[A-Z]$','match');%直接取出匹配信息 if ~isempty(s) res(idx).series = s; end if mod(counter,3) == 0 idx = idx + 1; end counter = counter + 1; end res -----------end----------- 运行结果 ans = name: 'swine' e: 'e-122' series: {'PIVQNAQGQMIYQALSPRTLNAWVKVIEERGFSPEVIP'} ans = name: 'monkey' e: 'e-127' series: {'PIVQNLQGQMVHQSISPRTLNAWVKVIEEKAFSPEVIPMFTALSEGATPQL'} ans = name: 'swine' e: 'e-127' series: {'PIVQNLQGQMVHQSISPRTLNAWVKVIEEKAFSPEVIPMFTALSEGATPQL'} ans = name: 'Human' e: 'e-127' series: {'PIVQNLQGQMVHQSISPRTLNAWVKVIEEKAFSPEVIPMFTALSEGATPQL'} |
|
相关推荐 |
|
我用matlab的coder 封装了一个c语言的dll, 但是在用labview调用时,会出现识别不到库的问题,有大神遇到过吗
5022 浏览 0 评论
5562 浏览 0 评论
在matlab中如何计算含有第一类修正的贝塞尔函数的积分算不出的问题?
9368 浏览 0 评论
怎么利用matlab得到95%,80%和70%的置信区间,并生成不同区间下的功率误差贝塔分布?
10806 浏览 0 评论
请问simulink的s-function模块如何添加多输入输出接口
15090 浏览 2 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-15 03:37 , Processed in 3.284325 second(s), Total 34, Slave 27 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
5894