⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqrev.cc

📁 unix或linux下的DNA分析软件源码 其功能如下 1. Edit up to 256 peptide or DNA sequences simultaneously. 2. Transla
💻 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 + -