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

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

?? interface.c

?? 經典生物信息學多序列比對工具clustalw
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* command line interface for Clustal W  *//* DES was here MARCH. 1994 *//* DES was here SEPT.  1994 *//* Fixed memory allocation bug in check_param() . Alan Bleasby Dec 2002 */#include <stdio.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#include <signal.h>#include <setjmp.h>#include "clustalw.h"#include "param.h"/**	Prototypes*/#ifdef UNIXFILE    *open_path(char *);#endifchar *nameonly(char *s) ;static sint check_param(char **args,char *params[], char *param_arg[]);static void set_optional_param(void);static sint find_match(char *probe, char *list[], sint n);static void show_aln(void);static void create_parameter_output(void);static void reset_align(void);static void reset_prf1(void);static void reset_prf2(void);static void calc_gap_penalty_mask(int prf_length,char *struct_mask,char *gap_mask);void print_sec_struct_mask(int prf_length,char *mask,char *struct_mask);/**	 Global variables*/extern sint max_names;extern Boolean interactive;extern double  **tmat;extern float    gap_open,      gap_extend;extern float  	dna_gap_open,  dna_gap_extend;extern float 	prot_gap_open, prot_gap_extend;extern float    pw_go_penalty,      pw_ge_penalty;extern float  	dna_pw_go_penalty,  dna_pw_ge_penalty;extern float 	prot_pw_go_penalty, prot_pw_ge_penalty;extern char 	revision_level[];extern sint    wind_gap,ktup,window,signif;extern sint    dna_wind_gap, dna_ktup, dna_window, dna_signif;extern sint    prot_wind_gap,prot_ktup,prot_window,prot_signif;extern sint	boot_ntrials;		/* number of bootstrap trials */extern sint	nseqs;extern sint	new_seq;extern sint 	*seqlen_array;extern sint 	divergence_cutoff;extern sint 	debug;extern Boolean 	no_weights;extern Boolean 	neg_matrix;extern Boolean  quick_pairalign;extern Boolean	reset_alignments_new;		/* DES */extern Boolean	reset_alignments_all;		/* DES */extern sint 	gap_dist;extern Boolean 	no_hyd_penalties, no_pref_penalties;extern sint 	max_aa;extern sint 	gap_pos1, gap_pos2;extern sint  	max_aln_length;extern sint 	*output_index, output_order;extern sint profile_no;extern short 	usermat[], pw_usermat[];extern short 	aa_xref[], pw_aa_xref[];extern short 	userdnamat[], pw_userdnamat[];extern short 	dna_xref[], pw_dna_xref[];extern sint	*seq_weight;extern Boolean 	lowercase; /* Flag for GDE output - set on comm. line*/extern Boolean 	cl_seq_numbers;extern Boolean seqRange; /*Ramu */extern Boolean 	output_clustal, output_nbrf, output_phylip, output_gcg, output_gde, output_nexus, output_fasta;extern Boolean 	output_tree_clustal, output_tree_phylip, output_tree_distances, output_tree_nexus;extern sint     bootstrap_format;extern Boolean 	tossgaps, kimura;extern Boolean  percent;extern Boolean 	explicit_dnaflag;  /* Explicit setting of sequence type on comm.line*/extern Boolean 	usemenu;extern Boolean 	showaln, save_parameters;extern Boolean	dnaflag;extern float	transition_weight;extern unsigned sint boot_ran_seed;extern FILE 	*tree;extern FILE 	*clustal_outfile, *gcg_outfile, *nbrf_outfile, *phylip_outfile, *nexus_outfile;extern FILE     *fasta_outfile; /* Ramu */extern FILE 	*gde_outfile;extern char 	hyd_residues[];extern char 	*amino_acid_codes;extern char 	**args;extern char	seqname[];extern char 	**seq_array;extern char 	**names, **titles;extern char *gap_penalty_mask1,*gap_penalty_mask2;extern char *sec_struct_mask1,*sec_struct_mask2;extern sint struct_penalties,struct_penalties1,struct_penalties2;extern sint output_struct_penalties;extern Boolean use_ss1, use_ss2;extern char *ss_name1,*ss_name2;char *ss_name = NULL;char *sec_struct_mask = NULL;char *gap_penalty_mask = NULL;char  	profile1_name[FILENAMELEN+1];char  	profile2_name[FILENAMELEN+1];Boolean empty;Boolean profile1_empty, profile2_empty;   /* whether or not profiles   */char 	outfile_name[FILENAMELEN+1]="";static char 	clustal_outname[FILENAMELEN+1], gcg_outname[FILENAMELEN+1];static char  	phylip_outname[FILENAMELEN+1],nbrf_outname[FILENAMELEN+1];static char  	gde_outname[FILENAMELEN+1], nexus_outname[FILENAMELEN+1];static char     fasta_outname[FILENAMELEN+1];  /* Ramu */char     clustal_tree_name[FILENAMELEN+1]="";char     dist_tree_name[FILENAMELEN+1]="";char 	phylip_tree_name[FILENAMELEN+1]="";char 	nexus_tree_name[FILENAMELEN+1]="";char 	p1_tree_name[FILENAMELEN+1]="";char 	p2_tree_name[FILENAMELEN+1]="";char pim_name[FILENAMELEN+1]=""; /* Ramu */static char *params[MAXARGS];static char *param_arg[MAXARGS];static char *cmd_line_type[] = {                " ",                "=n ",                "=f ",                "=string ",                "=filename ",                ""};static sint numparams;static Boolean check_tree = TRUE;sint 	profile1_nseqs;	/* have been filled; the no. of seqs in prof 1*/Boolean use_tree_file = FALSE,new_tree_file = FALSE;Boolean use_tree1_file = FALSE, use_tree2_file = FALSE;Boolean new_tree1_file = FALSE, new_tree2_file = FALSE;static char *lin2;MatMenu dnamatrix_menu = {3,                "IUB","iub",                "CLUSTALW(1.6)","clustalw",                "User defined",""		};MatMenu matrix_menu = {5,                "BLOSUM series","blosum",                "PAM series","pam",                "Gonnet series","gonnet",                "Identity matrix","id",                "User defined",""		}; MatMenu pw_matrix_menu = {5,                "BLOSUM 30","blosum",                "PAM 350","pam",                "Gonnet 250","gonnet",                "Identity matrix","id",                "User defined",""		};void init_interface(void){  empty=TRUE;    profile1_empty = TRUE;     /*  */  profile2_empty = TRUE;     /*  */    lin2 = (char *)ckalloc( (MAXLINE+1) * sizeof (char) );	}static sint check_param(char **args,char *params[], char *param_arg[]){/*#ifndef MAC        char *strtok(char *s1, const char *s2);#endif*/        sint     len,i,j,k,s,n,match[MAXARGS];		Boolean 	name1 = FALSE;		sint ajb;	if(args[0]==NULL) return;	params[0]=(char *)ckalloc((strlen(args[0])+1)*sizeof(char));	if (args[0][0]!=COMMANDSEP)	{		name1 = TRUE;		strcpy(params[0],args[0]);	}	else		strcpy(params[0],&args[0][1]);        for (i=1;i<MAXARGS;i++) {		if(args[i]==NULL) break;		params[i]=(char *)ckalloc((strlen(args[i])+1)*sizeof(char));		ajb=0;		for(j=0;j<strlen(args[i])-1;j++)			if(isprint(args[i][j+1])) params[i][ajb++]=args[i][j+1];		params[i][ajb]='\0';        }        if (i==MAXARGS) {		fprintf(stdout,"Error: too many command line arguments\n"); 		return(-1);	}/*    special case - first parameter is input filename  */  s = 0;  if(name1 == TRUE) {    strcpy(seqname, params[0]);    /*  JULIE	convert to lower case now    */#ifndef UNIX    for(k=0;k<(sint)strlen(params[0]);++k) seqname[k]=tolower(params[0][k]);#else    for(k=0;k<(sint)strlen(params[0]);++k) seqname[k]=params[0][k];#endif     s++;  }    n = i;  for (i=s;i<n;i++) {    param_arg[i] = NULL;    len = (sint)strlen(params[i]);    for(j=0; j<len; j++)      if(params[i][j] == '=') {	param_arg[i] = (char *)ckalloc((len-j) * sizeof(char));	strncpy(param_arg[i],&params[i][j+1],len-j-1);	params[i][j] = EOS;	/*  JULIE	    convert keywords to lower case now	*/	for(k=0;k<j;++k) params[i][k]=tolower(params[i][k]);	param_arg[i][len-j-1] = EOS;	break;      }  }    /*    for each parameter given on the command line, first search the list of recognised optional     parameters....  */  for (i=0;i<n;i++) {    if ((i==0) && (name1 == TRUE)) continue;    j = 0;    match[i] = -1;    for(;;) {      if (cmd_line_para[j].str[0] == '\0') break;      if (!strcmp(params[i],cmd_line_para[j].str)) {	match[i] = j;	*cmd_line_para[match[i]].flag = i;	if ((cmd_line_para[match[i]].type != NOARG) &&	    (param_arg[i] == NULL)) {	  fprintf(stdout,		  "Error: parameter required for /%s\n",params[i]);	  exit(1);	}	/*  JULIE	    convert parameters to lower case now, unless the parameter is a filename	*/#ifdef UNIX	else if (cmd_line_para[match[i]].type != FILARG		 && param_arg[i] != NULL)#endif 	  if (param_arg[i]!=0)	    {	      for(k=0;k<strlen(param_arg[i]);++k)		param_arg[i][k]=tolower(param_arg[i][k]);	    }	break;      }      j++;    }  }  /*    ....then the list of recognised input files,.... */    for (i=0;i<n;i++) {		if ((i==0) && (name1 == TRUE)) continue;		if (match[i] != -1) continue;		j = 0;		for(;;) {			if (cmd_line_file[j].str[0] == '\0') break;			if (!strcmp(params[i],cmd_line_file[j].str)) {				match[i] = j;				*cmd_line_file[match[i]].flag = i;				if ((cmd_line_file[match[i]].type != NOARG) &&                                    (param_arg[i] == NULL)) {					fprintf(stdout,                       				 "Error: parameter required for /%s\n",params[i]);					exit(1);				}				break;			}			j++;		}	}/*	....and finally the recognised verbs. */    for (i=0;i<n;i++) {		if ((i==0) && (name1 == TRUE)) continue;		if (match[i] != -1) continue;		j = 0;		for(;;) {			if (cmd_line_verb[j].str[0] == '\0') break;			if (!strcmp(params[i],cmd_line_verb[j].str)) {				match[i] = j;				*cmd_line_verb[match[i]].flag = i;				if ((cmd_line_verb[match[i]].type != NOARG) &&                                    (param_arg[i] == NULL)) {					fprintf(stdout,                       				 "Error: parameter required for /%s\n",params[i]);					exit(1);				}				break;			}			j++;		}	}/*	check for any unrecognised parameters.*/    for (i=0;i<n;i++) {		if (match[i] == -1) {			fprintf(stdout,                        "Error: unknown option %c%s\n",COMMANDSEP,params[i]);			exit(1);		}	}        return(n);}static void set_optional_param(void){  int i,temp;  int c;  float ftemp;  char tstr[100];    /****************************************************************************/  /* look for parameters on command line  e.g. gap penalties, k-tuple etc.    */  /****************************************************************************/    /*** ? /score=percent or /score=absolute */  if(setscore != -1)    if(strlen(param_arg[setscore]) > 0) {      temp = find_match(param_arg[setscore],score_arg,2);      if(temp == 0)	percent = TRUE;      else if(temp == 1)	percent = FALSE;      else	fprintf(stdout,"\nUnknown SCORE type: %s\n",		param_arg[setscore]);    }    /*** ? /seed=n */  if(setseed != -1) {    temp = 0;    if(strlen(param_arg[setseed]) > 0)      if (sscanf(param_arg[setseed],"%d",&temp)!=1) {	fprintf(stdout,"Bad option for /seed (must be integer)\n");	temp = 0;      }    if(temp > 0) boot_ran_seed = temp;    fprintf(stdout,"\ntemp = %d; seed = %u;\n",(pint)temp,boot_ran_seed);  }  /*** ? /output=PIR, GCG, GDE or PHYLIP */		if(setoutput != -1)		if(strlen(param_arg[setoutput]) > 0) {			temp = find_match(param_arg[setoutput],output_arg,6);			if (temp >= 0 && temp <= 5) {				output_clustal = FALSE;				output_gcg     = FALSE;				output_phylip  = FALSE;				output_nbrf    = FALSE;				output_gde     = FALSE;				output_nexus   = FALSE;				output_fasta   = FALSE;			}			switch (temp) {				case 0: /* GCG */					output_gcg     = TRUE;					break;				case 1: /* GDE */					output_gde     = TRUE;					break;				case 2: /* PIR */					output_nbrf    = TRUE;					break;				case 3: /* PHYLIP */					output_phylip  = TRUE;					break;				case 4: /* NEXUS */					output_nexus   = TRUE;					break;				case 5: /* NEXUS */					output_fasta   = TRUE;					break;				default:					fprintf(stdout,"\nUnknown OUTPUT type: %s\n",					param_arg[setoutput]);			}		}/*** ? /outputtree=NJ or PHYLIP or DIST or NEXUS */	if(setoutputtree != -1)		if(strlen(param_arg[setoutputtree]) > 0) {			temp = find_match(param_arg[setoutputtree],outputtree_arg,4);			switch (temp) {				case 0: /* NJ */					output_tree_clustal = TRUE;					break;				case 1: /* PHYLIP */					output_tree_phylip  = TRUE;					break;				case 2: /* DIST */					output_tree_distances = TRUE;					break;				case 3: /* NEXUS */					output_tree_nexus = TRUE;					break;				default:					fprintf(stdout,"\nUnknown OUTPUT TREE type: %s\n",					param_arg[setoutputtree]);			}		}/*** ? /profile (sets type of second input file to profile) */  if(setprofile != -1)    profile_type = PROFILE;    /*** ? /sequences (sets type of second input file to list of sequences)  */  if(setsequences != -1)    profile_type = SEQUENCE;        /*** ? /ktuple=n */  if(setktuple != -1) {    temp = 0;    if(strlen(param_arg[setktuple]) > 0)      if (sscanf(param_arg[setktuple],"%d",&temp)!=1) {	fprintf(stdout,"Bad option for /ktuple (must be integer)\n");	temp = 0;      }    if(temp > 0) {      if(dnaflag) {	if(temp <= 4) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成人一区二区在线观看| 欧美精品一区二区在线播放| 日韩精品一区二区三区中文不卡| 亚洲国产激情av| 肉肉av福利一精品导航| 91在线视频观看| 2021久久国产精品不只是精品| 国产精品不卡一区| 精品一区二区三区影院在线午夜| 色综合久久综合| 国产女人18毛片水真多成人如厕| 日韩电影一区二区三区四区| 91捆绑美女网站| 中文字幕免费在线观看视频一区| 三级不卡在线观看| 欧美日韩国产乱码电影| 亚洲欧美偷拍卡通变态| 成人免费福利片| 久久人人爽爽爽人久久久| 午夜激情一区二区三区| 欧美丝袜第三区| 一区二区日韩电影| 色94色欧美sute亚洲13| 国产精品久久久久久福利一牛影视 | 欧美理论在线播放| 一区二区欧美国产| 色欲综合视频天天天| 国产精品久久久久久久岛一牛影视 | 久久久亚洲精品一区二区三区| 视频一区在线播放| 欧美日韩成人综合在线一区二区| 亚洲欧美日韩中文播放| 99久久夜色精品国产网站| 日本一区二区三级电影在线观看| 精品一区二区三区视频 | 久久国产视频网| 日韩欧美国产精品| 免费在线视频一区| 日韩一区二区三区四区五区六区| 日韩成人一区二区| 91麻豆精品国产91久久久资源速度 | 日韩视频免费直播| 久久99热狠狠色一区二区| 日韩欧美区一区二| 国产呦精品一区二区三区网站| 欧美一区二区三区在线观看| 老司机精品视频一区二区三区| 日韩精品专区在线影院重磅| 国产一区二区不卡老阿姨| 国产精品免费久久久久| 色丁香久综合在线久综合在线观看| 夜夜嗨av一区二区三区网页| 欧美精品乱码久久久久久按摩| 视频在线在亚洲| 国产日韩精品视频一区| 色婷婷久久一区二区三区麻豆| 午夜精品一区二区三区三上悠亚| 日韩欧美成人激情| 99天天综合性| 日韩综合小视频| 国产亚洲综合性久久久影院| 91在线免费视频观看| 日本视频在线一区| 国产精品网站一区| 欧美一区二区私人影院日本| 成人午夜av电影| 日本欧美加勒比视频| 国产欧美日韩不卡免费| 欧美日韩一本到| 国产成人自拍网| 午夜伦欧美伦电影理论片| 久久久美女艺术照精彩视频福利播放| jlzzjlzz欧美大全| 看片网站欧美日韩| 亚洲品质自拍视频网站| 亚洲精品一区二区三区四区高清| av色综合久久天堂av综合| 日产国产欧美视频一区精品| 最新中文字幕一区二区三区| 欧美日韩国产精选| 91视视频在线直接观看在线看网页在线看 | 在线亚洲+欧美+日本专区| 韩国欧美一区二区| 午夜精品久久久久久久久久久 | 精品久久久久久久一区二区蜜臀| 99r国产精品| 国产91丝袜在线观看| 青青草97国产精品免费观看无弹窗版 | 精品国产乱子伦一区| 欧美日韩成人综合天天影院| 99在线精品免费| 国产xxx精品视频大全| 日本视频一区二区三区| 亚洲国产中文字幕在线视频综合| 欧美激情一区二区三区蜜桃视频| 欧美不卡激情三级在线观看| 欧美日韩国产综合一区二区 | 欧美videos中文字幕| 欧美午夜宅男影院| 99久久国产综合精品麻豆| 成人午夜激情影院| 国产一区91精品张津瑜| 久久国产欧美日韩精品| 日韩成人一区二区三区在线观看| 亚洲一线二线三线视频| 亚洲色图欧美在线| 亚洲欧美日韩久久| 亚洲精品老司机| 自拍偷拍国产亚洲| 一区二区在线观看免费视频播放| 国产精品蜜臀av| 国产精品乱码久久久久久| 亚洲国产精品传媒在线观看| 中文子幕无线码一区tr| 国产精品水嫩水嫩| 专区另类欧美日韩| 亚洲另类在线一区| 亚洲狠狠爱一区二区三区| 亚洲国产精品久久人人爱蜜臀 | 欧美一区二区免费| 91精品国产美女浴室洗澡无遮挡| 538prom精品视频线放| 91精品国产综合久久精品图片| 欧美日本视频在线| 欧美成人a在线| 亚洲国产精品ⅴa在线观看| 中文字幕在线播放不卡一区| 亚洲精品免费在线播放| 午夜精品免费在线| 久久国产精品99久久人人澡| 国产精选一区二区三区| 成人免费的视频| 在线视频国内一区二区| 日韩视频永久免费| 国产精品亲子伦对白| 亚洲精品免费一二三区| 视频在线观看一区二区三区| 国产一区二区在线电影| 91丨九色porny丨蝌蚪| 欧美日本一区二区| 国产日韩欧美不卡在线| 亚洲在线成人精品| 紧缚捆绑精品一区二区| 色综合一个色综合亚洲| 欧美一区二区三区的| 欧美—级在线免费片| 亚洲bdsm女犯bdsm网站| 国产一区二区视频在线播放| 色噜噜夜夜夜综合网| 精品91自产拍在线观看一区| 国产精品午夜久久| 天堂av在线一区| 99国产精品视频免费观看| 欧美一级在线视频| 日韩一区在线播放| 久久国产精品99精品国产| 91丨九色丨黑人外教| 欧美精品一区二区在线播放| 亚洲制服丝袜av| 国产馆精品极品| 3d动漫精品啪啪1区2区免费| 国产精品你懂的在线欣赏| 日韩av一二三| 色婷婷精品久久二区二区蜜臂av| 亚洲精品在线网站| 五月婷婷欧美视频| 99久久精品费精品国产一区二区| 日韩欧美一区二区视频| 一区二区国产视频| 成人在线视频一区| 精品久久99ma| 石原莉奈在线亚洲二区| 91一区二区在线| 中文字幕在线观看不卡| 狠狠色2019综合网| 欧美一区二区精美| 污片在线观看一区二区| 91免费国产在线观看| 国产精品久久综合| 高清在线不卡av| 2023国产精品视频| 捆绑变态av一区二区三区| 欧美精品18+| 亚洲成人第一页| 欧美亚洲综合色| 一区二区三区久久| 91免费在线播放| 亚洲精品国产视频| 91精品福利在线| 亚洲精品日日夜夜| 色婷婷综合久久久中文一区二区 | 久久亚洲捆绑美女| 精品一区二区久久久| 日韩欧美一区中文| 狂野欧美性猛交blacked| 这里只有精品电影| 琪琪一区二区三区| 日韩久久免费av| 国产精品中文字幕欧美| 久久久电影一区二区三区|