【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); } } }