【BioCode】删除未算出PSSM与SS的蛋白质序列

代码说明:

由于一些原因(氨基酸序列过长),没有算出PSSM与SS,按照整理出来的未算出特征的文件,删除原来的蛋白质序列:

需删除的氨基酸文件732.txt(共732条氨基酸):

删除前 氨基酸共25103*2=50206列

删除后 氨基酸共50206-732*2=48742列

代码如下:

 

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<time.h>
#include<math.h>
#include<io.h>
#include<stdio.h>
#include<stdlib.h>

using namespace std;

int main()
{
     char s[100],s1[50000],s2[50000];
     int count=0;
     FILE *p=fopen("732.txt","r");//待删除的序列共732个   
     FILE *seq=fopen("seq.txt","r");
     freopen("sequence.txt","w",stdout);//删除后的最后序列 
     fgets(s,100,p);
     int n=atoi(s);
     while(fgets(s1,50000,seq)){
         fgets(s2,50000,seq);
         count++;

         if(n!=count){
             cout<<s1;
             cout<<s2;
         }else{
             fgets(s,100,p);
             n=atoi(s);
         }
     }
}
//第一条待删除序列为121 seq编号为>O04339 
//第一条待删除序列为122 seq编号为>O04342

 

 

 

删除每条蛋白质对应的位点代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<time.h>
#include<math.h>
#include<io.h>
#include<stdio.h>
#include<stdlib.h>

using namespace std;

int main()
{
     char s[100],s1[50000],s2[50000];
     int count=0;
     FILE *p=fopen("732.txt","r");//待删除的序列共732个   
     FILE *site=fopen("site.txt","r");
     freopen("site_after.txt","w",stdout); 
     fgets(s,100,p);
     int n=atoi(s);
     while(fgets(s1,50000,site)){
         count++;
         //for(i=1;i<=732;i++){
         /*while(fgets(s,100,p)){
             n=atoi(s);
             }*/
         if(n!=count){
             cout<<s1;
             cout<<s2;
         }else{
             fgets(s,100,p);
             n=atoi(s);
         }
     }
}

 

posted @ 2017-07-09 11:40  于淼  阅读(260)  评论(0编辑  收藏  举报