数学建模_国2000A——DNA序列问题中的数据处理
来源:互联网 发布:生成对抗网络发展 编辑:程序博客网 时间:2024/06/03 23:44
2000年A题 DNA序列 中的数据处理
具体针对的是题目数据中的Nat-model-data.txt,数据量较大,我不贴了,放个链接感受下。link
那么如何进行数据处理才能让这个数据为我们所用呢?
我的思路是:
观察数据发现整个数据都是关于ATGC的基因序列,共有182个,且每个序列长度都不相同,共同特征是初始字符为数字(数字个数不定)接着为字符“:>”基因序列从后面开始。结尾为空字符。于是思路为将每个基因序列放在元组的一行,元组共182行1列。具体算法为写一个循环,逐行读入字符,若开头为数字,即继续查找直到当前字符为字母,即基因开始,结束的标志为空白行,将所有读入的字母拼接为一个完整的基因序列,存入元组中的一行。
具体程序
clcclearclose allfid=fopen('Nat-model-data.txt','r'); result='';%每个基因的暂存变量j=1;dna{182,1}=0;%182个基因的储存元组while(~feof(fid)) data=fgetl(fid);%读取一行 if isempty(data)%若该行为空白行,则continue,读下一行 dna{j,1}=result; (Copyright © http://blog.csdn.net/s_gy_zetrov. All Rights Reserved) j=j+1; result=''; continue else%若该行不是空白行,则查找数字和‘:>’字符 for i=1:length(data) if (data(i)>=48&&data(i)<=57) i=i+1; elseif (data(i)==58||data(i)==62) i=i+1; else%当当前字符为字母时,取出余下所有字符,存入tmp中 tmp=data(i:length(data)); result=[result,tmp];%将基因的所有行拼接为一整行,等待存入基因元组中 break%结束当前字符查找,回到大循环 end end endend(Copyright © http://blog.csdn.net/s_gy_zetrov. All Rights Reserved)
程序能正确将全部182个记忆序列存储到182*1的基因元组中,具体单个基因序列的调用方式为dna{n,1}
有一个小bug是需要在Nat-model-data.txt的结尾加入一行字符如” this is the end of this file.”,否则则只能读入181个基因。不过这个bug由于可以绕过,不影响使用,所以我也就没再仔细查。
(Copyright © http://blog.csdn.net/s_gy_zetrov. All Rights Reserved)
visitor tracker
some people just aren’t meant to be together. Or it’s not the time yet. like us, HuaHua, we are more than friends but always below lovers. Today is my blogs’ 1-year-birthday. I’m moving on. At least for now. Maybe in a year or two, but who knows? Who noes~
- 数学建模_国2000A——DNA序列问题中的数据处理
- 数学建模有关DNA序列k-mer index的问题
- 2015年“深圳杯”数学建模夏令营-B题:DNA序列的k-mer index 问题
- 2015深圳杯数学建模-DNA序列k-mer index问题
- 2015年“深圳杯”数学建模夏令营-B题:DNA序列的k-mer index 问题
- 数学建模———线性规划问题
- 编辑距离问题(2)——DNA序列对齐
- 2012 A 数学建模
- 数学建模A题
- 【数学建模】数学建模(一)——数学模型概述
- 数学建模_人口预测
- 数学建模_姜启源_001
- 数学建模——图
- 数学建模——表格
- 数学建模——公式
- MatLab建模学习笔记11——云模型在数据处理中的应用
- OJ平台——DNA序列
- 华为OJ——DNA序列
- 【C++】【LeetCode】53. Maximum Subarray
- * 24种设计模式——原型模式
- mysql数据库
- Android访问网络,使用HttpURLConnection还是HttpClient?
- 51nod 1202 子序列个数 (子序列套路dp)&& HDU 5791 Two (两串求相同子序列)
- 数学建模_国2000A——DNA序列问题中的数据处理
- Android异常捕获篇(上)---限制大小存储到本地
- linux下任务的延时执行和定时执行操作及临时文件管理
- [PHP]实现AES-256-CBC和HMAC_SHA512加密
- 桥接、NAT和host-only间的差别
- 文章标题
- tensorflow73 使用RNN生成古诗和藏头诗
- POI之读写Excel-yellowcong
- java基础--1.基础-2.java简介