亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
94-欧美-setu| 国产精品一区二区不卡| 色噜噜狠狠成人网p站| 国产精品久久久久久久午夜片| 国产乱码精品一区二区三区av | 日本不卡一区二区三区高清视频| 在线视频一区二区三| 亚洲一区二区三区影院| 欧美狂野另类xxxxoooo| 蜜臀va亚洲va欧美va天堂| 精品国产制服丝袜高跟| 懂色av中文一区二区三区| 亚洲天堂免费看| 欧美日韩一区二区不卡| 麻豆成人久久精品二区三区红 | 亚洲国产一区二区三区青草影视 | 国产成人av电影在线| 国产精品国产三级国产普通话三级| 91在线观看美女| 天天av天天翘天天综合网| 欧美成人vr18sexvr| 国产精品一区二区x88av| 日韩美女视频19| 欧美日韩国产一区二区三区地区| 国产永久精品大片wwwapp| 日本一区二区免费在线| 在线亚洲+欧美+日本专区| 韩国欧美国产1区| 亚洲激情成人在线| 欧美成人精品二区三区99精品| 99精品一区二区| 日本v片在线高清不卡在线观看| 久久久久国产精品人| 欧美日韩一区二区三区视频| 国产一区激情在线| 一区二区三区四区不卡在线 | 一区视频在线播放| 777精品伊人久久久久大香线蕉| 国内精品免费在线观看| 亚洲男人电影天堂| 久久久综合网站| 欧美日韩国产首页在线观看| 国产高清无密码一区二区三区| 亚洲永久免费av| 中文字幕av资源一区| 欧美一区二区在线不卡| 色丁香久综合在线久综合在线观看| 日本va欧美va欧美va精品| 亚洲人成精品久久久久| 久久久国产午夜精品| 91精品婷婷国产综合久久| 91免费看`日韩一区二区| 国产一区二区三区四| 天天综合天天综合色| 亚洲天堂成人网| 国产精品乱子久久久久| 久久婷婷国产综合精品青草 | 精品一区二区三区视频在线观看 | 日韩一级片在线观看| 色88888久久久久久影院野外| 国产精品69毛片高清亚洲| 秋霞影院一区二区| 日本中文在线一区| 亚洲成人免费电影| 亚洲精品视频免费看| 亚洲国产高清不卡| 久久久久国产精品人| 欧美成人艳星乳罩| 日韩精品在线网站| 久久一夜天堂av一区二区三区| 日韩写真欧美这视频| 欧美精品黑人性xxxx| 欧美三级中文字幕在线观看| 91黄色在线观看| 日本韩国欧美国产| 欧美三级在线视频| 欧美精品亚洲二区| 日韩欧美色电影| 日韩免费福利电影在线观看| 日韩精品中午字幕| 久久综合色之久久综合| 久久久不卡影院| 国产精品嫩草影院com| 亚洲欧洲日韩一区二区三区| 国产精品麻豆网站| 亚洲综合激情网| 五月婷婷激情综合| 日韩中文欧美在线| 麻豆91在线看| 国产成人av电影免费在线观看| www.欧美日韩| 色999日韩国产欧美一区二区| 欧美三级电影在线看| 3d成人动漫网站| 欧美不卡在线视频| 国产午夜精品一区二区三区嫩草| 国产精品卡一卡二卡三| 亚洲欧美另类久久久精品| 亚洲欧美日韩国产另类专区| 性做久久久久久久免费看| 日本成人在线看| 国产精品一区专区| 91在线视频播放| 欧美精品在线一区二区三区| 日韩一区二区电影| 中文字幕av不卡| 一区二区三区日韩精品视频| 亚洲成人一区二区| 国产91精品久久久久久久网曝门 | 欧美mv和日韩mv的网站| 国产嫩草影院久久久久| 一区二区三区加勒比av| 日韩精品久久久久久| 国产成人免费视频精品含羞草妖精| 色婷婷激情综合| 日韩一区国产二区欧美三区| 欧美精品一区二区三区高清aⅴ| 国产精品丝袜一区| 性感美女极品91精品| 国产精品白丝av| 欧美综合欧美视频| 国产亚洲一区二区三区在线观看 | 国产婷婷色一区二区三区四区 | 国产精品一区二区男女羞羞无遮挡| 成人免费高清在线观看| 91麻豆精品国产自产在线观看一区 | 日韩精品三区四区| 国产不卡免费视频| 日韩女优视频免费观看| 尤物av一区二区| 国产乱码精品一品二品| 欧美综合一区二区三区| 国产精品系列在线| 蜜臀a∨国产成人精品| 99re这里只有精品6| 精品少妇一区二区三区视频免付费| 一区二区三区在线视频免费 | 国产精品国产精品国产专区不片| 三级久久三级久久| 91国在线观看| 国产精品毛片久久久久久久| 奇米色777欧美一区二区| 日本久久电影网| 国产精品久久免费看| 国产综合久久久久久久久久久久| 欧美日韩另类一区| 综合电影一区二区三区| 丰满亚洲少妇av| 国产日韩精品视频一区| 国产最新精品免费| 日韩亚洲欧美中文三级| 午夜欧美一区二区三区在线播放| www.亚洲色图| 国产精品国产三级国产专播品爱网| 国产高清久久久| 久久日韩精品一区二区五区| 日本在线不卡视频一二三区| 91在线云播放| 亚洲人妖av一区二区| 岛国精品在线播放| 国产欧美视频一区二区三区| 国产精品一区在线观看乱码| 久久综合色之久久综合| 久久aⅴ国产欧美74aaa| 日韩一区二区三区电影在线观看 | 欧美三级欧美一级| 夜夜嗨av一区二区三区网页| 色猫猫国产区一区二在线视频| 亚洲视频精选在线| 色综合久久久久网| 一区二区视频在线| 欧美无人高清视频在线观看| 亚洲国产成人高清精品| 欧美丝袜丝交足nylons| 日韩制服丝袜av| 日韩精品一区二区在线| 狠狠网亚洲精品| 国产色一区二区| 成人涩涩免费视频| 亚洲人成网站色在线观看| 色综合久久久久久久久久久| 亚洲午夜激情网页| 91精品欧美一区二区三区综合在| 五月激情六月综合| 欧美一级理论片| 国产一区二区三区在线观看精品 | 亚洲三级理论片| 日本韩国视频一区二区| 视频一区在线视频| 日韩一二三四区| 国产91精品在线观看| 亚洲天堂av一区| 555www色欧美视频| 国产乱国产乱300精品| 国产精品久久久久久久裸模| 欧美色国产精品| 精品在线一区二区三区| 中文字幕一区在线观看视频| 色婷婷综合久久久| 精品一区二区综合|