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

📄 amenu.c

📁 经典生物信息学多序列比对工具clustalw
💻 C
📖 第 1 页 / 共 3 页
字号:
			fprintf(stdout,"= NO\n");		fprintf(stdout,"\n");		fprintf(stdout,"     3. Output in alignment  ");		fprintf(stdout,"= %s\n",secstroutput_txt[output_struct_penalties]);		fprintf(stdout,"\n");		fprintf(stdout,"     4. Helix gap penalty                     :%d\n",(pint)helix_penalty);		fprintf(stdout,"     5. Strand gap penalty                    :%d\n",(pint)strand_penalty);		fprintf(stdout,"     6. Loop gap penalty                      :%d\n",(pint)loop_penalty);		fprintf(stdout,"     7. Secondary structure terminal penalty  :%d\n",(pint)helix_end_penalty);		fprintf(stdout,"     8. Helix terminal positions       within :%d      outside :%d\n",		                                 (pint)helix_end_minus,(pint)helix_end_plus);		fprintf(stdout,"     9. Strand terminal positions      within :%d      outside :%d\n",		                                 (pint)strand_end_minus,(pint)strand_end_plus);		fprintf(stdout,"\n\n");		fprintf(stdout,"     H. HELP\n\n\n");				getstr("Enter number (or [RETURN] to exit)",lin2);		if( *lin2 == EOS) { 			return;		}				switch(toupper(*lin2)) {			case '1': use_ss1 ^= TRUE;				break;			case '2': use_ss2 ^= TRUE;				break;			case '3': output_struct_penalties = secstroutput_options();				break;			case '4':				fprintf(stdout,"Helix Penalty Currently: %d\n",(pint)helix_penalty);				helix_penalty=getint("Enter number",1,9,helix_penalty);				break;			case '5':				fprintf(stdout,"Strand Gap Penalty Currently: %d\n",(pint)strand_penalty);				strand_penalty=getint("Enter number",1,9,strand_penalty);				break;			case '6':				fprintf(stdout,"Loop Gap Penalty Currently: %d\n",(pint)loop_penalty);				loop_penalty=getint("Enter number",1,9,loop_penalty);				break;			case '7':				fprintf(stdout,"Secondary Structure Terminal Penalty Currently: %d\n",				          (pint)helix_end_penalty);				helix_end_penalty=getint("Enter number",1,9,helix_end_penalty);				strand_end_penalty = helix_end_penalty;				break;			case '8':				fprintf(stdout,"Helix Terminal Positions Currently: \n");				fprintf(stdout,"        within helix: %d     outside helix: %d\n",				                            (pint)helix_end_minus,(pint)helix_end_plus);				helix_end_minus=getint("Enter number of residues within helix",0,3,helix_end_minus);				helix_end_plus=getint("Enter number of residues outside helix",0,3,helix_end_plus);				break;			case '9':				fprintf(stdout,"Strand Terminal Positions Currently: \n");				fprintf(stdout,"        within strand: %d     outside strand: %d\n",				                            (pint)strand_end_minus,(pint)strand_end_plus);				strand_end_minus=getint("Enter number of residues within strand",0,3,strand_end_minus);				strand_end_plus=getint("Enter number of residues outside strand",0,3,strand_end_plus);				break;			case '?':			case 'H':				get_help('B');				break;			default:				fprintf(stdout,"\n\nUnrecognised Command\n\n");				break;		}	}}static sint secstroutput_options(void){        while(TRUE)        {                fprintf(stdout,"\n\n\n");                fprintf(stdout," ********* Secondary Structure Output Menu *********\n");                fprintf(stdout,"\n\n");                fprintf(stdout,"     1. %s\n",secstroutput_txt[0]);                fprintf(stdout,"     2. %s\n",secstroutput_txt[1]);                fprintf(stdout,"     3. %s\n",secstroutput_txt[2]);                fprintf(stdout,"     4. %s\n",secstroutput_txt[3]);                fprintf(stdout,"     H. HELP\n\n");                fprintf(stdout,"     -- Current output is %s ",secstroutput_txt[output_struct_penalties]);                fprintf(stdout,"--\n");                getstr("\n\nEnter number (or [RETURN] to exit)",lin2);                if(*lin2 == EOS) return(output_struct_penalties);        	switch(toupper(*lin2))        	{       	 		case '1': return(0);        		case '2': return(1);      			case '3': return(2);        		case '4': return(3);			case '?':         		case 'H': get_help('C');            		case 'Q':        		case 'X': return(0);        		default: fprintf(stdout,"\n\nUnrecognised Command\n\n");            		break;        	}        }}static void phylogenetic_tree_menu(void){        int catchint;        catchint = signal(SIGINT, SIG_IGN) != SIG_IGN;        if (catchint) {                if (setjmp(jmpbuf) != 0)                        fprintf(stdout,"\n.. Interrupt\n");#ifdef UNIX                if (signal(SIGINT,jumper) == BADSIG)                        fprintf(stdout,"Error: signal\n");#else                if (signal(SIGINT,SIG_DFL) == BADSIG)                        fprintf(stdout,"Error: signal\n");#endif        }    while(TRUE)    {        fprintf(stdout,"\n\n\n");        fprintf(stdout,"****** PHYLOGENETIC TREE MENU ******\n");        fprintf(stdout,"\n\n");        fprintf(stdout,"    1.  Input an alignment\n");        fprintf(stdout,"    2.  Exclude positions with gaps?        ");	if(tossgaps)		fprintf(stdout,"= ON\n");	else		fprintf(stdout,"= OFF\n");        fprintf(stdout,"    3.  Correct for multiple substitutions? ");	if(kimura)		fprintf(stdout,"= ON\n");	else		fprintf(stdout,"= OFF\n");        fprintf(stdout,"    4.  Draw tree now\n");        fprintf(stdout,"    5.  Bootstrap tree\n");	fprintf(stdout,"    6.  Output format options\n");        fprintf(stdout,"\n");        fprintf(stdout,"    S.  Execute a system command\n");        fprintf(stdout,"    H.  HELP\n");        fprintf(stdout,"    or press [RETURN] to go back to main menu\n\n\n");        getstr("Your choice",lin1);        if(*lin1 == EOS) return;        switch(toupper(*lin1))        {       	 	case '1': seq_input(FALSE);				phylip_name[0]=EOS;				clustal_name[0]=EOS;				dist_name[0]=EOS;				nexus_name[0]=EOS;         	   	break;        	case '2': tossgaps ^= TRUE;          	  	break;      		case '3': kimura ^= TRUE;;            		break;        	case '4': phylogenetic_tree(phylip_name,clustal_name,dist_name,nexus_name,"amenu.pim");            		break;        	case '5': bootstrap_tree(phylip_name,clustal_name,nexus_name);            		break;		case '6': tree_format_options_menu();			break;        	case 'S': do_system();            		break;            	case '?':        	case 'H': get_help('7');            		break;            	case 'Q':        	case 'X': return;        	default: fprintf(stdout,"\n\nUnrecognised Command\n\n");            	break;        }    }}static void tree_format_options_menu(void)      /* format of tree output */{	        int catchint;        catchint = signal(SIGINT, SIG_IGN) != SIG_IGN;        if (catchint) {                if (setjmp(jmpbuf) != 0)                        fprintf(stdout,"\n.. Interrupt\n");#ifdef UNIX                if (signal(SIGINT,jumper) == BADSIG)                        fprintf(stdout,"Error: signal\n");#else                if (signal(SIGINT,SIG_DFL) == BADSIG)                        fprintf(stdout,"Error: signal\n");#endif        }	while(TRUE) {	fprintf(stdout,"\n\n\n");	fprintf(stdout," ****** Format of Phylogenetic Tree Output ******\n");	fprintf(stdout,"\n\n");	fprintf(stdout,"     1. Toggle CLUSTAL format tree output    =  %s\n",					(!output_tree_clustal)  ? "OFF" : "ON");	fprintf(stdout,"     2. Toggle Phylip format tree output     =  %s\n",					(!output_tree_phylip)   ? "OFF" : "ON");	fprintf(stdout,"     3. Toggle Phylip distance matrix output =  %s\n",					(!output_tree_distances)? "OFF" : "ON");	fprintf(stdout,"     4. Toggle Nexus format tree output      =  %s\n\n",					(!output_tree_nexus)? "OFF" : "ON");	fprintf(stdout,"     5. Toggle Phylip bootstrap positions    =  %s\n\n",(bootstrap_format==BS_NODE_LABELS) ? "NODE LABELS" : "BRANCH LABELS");	fprintf(stdout,"\n");	fprintf(stdout,"     H. HELP\n\n\n");				getstr("Enter number (or [RETURN] to exit)",lin2);		if(*lin2 == EOS) return;				switch(toupper(*lin2)) {			case '1':				output_tree_clustal   ^= TRUE;				break;			case '2':              			output_tree_phylip    ^= TRUE;			  	break;			case '3':              			output_tree_distances ^= TRUE;			  	break;			case '4':              			output_tree_nexus ^= TRUE;			  	break;			case '5':              			if (bootstrap_format == BS_NODE_LABELS)					bootstrap_format = BS_BRANCH_LABELS;				else					bootstrap_format = BS_NODE_LABELS;			  	break;			case '?':			case 'H':				get_help('0');				break;			default:				fprintf(stdout,"\n\nUnrecognised Command\n\n");				break;		}	}}static void format_options_menu(void)      /* format of alignment output */{		sint i;	sint length = 0;	char path[FILENAMELEN+1];    int catchint;        catchint = signal(SIGINT, SIG_IGN) != SIG_IGN;        if (catchint) {                if (setjmp(jmpbuf) != 0)                        fprintf(stdout,"\n.. Interrupt\n");#ifdef UNIX                if (signal(SIGINT,jumper) == BADSIG)                        fprintf(stdout,"Error: signal\n");#else                if (signal(SIGINT,SIG_DFL) == BADSIG)                        fprintf(stdout,"Error: signal\n");#endif        }	while(TRUE) {	fprintf(stdout,"\n\n\n");	fprintf(stdout," ********* Format of Alignment Output *********\n");	fprintf(stdout,"\n\n");	fprintf(stdout,"     F. Toggle FASTA format output       =  %s\n\n",					(!output_fasta) ? "OFF" : "ON");	fprintf(stdout,"     1. Toggle CLUSTAL format output     =  %s\n",					(!output_clustal) ? "OFF" : "ON");	fprintf(stdout,"     2. Toggle NBRF/PIR format output    =  %s\n",					(!output_nbrf) ? "OFF" : "ON");	fprintf(stdout,"     3. Toggle GCG/MSF format output     =  %s\n",					(!output_gcg) ? "OFF" : "ON");	fprintf(stdout,"     4. Toggle PHYLIP format output      =  %s\n",					(!output_phylip) ? "OFF" : "ON");	fprintf(stdout,"     5. Toggle NEXUS format output       =  %s\n",					(!output_nexus) ? "OFF" : "ON");	fprintf(stdout,"     6. Toggle GDE format output         =  %s\n\n",					(!output_gde) ? "OFF" : "ON");	fprintf(stdout,"     7. Toggle GDE output case           =  %s\n",					(!lowercase) ? "UPPER" : "LOWER");	fprintf(stdout,"     8. Toggle CLUSTALW sequence numbers =  %s\n",					(!cl_seq_numbers) ? "OFF" : "ON");	fprintf(stdout,"     9. Toggle output order              =  %s\n\n",					(output_order==0) ? "INPUT FILE" : "ALIGNED");	fprintf(stdout,"     0. Create alignment output file(s) now?\n\n");	fprintf(stdout,"     T. Toggle parameter output          = %s\n",					(!save_parameters) ? "OFF" : "ON");	fprintf(stdout,"     R. Toggle sequence range numbers =  %s\n",					(!seqRange) ? "OFF" : "ON");	fprintf(stdout,"\n");	fprintf(stdout,"     H. HELP\n\n\n");				getstr("Enter number (or [RETURN] to exit)",lin2);		if(*lin2 == EOS) return;				switch(toupper(*lin2)) {			case '1':				output_clustal ^= TRUE;				break;			case '2':              			output_nbrf ^= TRUE;			  	break;			case '3':              			output_gcg ^= TRUE;			  	break;			case '4':              			output_phylip ^= TRUE;			  	break;			case '5':              			output_nexus ^= TRUE;			  	break;			case '6':              			output_gde ^= TRUE;			  	break;			case '7':              			lowercase ^= TRUE;			  	break;			case '8':              			cl_seq_numbers ^= TRUE;			  	break;			case '9':                                if (output_order == INPUT) output_order = ALIGNED;              			else output_order = INPUT;			  	break;			case 'F':              			output_fasta ^= TRUE;			  	break;			case 'R':              			seqRange ^= TRUE;			  	break;			case '0':		/* DES */				if(empty) {					error("No sequences loaded");					break;				}				get_path(seqname,path);				if(!open_alignment_output(path)) break;				create_alignment_output(1,nseqs);				break;        		case 'T': save_parameters ^= TRUE;	   			 break;			case '?':			case 'H':				get_help('5');				break;			default:				fprintf(stdout,"\n\nUnrecognised Command\n\n");				break;		}	}}static void pair_menu(void){        int catchint;        catchint = signal(SIGINT, SIG_IGN) != SIG_IGN;        if (catchint) {                if (setjmp(jmpbuf) != 0)                        fprintf(stdout,"\n.. Interrupt\n");#ifdef UNIX                if (signal(SIGINT,jumper) == BADSIG)                        fprintf(stdout,"Error: signal\n");#else                if (signal(SIGINT,SIG_DFL) == BADSIG)                        fprintf(stdout,"Error: signal\n");#endif        }        if(dnaflag) {                pw_go_penalty     = dna_pw_go_penalty;                pw_ge_penalty     = dna_pw_ge_penalty;                ktup       = dna_ktup;                window     = dna_window;                signif     = dna_signif;                wind_gap   = dna_wind_gap;        }        else {                pw_go_penalty     = prot_pw_go_penalty;                pw_ge_penalty     = prot_pw_ge_penalty;                ktup       = prot_ktup;                window     = prot_window;                signif     = prot_signif;                wind_gap   = prot_wind_gap;        }	while(TRUE) {			fprintf(stdout,"\n\n\n");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -