📄 seqrev.cc
字号:
//--------------------------------------------------------//// seqrev.cc //// Finds opposite strand for a DNA sequence //// Latest revision: 09-21-2000 ////--------------------------------------------------------//#include <stdio.h>#include <stdlib.h>#include <math.h>#include <ctype.h>int main(int argc, char **argv){ int index = 0; int a,b,k; FILE *fp1, *fp2; char file1[128], file2[128]; char s1[1000000]; char junk[1024]; printf("Seqrev - finds opposite strand for a DNA sequence\n"); printf("Sequence file:"); fflush(stdout); scanf("%s",file1); printf("Output file: "); fflush(stdout); scanf("%s",file2); if((fp1=fopen(file1,"rb")) == NULL) { printf("\nUnable to open file xxx%sxxx\n",file1); exit(1); } if((fp2=fopen(file2,"wb")) == NULL) { printf("\nUnable to open file xxx%sxxx\n",file2); exit(1); } printf("Original sequence\n"); while(!feof(fp1)) { b = fgetc(fp1); if(b=='#') fgets(junk,1024,fp1); // comment b = toupper(b); switch(b) { case 'U': a = 'A'; break; case 'T': a = 'A'; break; case 'A': a = 'T'; break; case 'G': a = 'C'; break; case 'C': a = 'G'; break; case 'N': a = 'N'; break; default: a = ' '; } if(a == 'A' || a == 'T' || a == 'U' || a == 'C' || a == 'G' || a == 'N') { s1[index++] = a; printf("%c",b); } } printf("\n\n"); printf("Reversed sequence\n"); for(k=index-1;k>=0;k--) { a = s1[k]; printf("%c",a); fputc(a,fp2); } printf("\n\nReverse (%d bases) saved in %s\n",index,file2); fclose(fp1); fclose(fp2); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -