| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 989 人关注过本帖
标题:求帮忙解决统计数据问题,谢谢!
取消只看楼主 加入收藏
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
结帖率:93.94%
收藏
已结贴  问题点数:30 回复次数:10 
求帮忙解决统计数据问题,谢谢!
#include"stdio.h"
#include"stdlib.h"
#define M  4601       //无简并的4601个基因         
FILE *str1,*date2;     
struct motif
{      //存放无简并基因的外显子区间
int m;
int num;            
static char name[5000000];   //求出每一行字符串的字符个数放入name中
}lead[M];
int main()
{
 int i;
 date2=fopen("E:\\寻找内含子序列\\cds序列.txt","rt");   
 str1=fopen("E:\\寻找内含子序列\\cds最终序列.txt","wt");
  for(i=0;i<M;i++)
    fscanf(date2,"%s",&lead[i].name);
  for(i=0;i<M;i++)
  {
    lead[i].num=strlen(lead[i].name);
    fprintf(str1,"%d\n",lead[i].num);
  }
 fclose(str1);
 fclose(date2);
}
程序总是运行不了,为什么呀,是5000000太大了吗?该怎么解决呀?
谢谢!!!
搜索更多相关主题的帖子: 外显子 内含子 统计 include 字符串 
2013-06-28 16:40
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
大侠,好像不行呀,改了之后出现下面的提示
error LNK2001: unresolved external symbol "public: static char * motif::xulie" (?xulie@motif@@2PADA)
这是怎么回事呀?
谢谢!!!
2013-06-30 14:59
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
求解!!!
2013-06-30 18:04
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
回复 5楼 TonyDeng
#include"stdio.h"
#include"stdlib.h"
#define M 1348       //cds区间数不为0且为负链的基因数         
FILE *str1,*date1;     
struct motif
{      
int num;              
char gene[20];   
char xulie[9500000];      //选择9500000是因为1438行序列中最长的一行为9000000多
}lead[M]                    
int main()
{
 int i,j,m;
 char zifu;
 date1=fopen("E:\\寻找内含子序列\\内含子负序列.txt","rt");
 str1=fopen("E:\\寻找内含子序列\\内含子最终负序列.txt","wt");
  for(i=0;i<M;i++)
  fscanf(date1,"%s\t%d\t%s",&lead[i].gene,&lead[i].num,&lead[i].xulie);   //读取基因、cds序列长度、cds序列   
  for(i=0;i<M;i++)
    for(j=0;j<lead[i].num/2;j++)
    {
       m=lead[i].num;   //m指序列长度
       zifu=lead[i].xulie[j];
       lead[i].xulie[j]=lead[i].xulie[m-1-j];
       lead[i].xulie[m-1-j]=zifu;     //第一个与最后一个、第二个与倒数第二个等替换   
    }
  for(i=0;i<M;i++)
    for(j=0;j<lead[i].num;j++)
    {
      if(lead[i].xulie[j]=='A')
      {
       lead[i].xulie[j]='T';
       continue;     //加continue表明完成操作后继续循环,不执行下面的;要加{}否则不管第一个if是否成立执行continue继续循环
      }
      if(lead[i].xulie[j]=='T')
      {
       lead[i].xulie[j]='A';
       continue;
      }
      if(lead[i].xulie[j]=='C')
      {
       lead[i].xulie[j]='G';
       continue;
      }
      if(lead[i].xulie[j]=='G')
      lead[i].xulie[j]='C';
    }
  for(i=0;i<M;i++)
  {
    fprintf(str1,"%s\t%d\t",lead[i].gene,lead[i].num);
    for(j=0;j<lead[i].num;j++)
    fprintf(str1,"%c",lead[i].xulie[j]);
    fprintf(str1,"\n");
  }
 fclose(str1);
 fclose(date1);
}

这个程序,当最长序列为900多万时运行不了,求解
2013-06-30 19:18
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
回复 7楼 TonyDeng
1348行字符串,最长的一行又900多万的字符,现在我要将每一行字符前后翻转,即第一个字符成为最后一个,第二个成为倒数第二个等等,同时还要实现每个字符A与T之间的互换,C与G之间的互换,之后按原来的行数输出字符串。
但现在有些行字符个数有900多万个,(字符只有A、T、C、G构成)处理起来很困难,求助!!
我是生物物理专业的,处理的是一些生物数据,望各位大侠帮忙,谢谢!!!!
2013-07-02 10:23
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
[local]1[/local]
不好意思,麻烦您了!!!
2013-07-02 13:38
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
不好意思,文件似乎很大,上传不上去呀,您看能将就一下吗,谢谢!!!
2013-07-02 13:45
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
我上传的那个程序,当每行字符串不超过2、3万时,还是能运行的,可一旦每行字符串达到了几十万甚至几百万,就运行不了了。
不知为什么,求助,谢谢!!!!
2013-07-02 13:48
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
回复 11楼 TonyDeng
3'UTR正序列.rar (262.94 KB)

您好,我上传了个类似文件,我实际要用的跟这个几乎是一样的,只是大小和字符串长短不一样,谢谢!!
2013-07-02 13:52
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:0 
回复 14楼 TonyDeng
您好,已用邮箱发过去了,谢谢您!
2013-07-02 14:08
快速回复:求帮忙解决统计数据问题,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017888 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved