File: parameters.h

package info (click to toggle)
dialign-t 1.0.2-15
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,244 kB
  • sloc: ansic: 5,822; xml: 355; makefile: 34; sh: 25
file content (163 lines) | stat: -rwxr-xr-x 4,897 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/**
 *
 * parameters.h:  
 *
 * 2004-08-13  Dorothea Emig Volker Menrad
 *             
 */

/************************************************/
/*                                              */
/*                  structs                     */
/*                                              */
/************************************************/

struct parameters
{
	char *VERSION; 
	// 0 no debug statements
	// 1 debugs the current phase of the processing
	// 2 very loquacious debugging
	// 5 hardcore debugging
	int DEBUG; // = 0;

	// maximum amount of input sequences
	int MAX_SEQ_AMOUNT; // = 5000;

	// maximum number of characters per line in a FASTA file
	int MAX_FASTA_LINE_LENGTH; // = 100;

	// maximum amount of characters per line when printing a sequence
	int PRINT_SEQ_LINE_LENGTH; // = 80;

	/*******************************
	 * 
	 * PROTEIN SCORING/WEIGHTING SECTION
	 *
	 *****************************/


	// score matrix (e.g. BLOSUM) file name (in the configuration directory)
	//#define SCR_MATRIX_FILE_NAME "BLOSUM75.scr"
	char *SCR_MATRIX_FILE_NAME; // = "BLOSUM.scr";
	//#define SCR_MATRIX_FILE_NAME "BLOSUM90.scr"

	// defines the minimum weight when the weight is changed to
	//  1-pow(1-prob, factor)
	double DIAG_CALC_WEIGHT_THRESHOLD; // = 0.000000065;
	//#define DIAG_CALC_WEIGHT_THRESHOLD 0.0000002


	// diag prob. distribution  file name (in the configuration directory)
	char *DIAG_PROB_FILE_NAME; // = "BLOSUM.diag_prob_t10";   
	//#define DIAG_PROB_FILE_NAME "BLOSUM.diag_prob_t7"   // current
	//#define DIAG_PROB_FILE_NAME "BLOSUM75.diag_prob_t2"   // 
	//#define DIAG_PROB_FILE_NAME "BLOSUM75.diag_prob_t1"   
	//#define DIAG_PROB_FILE_NAME "BLOSUM90.diag_prob"   
	//#define DIAG_PROB_FILE_NAME "BLOSUM75.diag_prob"   
	//#define DIAG_PROB_FILE_NAME "tp400_prot"

	// add to each score (to prevent negative values)
	int SCR_MATRIX_ADD; // = 0; // BLOSUM(62)
	//#define SCR_MATRIX_ADD 5 // BLOSUM75
	//#define SCR_MATRIX_ADD 6 // BLOSUM90

	/*******************************
	 * 
	 * PROTEIN QUALITY SECTION
	 *
	 *****************************/

	// "even" sim score threshold for protein sequences alignment
	//#define PROT_SIM_SCORE_THRESHOLD 6 //BLOSUM90
	//#define PROT_SIM_SCORE_THRESHOLD 5 //BLOSUM75
	double PROT_SIM_SCORE_THRESHOLD; // = 4; // BLOSUM62

	// maximum number of consecutive positions for frag-window
	int PROT_DIAG_MAX_UNDER_THRESHOLD_POS; // = 4; // old was 4

	// minimum diagonal length for breaking
	double PROT_DIAG_MIN_LENGTH_THRESHOLD; // = 40.0; // old was 40

	// minimal allowed average csore in frag window
	double PROT_DIAG_AVG_SCORE_THRESHOLD; // = 4.0; // BLOSUM62
	//#define PROT_DIAG_AVG_SCORE_THRESHOLD 5.0 // BLOSUM75


	/*******************************
	 * 
	 * GLOBAL QUALITY/SPEED SECTION
	 *
	 *****************************/

	// wether overlap weights are calculated or not
	int DO_OVERLAP; // = 0;

	// minimum diag length
	int DIAG_MIN_LENGTH;// = 1; 

	// diag threshold weight 
	double DIAG_THRESHOLD_WEIGHT;// = -log(0.5);

	// if there are anchors
	char DO_ANCHOR; // = 0;   

	// name of optional anchor file
	char *ANCHOR_FILE_NAME; // = NULL;   

	// sensitivity mode, does not set 
        // DIAG_THRESHOLD_WEIGHT to 0 four rounds >1
	char SENS_MODE;// = 0;

	// fast mode - behaves like dialign t 0.2.2
	char FAST_MODE;// = 0;

	// 1: only use a sqrt(amount_of_seqs) stripe of neighbour sequences to 
	// calculate pairwise alignments
	// 0: all pairwise alignments will be calculated
	int FAST_PAIRWISE_ALIGNMENT;// = 0;

	 char *conf_dir ; 
 	 char *in_file ;
 	 char *out_file ;
     char COMPUTE_PROB;
	int DNA_PARAMETERS; // default Einstellungen fr DNA holen
	int DNA_TRANSLATION; // Vergleich auf Proteinebene, input DNA
	int FIND_ORF; // Vergleich auf Proteinebene, input DNA, mit ORF Finder
	int ORF_FRAME; // Vergleich auf Proteinebene, input DNA, nur longest ORF wird aligned
	int OUTPUT; // fr DNA = 1, fr Aminosuren = 0


	int STATE_ORPHANE;
	int STATE_INHERITED;
	
};

    /************************************************/
    /*                                              */
    /*              global variable                 */
    /*                                              */
    /************************************************/
__attribute__((__common__)) struct parameters* para;



    /*********************************************/
    /*                                           */
    /*        functions from parameters.c        */
    /*                                           */
    /*********************************************/
//struct parameters*

//initialises the parameters with default values
void init_parameters();

// check, whether there are enough arguments and if options are used
void check_input(int length, char** arguments);

//error message
void wrong_input();

void parameters(int argc, char** argv);
void set_parameters_dna();