亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? readmat.c

?? 生物序列比對程序clustw的源代碼
?? C
字號:
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include "clustalw.h"#include "matrices.h"/* *   Prototypes */static Boolean commentline(char *line);/* *   Global variables */extern char 	*amino_acid_codes;extern sint 	gap_pos1, gap_pos2;extern sint 	max_aa;extern short 	def_dna_xref[],def_aa_xref[];extern sint 	mat_avscore;extern sint 	debug;extern Boolean  dnaflag;extern Boolean user_series;extern UserMatSeries matseries;extern short usermatseries[MAXMAT][NUMRES][NUMRES];extern short aa_xrefseries[MAXMAT][NUMRES+1];void init_matrix(void){   char c1,c2;   short i, j, maxres;   max_aa = strlen(amino_acid_codes)-2;   gap_pos1 = NUMRES-2;          /* code for gaps inserted by clustalw */   gap_pos2 = NUMRES-1;           /* code for gaps already in alignment *//*   set up cross-reference for default matrices hard-coded in matrices.h*/   for (i=0;i<NUMRES;i++) def_aa_xref[i] = -1;   for (i=0;i<NUMRES;i++) def_dna_xref[i] = -1;   maxres = 0;   for (i=0;(c1=amino_acid_order[i]);i++)     {         for (j=0;(c2=amino_acid_codes[j]);j++)          {           if (c1 == c2)               {                  def_aa_xref[i] = j;                  maxres++;                  break;               }          }         if ((def_aa_xref[i] == -1) && (amino_acid_order[i] != '*'))            {                error("residue %c in matrices.h is not recognised",                                       amino_acid_order[i]);            }     }   maxres = 0;   for (i=0;(c1=nucleic_acid_order[i]);i++)     {         for (j=0;(c2=amino_acid_codes[j]);j++)          {           if (c1 == c2)               {                  def_dna_xref[i] = j;                  maxres++;                  break;               }          }         if ((def_dna_xref[i] == -1) && (nucleic_acid_order[i] != '*'))            {                error("nucleic acid %c in matrices.h is not recognised",                                       nucleic_acid_order[i]);            }     }}sint get_matrix(short *matptr, short *xref, sint matrix[NUMRES][NUMRES], Boolean neg_flag, sint scale){   sint gg_score = 0;   sint gr_score = 0;   sint i, j, k, ix = 0;   sint ti, tj;   sint  maxres;   sint av1,av2,av3,min, max;/*   default - set all scores to 0*/   for (i=0;i<=max_aa;i++)      for (j=0;j<=max_aa;j++)          matrix[i][j] = 0;   ix = 0;   maxres = 0;   for (i=0;i<=max_aa;i++)    {      ti = xref[i];      for (j=0;j<=i;j++)       {          tj = xref[j];           if ((ti != -1) && (tj != -1))            {               k = matptr[ix];               if (ti==tj)                  {                     matrix[ti][ti] = k * scale;                     maxres++;                  }               else                  {                     matrix[ti][tj] = k * scale;                     matrix[tj][ti] = k * scale;                  }               ix++;            }       }    }   --maxres;   av1 = av2 = av3 = 0;   for (i=0;i<=max_aa;i++)    {      for (j=0;j<=i;j++)       {           av1 += matrix[i][j];           if (i==j)              {                 av2 += matrix[i][j];              }           else              {                 av3 += matrix[i][j];              }       }    }   av1 /= (maxres*maxres)/2;   av2 /= maxres;   av3 /= ((float)(maxres*maxres-maxres))/2;  mat_avscore = -av3;  min = max = matrix[0][0];  for (i=0;i<=max_aa;i++)    for (j=1;j<=i;j++)      {        if (matrix[i][j] < min) min = matrix[i][j];        if (matrix[i][j] > max) max = matrix[i][j];      }if (debug>1) fprintf(stdout,"maxres %d\n",(pint)max_aa);if (debug>1) fprintf(stdout,"average mismatch score %d\n",(pint)av3);if (debug>1) fprintf(stdout,"average match score %d\n",(pint)av2);if (debug>1) fprintf(stdout,"average score %d\n",(pint)av1);/*   if requested, make a positive matrix - add -(lowest score) to every entry*/  if (neg_flag == FALSE)   {if (debug>1) fprintf(stdout,"min %d max %d\n",(pint)min,(pint)max);      if (min < 0)        {           for (i=0;i<=max_aa;i++)            {              ti = xref[i];              if (ti != -1)                {                 for (j=0;j<=max_aa;j++)                   {                    tj = xref[j];/*                    if (tj != -1) matrix[ti][tj] -= (2*av3);*/                    if (tj != -1) matrix[ti][tj] -= min;                   }                }            }        }/*       gr_score = av3;       gg_score = -av3;*/   }  for (i=0;i<gap_pos1;i++)   {      matrix[i][gap_pos1] = gr_score;      matrix[gap_pos1][i] = gr_score;      matrix[i][gap_pos2] = gr_score;      matrix[gap_pos2][i] = gr_score;   }  matrix[gap_pos1][gap_pos1] = gg_score;  matrix[gap_pos2][gap_pos2] = gg_score;  matrix[gap_pos2][gap_pos1] = gg_score;  matrix[gap_pos1][gap_pos2] = gg_score;  maxres += 2;  return(maxres);}sint read_matrix_series(char *filename, short *usermat, short *xref){   FILE *fd = NULL, *matfd = NULL;   char mat_filename[FILENAMELEN];   char inline1[1024];   sint  maxres = 0;   sint nmat;   sint n,llimit,ulimit;   if (filename[0] == '\0')     {        error("comparison matrix not specified");        return((sint)0);     }   if ((fd=fopen(filename,"r"))==NULL)      {        error("cannot open %s", filename);        return((sint)0);     }/* check the first line to see if it's a series or a single matrix */   while (fgets(inline1,1024,fd) != NULL)     {        if (commentline(inline1)) continue;	if(linetype(inline1,"CLUSTAL_SERIES"))		user_series=TRUE;	else		user_series=FALSE;        break;     }/* it's a single matrix */  if(user_series == FALSE)    {	fclose(fd);   	maxres=read_user_matrix(filename,usermat,xref);   	return(maxres);    }/* it's a series of matrices, find the next MATRIX line */   nmat=0;   matseries.nmat=0;   while (fgets(inline1,1024,fd) != NULL)     {        if (commentline(inline1)) continue;	if(linetype(inline1,"MATRIX"))	{		if(sscanf(inline1+6,"%d %d %s",&llimit,&ulimit,mat_filename)!=3)		{			error("Bad format in file %s\n",filename);   			fclose(fd);			return((sint)0);		}		if(llimit<0 || llimit > 100 || ulimit <0 || ulimit>100)		{			error("Bad format in file %s\n",filename);   			fclose(fd);			return((sint)0);		}		if(ulimit<=llimit)		{			error("in file %s: lower limit is greater than upper (%d-%d)\n",filename,llimit,ulimit);   			fclose(fd);			return((sint)0);		}   		n=read_user_matrix(mat_filename,&usermatseries[nmat][0][0],&aa_xrefseries[nmat][0]);		if(n<=0)		{			error("Bad format in matrix file %s\n",mat_filename);   			fclose(fd);			return((sint)0);		}		matseries.mat[nmat].llimit=llimit;		matseries.mat[nmat].ulimit=ulimit;		matseries.mat[nmat].matptr=&usermatseries[nmat][0][0];		matseries.mat[nmat].aa_xref=&aa_xrefseries[nmat][0];		nmat++;	}    }   fclose(fd);   matseries.nmat=nmat;   maxres=n;   return(maxres);}sint read_user_matrix(char *filename, short *usermat, short *xref){   double f;   FILE *fd;   sint  numargs,farg;   sint i, j, k = 0;   char codes[NUMRES];   char inline1[1024];   char *args[NUMRES+4];   char c1,c2;   sint ix1, ix = 0;   sint  maxres = 0;   float scale;   if (filename[0] == '\0')     {        error("comparison matrix not specified");       	return((sint)0);     }   if ((fd=fopen(filename,"r"))==NULL)    {       	error("cannot open %s", filename);       	return((sint)0);   }   maxres = 0;   while (fgets(inline1,1024,fd) != NULL)     {        if (commentline(inline1)) continue;	if(linetype(inline1,"CLUSTAL_SERIES"))   	{       		error("in %s - single matrix expected.", filename);		fclose(fd);       		return((sint)0);   	}/*   read residue characters.*/        k = 0;        for (j=0;j<strlen(inline1);j++)          {             if (isalpha((int)inline1[j])) codes[k++] = inline1[j];             if (k>NUMRES)                {                   error("too many entries in matrix %s",filename);		   fclose(fd);                   return((sint)0);                }          }        codes[k] = '\0';        break;    }   if (k == 0)      {        error("wrong format in matrix %s",filename);  	fclose(fd);        return((sint)0);     }/*   cross-reference the residues*/   for (i=0;i<NUMRES;i++) xref[i] = -1;   maxres = 0;   for (i=0;(c1=codes[i]);i++)     {         for (j=0;(c2=amino_acid_codes[j]);j++)           if (c1 == c2)               {                  xref[i] = j;                  maxres++;                  break;               }         if ((xref[i] == -1) && (codes[i] != '*'))            {                warning("residue %c in matrix %s not recognised",                                       codes[i],filename);            }     }/*   get the weights*/   ix = ix1 = 0;   while (fgets(inline1,1024,fd) != NULL)     {        if (inline1[0] == '\n') continue;        if (inline1[0] == '#' ||            inline1[0] == '!') break;        numargs = getargs(inline1, args, (int)(k+1));        if (numargs < maxres)          {             error("wrong format in matrix %s",filename);  	     fclose(fd);             return((sint)0);          }        if (isalpha(args[0][0])) farg=1;        else farg=0;/* decide whether the matrix values are float or decimal */	scale=1.0;	for(i=0;i<strlen(args[farg]);i++)		if(args[farg][i]=='.')		{/* we've found a float value */			scale=10.0;			break;		}        for (i=0;i<=ix;i++)          {             if (xref[i] != -1)               {                  f = atof(args[i+farg]);                  usermat[ix1++] = (short)(f*scale);               }          }        ix++;     }   if (ix != k+1)     {        error("wrong format in matrix %s",filename);  	fclose(fd);        return((sint)0);     }  maxres += 2;  fclose(fd);  return(maxres);}int getargs(char *inline1,char *args[],int max){	char	*inptr;/*#ifndef MAC	char	*strtok(char *s1, const char *s2);#endif*/	int	i;	inptr=inline1;	for (i=0;i<=max;i++)	{		if ((args[i]=strtok(inptr," \t\n"))==NULL)			break;		inptr=NULL;	}	return(i);}static Boolean commentline(char *line){        int i;         if(line[0] == '#') return TRUE;        for(i=0;line[i]!='\n' && line[i]!=EOS;i++) {                if(!isspace(line[i]))			return FALSE;        }        return TRUE;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产大陆精品国产| 亚洲女与黑人做爰| 一区二区三区毛片| 国产电影精品久久禁18| 欧美精品v国产精品v日韩精品| 欧美高清在线一区| 久久久不卡网国产精品二区| 亚洲一二三专区| 欧美日韩精品是欧美日韩精品| 国产精品久久久久一区二区三区| 亚洲一区二区四区蜜桃| 99视频有精品| 亚洲国产精品av| 久久精品国产一区二区三区免费看| 欧美在线一区二区三区| 中文字幕免费不卡| 国产剧情一区二区| 成人免费视频播放| 精品第一国产综合精品aⅴ| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品一区在线| 日韩欧美国产1| 日韩国产在线一| 欧美久久久久久蜜桃| 亚洲制服丝袜在线| 在线观看av一区| 一区二区欧美国产| 色94色欧美sute亚洲线路二| 中文字幕视频一区| www.亚洲激情.com| 国产精品欧美经典| 福利电影一区二区三区| 久久精品一区二区三区不卡牛牛 | 欧美三级电影网| 亚洲精品综合在线| 91同城在线观看| 亚洲视频一区在线观看| aaa亚洲精品| 1024成人网| 91在线视频免费91| 亚洲欧美视频在线观看视频| av一本久道久久综合久久鬼色| 国产精品乱码一区二区三区软件| 国产91在线|亚洲| 中文字幕一区在线观看| a4yy欧美一区二区三区| 一区二区中文字幕在线| a美女胸又www黄视频久久| 中文字幕精品三区| 成人免费看的视频| 一区二区中文字幕在线| 91极品美女在线| 亚洲成人动漫一区| 欧美一区二区三区影视| 美女网站在线免费欧美精品| 精品sm捆绑视频| 国产精品自产自拍| 欧美日韩高清影院| 免费一级欧美片在线观看| 日韩欧美国产综合在线一区二区三区| 国内精品伊人久久久久av影院 | 九色综合狠狠综合久久| 亚洲午夜激情网站| 秋霞电影网一区二区| 中文字幕乱码亚洲精品一区| 欧美性一级生活| www.欧美.com| 国内精品第一页| 日韩高清不卡一区二区三区| 亚洲婷婷综合久久一本伊一区| 欧美成人艳星乳罩| 欧美日本在线一区| 色噜噜狠狠色综合中国| 中文字幕亚洲不卡| 欧美色精品在线视频| 日韩1区2区日韩1区2区| 国产亚洲美州欧州综合国| youjizz久久| 天使萌一区二区三区免费观看| 欧美变态tickling挠脚心| 成人永久看片免费视频天堂| 亚洲精品欧美专区| 日韩一区二区精品在线观看| 粉嫩一区二区三区性色av| 一区二区三区**美女毛片| 日韩免费看的电影| av网站一区二区三区| 五月天精品一区二区三区| 久久久亚洲欧洲日产国码αv| 99久久国产综合精品色伊| 日韩激情av在线| 亚洲国产精品成人综合色在线婷婷 | 宅男噜噜噜66一区二区66| 精品影院一区二区久久久| 18涩涩午夜精品.www| 欧美一级二级三级蜜桃| 成人va在线观看| 日韩高清不卡在线| 综合亚洲深深色噜噜狠狠网站| 正在播放一区二区| 99久久精品国产一区二区三区 | 国产免费观看久久| 欧美日本国产视频| jlzzjlzz欧美大全| 精品中文字幕一区二区小辣椒| 中文字幕亚洲欧美在线不卡| 欧美成人vr18sexvr| 在线中文字幕不卡| 国产精品 欧美精品| 亚洲gay无套男同| ●精品国产综合乱码久久久久| 欧美一区二区福利在线| 色综合 综合色| 国产精品18久久久久久久网站| 婷婷丁香激情综合| 亚洲美女少妇撒尿| 国产精品素人视频| 精品国产一区二区三区四区四 | 在线视频综合导航| 国产白丝网站精品污在线入口| 久久久久99精品一区| 亚洲愉拍自拍另类高清精品| 欧美综合一区二区| 国产精品欧美精品| 蜜臀精品久久久久久蜜臀| 成人免费毛片片v| 欧美一三区三区四区免费在线看 | 日本成人中文字幕| 99麻豆久久久国产精品免费| www.亚洲色图| 国产精品2024| 国产真实乱子伦精品视频| 亚洲va欧美va人人爽| 亚洲日本在线视频观看| 久久精品一区蜜桃臀影院| 精品久久久久香蕉网| 8x8x8国产精品| 欧美色综合网站| 色婷婷久久综合| 99国产精品视频免费观看| 豆国产96在线|亚洲| 久国产精品韩国三级视频| 日本亚洲视频在线| 午夜伊人狠狠久久| 性做久久久久久免费观看欧美| 夜夜嗨av一区二区三区中文字幕 | 日本一区二区三区久久久久久久久不| 亚洲午夜羞羞片| 色香蕉久久蜜桃| 亚洲黄色片在线观看| 99久久精品免费观看| 中文字幕巨乱亚洲| 成人动漫一区二区在线| 久久久精品一品道一区| 免费精品99久久国产综合精品| 欧美色图在线观看| 亚洲一区二区三区中文字幕在线| 99re热这里只有精品视频| 亚洲女同ⅹxx女同tv| 91一区一区三区| 国产精品资源网站| 一区二区三区蜜桃网| 亚洲综合色婷婷| 亚洲va中文字幕| 日韩在线观看一区二区| 日韩电影免费在线看| 免费在线成人网| 国产精品一区三区| 成人精品国产免费网站| 91香蕉视频mp4| 欧美午夜一区二区三区| 欧美日韩午夜影院| 91.com视频| 久久婷婷国产综合国色天香| 国产欧美日韩精品一区| 中文字幕一区二区三区在线不卡| 国产精品―色哟哟| 欧美成人精品1314www| 成人福利视频网站| 欧美在线看片a免费观看| 欧美三级电影在线观看| 蜜臀精品一区二区三区在线观看 | 一区二区三区影院| 欧美三级三级三级| 国产一区二区三区在线看麻豆| 1024精品合集| 国产精品久久久久婷婷| 91精品国产日韩91久久久久久| 欧美日韩免费一区二区三区| 美腿丝袜亚洲综合| 国产91综合网| 一本一道综合狠狠老| 欧美高清www午色夜在线视频| 欧美成人a在线| 国产精品美日韩| 亚洲成人激情社区| 国产黑丝在线一区二区三区| 成人av电影在线播放| 欧美这里有精品| 久久嫩草精品久久久精品|