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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? util.c

?? 經典生物信息學多序列比對工具clustalw
?? C
字號:
#include <stdlib.h>#include <stdio.h>#include <string.h>#include <errno.h>#include <stdarg.h>#include <ctype.h>#include "clustalw.h"extern char **seq_array;extern sint  *seqlen_array;extern char **names,**titles;extern sint *output_index;extern sint *seq_weight;extern double **tmat;/**	ckalloc()**	Tries to allocate "bytes" bytes of memory. Exits program if failed.*	Return value:*		Generic pointer to the newly allocated memory.*/void *ckalloc(size_t bytes){	register void *ret;		if( (ret = calloc(bytes, sizeof(char))) == NULL)/*	if( (ret = malloc(bytes)) == NULL)*/		fatal("Out of memory\n");	else		return ret;		return ret;	}/**	ckrealloc()**	Tries to reallocate "bytes" bytes of memory. Exits program if failed.*	Return value:*		Generic pointer to the re-allocated memory.*/void *ckrealloc(void *ptr, size_t bytes){	register void *ret=NULL;	if (ptr == NULL)			fatal("Bad call to ckrealloc\n");	else if( (ret = realloc(ptr, bytes)) == NULL)		fatal("Out of memory\n");	else		return ret;		return ret;	}/**	ckfree()**	Tries to free memory allocated by ckalloc.*	Return value:*		None.*/void *ckfree(void *ptr){	if (ptr == NULL)		warning("Bad call to ckfree\n");	else {	 	free(ptr);		ptr = NULL;	}	return ptr;}/**	rtrim()**	Removes trailing blanks from a string**	Return values:*		Pointer to the processed string*/char * rtrim(char *str){	register int p;	p = strlen(str) - 1;		while ( isspace(str[p]) )		p--;			str[p + 1] = EOS;		return str;}/**	blank_to_()**	Replace blanks in a string with underscores**       Also replaces , ; : ( or ) with _**	Return value:*		Pointer to the processed string*/char * blank_to_(char *str){	int i,p;	p = strlen(str) - 1;		for(i=0;i<=p;i++) 		if(                     (str[i]==' ') ||                     (str[i]==';') ||                     (str[i]==',') ||                     (str[i]=='(') ||                     (str[i]==')') ||                     (str[i]==':')                   )                      str[i] = '_';		return str;}/**	upstr()**	Converts string str to uppercase.*	Return values:*		Pointer to the converted string.*/char * upstr(char *str){	register char *s = str;		while( (*s = toupper(*s)) )		s++;			return str;}/**	lowstr()**	Converts string str to lower case.*	Return values:*		Pointer to the converted string.*/char * lowstr(char *str){	register char *s = str;		while( (*s = tolower(*s)) )		s++;			return str;}void getstr(char *instr,char *outstr){		fprintf(stdout,"%s: ",instr);	gets(outstr);}double getreal(char *instr,double minx,double maxx,double def){	int status;	float ret;	char line[MAXLINE];			while(TRUE) {		fprintf(stdout,"%s (%.1f-%.1f)   [%.1f]: ",instr,minx,maxx,def);		gets(line);		status=sscanf(line,"%f",&ret);		if(status == EOF) return def;		if(ret>maxx) {			fprintf(stdout,"ERROR: Max. value=%.1f\n\n",maxx);			continue;		}		if(ret<minx) {			fprintf(stdout,"ERROR: Min. value=%.1f\n\n",minx);			continue;		}		break;	}	return (double)ret;}int getint(char *instr,int minx,int maxx, int def){	int ret,status;	char line[MAXLINE];		while(TRUE) {		fprintf(stdout,"%s (%d..%d)    [%d]: ",		instr,(pint)minx,(pint)maxx,(pint)def);		gets(line);		status=sscanf(line,"%d",&ret);		if(status == EOF) return def;		if(ret>maxx) {			fprintf(stdout,"ERROR: Max. value=%d\n\n",(pint)maxx);			continue;		}		if(ret<minx) {			fprintf(stdout,"ERROR: Min. value=%d\n\n",(pint)minx);			continue;		}		break;	}	return ret;}void do_system(void){	char line[MAXLINE];		getstr("\n\nEnter system command",line);	if(*line != EOS)		system(line);	fprintf(stdout,"\n\n");}Boolean linetype(char *line,char *code){	return( strncmp(line,code,strlen(code)) == 0 );}Boolean keyword(char *line,char *code){	int i;	char key[MAXLINE];	for(i=0;!isspace(line[i]) && line[i]!=EOS;i++)		key[i]=line[i];	key[i]=EOS;	return( strcmp(key,code) == 0 );}Boolean blankline(char *line){	int i;	for(i=0;line[i]!='\n' && line[i]!=EOS;i++) {		if( isdigit(line[i]) ||		    isspace(line[i]) ||		    (line[i] == '*') ||		    (line[i] == ':') ||                    (line[i] == '.')) 			;		else			return FALSE;	}	return TRUE;}void get_path(char *str,char *path){	register int i;		strcpy(path,str);	for(i=strlen(path)-1;i>-1;--i) {		if(str[i]==DIRDELIM) {			i = -1;			break;		}		if(str[i]=='.') break;	}	if(i<0)		strcat(path,".");	else		path[i+1]=EOS;}void alloc_aln(sint nseqs){	sint i,j;        seqlen_array = (sint *)ckalloc( (nseqs+1) * sizeof (sint));        seq_array = (char **)ckalloc( (nseqs + 1) * sizeof (char *) );	for(i=0;i<nseqs+1;i++)		seq_array[i]=NULL;        names = (char **)ckalloc( (nseqs+1) * sizeof (char *) );        for(i=1;i<=nseqs;i++)                names[i] = (char *)ckalloc((MAXNAMES+1) * sizeof (char));        titles = (char **)ckalloc( (nseqs+1) * sizeof (char *) );        for(i=1;i<=nseqs;i++)                titles[i] = (char *)ckalloc((MAXTITLES+1) * sizeof (char));        output_index = (sint *)ckalloc( (nseqs+1) * sizeof (sint));        tmat = (double **) ckalloc( (nseqs+1) * sizeof (double *) );        for(i=1;i<=nseqs;i++)                tmat[i] = (double *)ckalloc( (nseqs+1) * sizeof (double) );        for(i=1;i<=nseqs;i++)        	for(j=1;j<=nseqs;j++)			tmat[i][j]=0.0;        seq_weight = (sint *)ckalloc( (nseqs+1) * sizeof (sint));        for(i=1;i<=nseqs;i++)		seq_weight[i]=100;}void realloc_aln(sint first_seq,sint nseqs){	sint i,j;        seqlen_array = (sint *)ckrealloc(seqlen_array, (first_seq+nseqs+1) * sizeof (sint));        seq_array = (char **)ckrealloc(seq_array, (first_seq+nseqs+1) * sizeof (char *) );	for(i=first_seq;i<first_seq+nseqs+1;i++)		seq_array[i]=NULL;        names = (char **)ckrealloc(names, (first_seq+nseqs+1) * sizeof (char *) );        for(i=first_seq;i<first_seq+nseqs;i++)                names[i] = (char *)ckalloc((MAXNAMES+1) * sizeof (char));        titles = (char **)ckrealloc(titles, (first_seq+nseqs+1) * sizeof (char *) );        for(i=first_seq;i<first_seq+nseqs;i++)                titles[i] = (char *)ckalloc((MAXTITLES+1) * sizeof (char));        output_index = (sint *)ckrealloc(output_index, (first_seq+nseqs+1) * sizeof (sint));        seq_weight = (sint *)ckrealloc(seq_weight, (first_seq+nseqs+1) * sizeof (sint));        for(i=first_seq;i<first_seq+nseqs;i++)		seq_weight[i]=100;        tmat = (double **) ckrealloc(tmat, (first_seq+nseqs+1) * sizeof (double *) );        for(i=1;i<first_seq;i++)                tmat[i] = (double *)ckrealloc(tmat[i], (first_seq+nseqs+1) * sizeof (double) );        for(i=first_seq;i<first_seq+nseqs;i++)                tmat[i] = (double *)ckalloc( (first_seq+nseqs+1) * sizeof (double) );        for(i=1;i<first_seq;i++)        	for(j=first_seq;j<first_seq+nseqs;j++)		{			tmat[i][j]=0.0;			tmat[j][i]=0.0;		}}void free_aln(sint nseqs){	sint i;	if(nseqs<=0) return;	seqlen_array = ckfree(seqlen_array);        for(i=1;i<=nseqs;i++)		seq_array[i] = ckfree(seq_array[i]);	seq_array = ckfree(seq_array);	for(i=1;i<=nseqs;i++)		names[i] = ckfree(names[i]);	names = ckfree(names);	for(i=1;i<=nseqs;i++)		titles[i] = ckfree(titles[i]);	titles = ckfree(titles);	output_index = ckfree(output_index);	seq_weight = ckfree(seq_weight);        for(i=1;i<=nseqs;i++)		tmat[i] = ckfree(tmat[i]);	tmat = ckfree(tmat);}void alloc_seq(sint seq_no,sint length){	seq_array[seq_no] = (char *)ckalloc((length+2) * sizeof (char));}void realloc_seq(sint seq_no,sint length){	seq_array[seq_no] = (char *)realloc(seq_array[seq_no], (length+2) * sizeof (char));}void free_seq(sint seq_no){	seq_array[seq_no]=ckfree(seq_array[seq_no]);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一区在线观看| 精品国产不卡一区二区三区| 国产高清无密码一区二区三区| 久久久久久久久蜜桃| 一本色道a无线码一区v| 久久精品99久久久| 一区二区三区日韩在线观看| ww亚洲ww在线观看国产| 色婷婷av一区二区三区大白胸| 蜜桃传媒麻豆第一区在线观看| 亚洲欧美国产77777| 精品三级在线观看| 欧美色图片你懂的| 成人性生交大片| 久久精品久久久精品美女| 成人欧美一区二区三区黑人麻豆| 精品久久久影院| 91精品国产综合久久婷婷香蕉| 波波电影院一区二区三区| 激情伊人五月天久久综合| 日韩和欧美的一区| 中文字幕在线一区| 国产欧美一二三区| 精品三级av在线| 欧美日韩一区二区电影| 91在线无精精品入口| 国产一区二区三区不卡在线观看 | 不卡的av电影| 婷婷久久综合九色国产成人| 国产精品乱人伦中文| 久久青草国产手机看片福利盒子| 欧美日韩欧美一区二区| 91久久线看在观草草青青| 国产专区综合网| 秋霞国产午夜精品免费视频| 亚洲一区二区三区激情| 欧美成人一区二区三区在线观看 | 成人免费在线观看入口| 欧美电影免费观看高清完整版在| 5566中文字幕一区二区电影| 99久久久精品| 99久久精品国产麻豆演员表| 国产尤物一区二区| 国产精品自产自拍| 久久机这里只有精品| 久久成人av少妇免费| 日韩av在线播放中文字幕| 天天综合色天天综合色h| 亚洲男人的天堂在线aⅴ视频| 欧美猛男男办公室激情| 欧美影院午夜播放| 色综合一区二区| 色呦呦国产精品| 欧美视频一二三区| 在线免费不卡视频| 欧美精品一级二级| 精品视频一区二区三区免费| 欧美另类久久久品| 欧美日韩国产在线观看| 日韩视频在线永久播放| 制服.丝袜.亚洲.另类.中文 | 欧美伊人久久久久久午夜久久久久| 波多野结衣91| 欧美在线不卡视频| 在线观看日韩国产| 欧美在线啊v一区| 精品视频一区二区三区免费| 色哟哟一区二区| 91.xcao| 在线不卡a资源高清| 精品成人在线观看| 国产免费久久精品| 亚洲精品大片www| 午夜一区二区三区在线观看| 久久国产尿小便嘘嘘| 麻豆精品一区二区| 成人深夜福利app| 成人av在线播放网址| 欧美日韩电影在线播放| 日韩一区二区三区视频在线| 日本一区二区三区国色天香 | 欧美日韩在线电影| 7777精品伊人久久久大香线蕉经典版下载| 日韩写真欧美这视频| 精品国产一区久久| 综合av第一页| 亚洲国产日韩综合久久精品| 久久国产精品99久久久久久老狼 | 欧美三级韩国三级日本三斤| 欧美精品在欧美一区二区少妇| 久久久www成人免费无遮挡大片 | 国产精品日产欧美久久久久| 亚洲午夜久久久久中文字幕久| 日本视频在线一区| 99re66热这里只有精品3直播| 欧美综合在线视频| 中文欧美字幕免费| 亚洲成av人片一区二区三区| 丰满少妇久久久久久久| 欧美午夜电影网| 精品少妇一区二区三区日产乱码 | 欧美久久高跟鞋激| 久久久亚洲精品一区二区三区 | 午夜精品视频一区| 韩国av一区二区三区在线观看| 日本电影欧美片| 日韩精品专区在线影院重磅| 一区二区在线看| 精品一区二区国语对白| 91蜜桃免费观看视频| 91麻豆精品国产自产在线观看一区| 国产无人区一区二区三区| 中文字幕一区在线观看视频| 日韩av午夜在线观看| 一本色道久久综合亚洲精品按摩 | 中文字幕在线一区免费| 久久99精品久久久久久国产越南| 99精品国产99久久久久久白柏| 26uuu国产一区二区三区| 一区二区三区日韩精品视频| 99视频在线观看一区三区| 日韩美女在线视频 | 精品卡一卡二卡三卡四在线| 亚洲精品视频在线看| 成人永久aaa| 日韩精品一区国产麻豆| 蜜桃视频一区二区三区在线观看| 99久久国产综合精品麻豆| 欧美极品另类videosde| 日韩在线卡一卡二| 欧美日韩一区二区不卡| 亚洲视频一区二区免费在线观看| 成人av在线资源网| 久久欧美中文字幕| 国产又黄又大久久| 欧美成人精品福利| 精品一区二区免费看| 7777精品伊人久久久大香线蕉 | 日韩av电影免费观看高清完整版| 91网上在线视频| 亚洲乱码日产精品bd| 成人精品视频一区| 国产精品乱码一区二区三区软件| 激情图片小说一区| 久久影院午夜片一区| 免费成人美女在线观看.| 日韩欧美二区三区| 免费人成在线不卡| 精品久久久久久无| 久久成人av少妇免费| 国产人成亚洲第一网站在线播放| 久久成人羞羞网站| 久久精品欧美一区二区三区麻豆| 激情综合一区二区三区| 久久久久青草大香线综合精品| 韩日欧美一区二区三区| 久久久久97国产精华液好用吗| 精品在线播放午夜| 国产精品你懂的在线| 91久久精品国产91性色tv| 午夜电影一区二区三区| 精品国产一区二区在线观看| 亚洲一卡二卡三卡四卡无卡久久| 在线播放欧美女士性生活| 久久精品国产99久久6| 欧美精品一区二区三区蜜桃视频 | 欧美一级在线免费| 激情综合一区二区三区| 国产三级一区二区三区| 成人久久视频在线观看| 亚洲女与黑人做爰| 717成人午夜免费福利电影| 日韩电影免费在线观看网站| 国产天堂亚洲国产碰碰| 国产精品中文字幕一区二区三区| 中文字幕一区在线| 91在线免费播放| 青青草原综合久久大伊人精品 | 国产精品一区二区免费不卡| 亚洲欧美一区二区三区国产精品 | 亚洲欧洲日韩一区二区三区| 91玉足脚交白嫩脚丫在线播放| 日韩二区三区四区| 精品国产乱码久久久久久1区2区| 懂色av噜噜一区二区三区av| 一区二区三区免费看视频| 日韩一区二区三区在线视频| 99国产精品国产精品毛片| 亚洲蜜桃精久久久久久久| 日韩欧美的一区二区| 秋霞成人午夜伦在线观看| 国产精品网站在线播放| 337p亚洲精品色噜噜狠狠| 国产成人亚洲综合色影视| 亚洲va韩国va欧美va| 久久影院视频免费| 欧美日韩激情一区| 丁香天五香天堂综合| 日本三级亚洲精品| 国产精品福利av|