1 | PROJECT pb_com |
---|
2 | OBJECT_KEY PT, # MAIN PREFIX |
---|
3 | MAX_KEY 100, # MAX NUMBER OF AN ATTRIBUTE |
---|
4 | MAX_OBJECT 20, # MAX DIFFERENT STRUCTURES |
---|
5 | MAX_STRING_LEN 1024, |
---|
6 | MAX_PAR_CNT 16, |
---|
7 | MAGIC_NUMBER 0x471100, # MAGIC_NUMBER 6 HEX DIGITS |
---|
8 | |
---|
9 | SERVER_INCLUDES (~ |
---|
10 | #include <stdio.h> |
---|
11 | #include "PT_server.h" |
---|
12 | #include "PT_com.h"~) |
---|
13 | INCLUDE_INCLUDES (~$$(#FILE aisc_include.header)~) |
---|
14 | |
---|
15 | DATA { |
---|
16 | |
---|
17 | # ********************************* USER DATA ******************************************* |
---|
18 | |
---|
19 | @CONST, @VALUE, @DOCU; |
---|
20 | LIST_SIZE, 20, (~Size of I_STR Buffer~); |
---|
21 | PERC_SIZE, 20, (~How many centigrades to look~); |
---|
22 | ALPHA_SIZE, 24, (~24 letters~); |
---|
23 | DOMAIN_MIN_LENGTH, 8, (~Minimum length of a domain~); |
---|
24 | PT_PART_DEEP, 2, (~The Deep of the Partitions~); |
---|
25 | |
---|
26 | |
---|
27 | # ******************************* PRIVAT STRUCTURES: DO NOT CHANGE ********************************* |
---|
28 | |
---|
29 | @STRUCT, @SKEY, @SKEYC, @SDOCU; |
---|
30 | |
---|
31 | dll_public, , , (~Vater einer DoubledLinkedList dll~), { |
---|
32 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
33 | t_key, key, t, r, , , , , (~ The key~); |
---|
34 | int, cnt, t, r, , CNT, 0, , (~ Number of elements~); |
---|
35 | long, hash, t, , , , , , (~ Hash Table~); |
---|
36 | dllheader_ext, parent, flt, r, , PARENT, 1, , (~ My Owner~); |
---|
37 | dllheader_ext, last, flt, r, , LAST, 2, , (~ Pointer to the last element~); |
---|
38 | }; |
---|
39 | |
---|
40 | |
---|
41 | dll_header, COMMON, 0, (~Der Link Header (sollte Kopf jeder Funktion sein)~), { |
---|
42 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
43 | t_key, key, t, r, , KEY, 0, , (~ The Key~); |
---|
44 | aisc_string, aisc_get_keystring,%,r, , KEYSTRING,1, , (~ THE STRING of the KEY ~); |
---|
45 | dll_public, parent, ls, r, , (~~), 2, , (~ Pointer to dll_public~); |
---|
46 | aisc_string, ident, t, , 1, IDENT, 5, , (~ The ident [not necessary]~); |
---|
47 | }; |
---|
48 | |
---|
49 | |
---|
50 | # ********************************* USER STRUCTURES ******************************************* |
---|
51 | |
---|
52 | # new probe design |
---|
53 | |
---|
54 | PT_probeparts, TPROBEPARTS, 9, (~a part of a probe to search in the Prefix tree~), { |
---|
55 | @TYPE, @IDENT, @REF, @ACC, @KEY, @KEYC, @INIT, @DOCU; |
---|
56 | dllh, mh, t, , (~~), 0, , (~Header~); |
---|
57 | aisc_string, sequence,t, , , , , (~ The Sequence to check ~); |
---|
58 | PT_tprobes,source,fl, , , , , (~ A pointer to the source ~); |
---|
59 | int, start, t, , , , , (~ The number of characters cut off at the start of the tprobe~); |
---|
60 | double, dt, t, , , , , (~ Add this temperature to the result ~); |
---|
61 | double, sum_bonds,t, , , , , (~ The sum of bonds of the longest non mismatch string ~); |
---|
62 | }; |
---|
63 | |
---|
64 | PT_pdc_specials, SPECIALS, 10, (~ non standard substrings of a probe ~), { |
---|
65 | @TYPE, @IDENT, @REF, @ACC, @KEY, @KEYC, @INIT, @DOCU; |
---|
66 | dllh, mh, t, , (~~), 0, , (~Header~); |
---|
67 | int, mode, t, , MODE, 9, , (~ ==1 -> split domains; ==0 -> dont split domains ~); |
---|
68 | double, ll, t, , LLEFT, 10, , (~ the bond value of the character left of the left ~); |
---|
69 | double, l, t, , LEFT, 11, , (~ The bond value left character ~); |
---|
70 | double, c, t, , CENTER, 12, , (~ The center character~); |
---|
71 | double, r, t, , RIGHT, 13, , (~...~); |
---|
72 | double, rr, t, , RRIGHT, 14, , (~...~); |
---|
73 | }; |
---|
74 | |
---|
75 | PT_tprobes, TPROBE, 11, (~ The probe we want to test ~), { |
---|
76 | @TYPE, @IDENT, @REF, @ACC, @KEY, @KEYC, @INIT, @DOCU; |
---|
77 | dllh, mh, t, , (~~), 0, , (~Header~); |
---|
78 | aisc_string, sequence,t, r, SEQUENCE, 10, , (~ The Sequence to check ~); |
---|
79 | int, seq_len,t, , , , , (~ The len of the sequence ~); |
---|
80 | double, sum_bonds,t, , , , , (~ The sum of all bonds ~); |
---|
81 | double, quality,t, r, QUALITY, 11, , (~ The quality of the probe = GROUPSIZE*dT ~); |
---|
82 | int, groupsize,t, r, GROUPSIZE, 15, , (~ The Size of the group ~); |
---|
83 | int, hairpin,t, r, HAIRPIN, 16, , (~ How many hairpin bonds ~); |
---|
84 | double, whairpin,t, r, WHAIRPIN, 17, , (~ Weighted Hairpins ~); |
---|
85 | int, perc, vt, r, PERC, 18, , (~ Result: How many non group hits per centigrade ~), SIZE PERC_SIZE; |
---|
86 | double, temp, t, r, TEMPERATURE, 20, , (~ The temperature of the probe ~); |
---|
87 | int, mishit, t, r, MISHIT, 25, , (~ How many non group members hit ~); |
---|
88 | int, apos, t, , APOS, 26, , (~ The absolute position of probe ~); |
---|
89 | int, get_r_pos,t, , ECOLI_POS, 27, , (~ The ecoli based position of probe ~); |
---|
90 | aisc_string, get_design_hinfo,%,r, INFO_HEADER, 30, , (~the combined info text of a probe design~); |
---|
91 | aisc_string, get_design_info,%,r, INFO, 31, , (~the combined info text of a probe design~); |
---|
92 | }; |
---|
93 | |
---|
94 | PT_bond, , , (~ The definition of a bond ~), { |
---|
95 | @TYPE, @IDENT, @REF, @ACC, @KEY, @KEYC, @INIT, @DOCU; |
---|
96 | double, val, t, , VAL, 0, 0.0, (~ how strong is that bond ~); |
---|
97 | }; |
---|
98 | |
---|
99 | PT_sequence, SEQUENCE, 13, (~ The additional sequences ~), { |
---|
100 | @TYPE, @IDENT, @REF, @ACC, @KEY, @KEYC, @INIT, @DOCU; |
---|
101 | dllh, mh, t, , (~~), 0, , (~Header~); |
---|
102 | bytestring,seq, t, , SEQUENCE, 10, , (~The Sequence~); |
---|
103 | }; |
---|
104 | |
---|
105 | PT_pdc, PDC, 12, (~ The new probe design ~), { |
---|
106 | @TYPE, @IDENT, @REF, @ACC, @KEY, @KEYC, @INIT, @DOCU; |
---|
107 | dllh, mh, t, , (~~), 0, , (~Header~); |
---|
108 | PT_probeparts,parts,d, , , , , (~ The parts of the probes ~); |
---|
109 | PT_probeparts,dparts,d, , , , , (~ The duplikated parts of the probes ~); |
---|
110 | |
---|
111 | PT_bond, bond, siv, , BOND, 10, , (~The bond matrix~), SIZE (4*4); |
---|
112 | int, dummy, t, , , , init_bond_matrix(THIS), (~ init bond matrix ~); |
---|
113 | double, dte, t, , DTEDGE, 12, 50.0, (~ The Temperature drop per percent mismatch on the edge of the probe ~); |
---|
114 | double, dt, t, , DT, 13, 50.0, (~ The temperature drop per percent mismatch ~); |
---|
115 | double, split, t, , SPLIT, 14, .5, (~ Split the domains if bond value is less the average bond value - split ~); |
---|
116 | PT_pdc_specials,specials,d,, SPECIALS, 15, , (~ Exceptions of splitting domains~); |
---|
117 | int, looplen,t, , LOOPLEN, 17, 4, (~ The Loop Length of a probe ~); |
---|
118 | |
---|
119 | int, probelen,t, , PROBELENGTH, 20, 18, (~the length of the probe~); |
---|
120 | |
---|
121 | double, mintemp,t, , MINTEMP, 22, 30.0, (~minimum temperuture~); |
---|
122 | double, maxtemp,t, , MAXTEMP, 23, 100.0, (~maximum temperature~); |
---|
123 | |
---|
124 | double, min_gc, t, , MINGC, 25, .3, (~the minimum GC content~); |
---|
125 | double, max_gc, t, , MAXGC, 26, 1.0, (~the maximum GC content~); |
---|
126 | |
---|
127 | double, maxbonds,t, , MAXBOND, 27, 4.0, (~The maximum of hairpin bonds~); |
---|
128 | |
---|
129 | int, minpos, t, , MINPOS, 30, 0, (~the minimum position~); |
---|
130 | int, maxpos, t, , MAXPOS, 31, 100000, (~the maximum position~); |
---|
131 | |
---|
132 | double, mintarget,t, , MINTARGETS, 35, .7, (~the minimum targets for a group of species~); |
---|
133 | int, mishit,t, , MISHIT, 36, 0, (~the maximum mis hits~); |
---|
134 | |
---|
135 | int, clipresult,t, , CLIPRESULT, 40, 40, (~Clip the Result list~); |
---|
136 | int, pos_groups,vt, , , , , (~Position of Groups~), SIZE ALPHA_SIZE; |
---|
137 | |
---|
138 | bytestring,checksums,t, w, CHECKSUMS, 44, , (~a list of sequence checksums seperated by '#' is optional~); |
---|
139 | bytestring,names,t, w, NAMES, 45, , (~a list of names seperated by '#' is expected~); |
---|
140 | bytestring,PT_unknown_names,%,r,UNKNOWN_NAMES, 46, , (~List of unknown names~); |
---|
141 | PT_sequence,sequences,d,, SEQUENCE, 47, , (~Additional Sequences~); |
---|
142 | int ,PT_start_design,%,w, GO, 50, , (~Start the design procedure~); |
---|
143 | PT_tprobes, tprobes,d, r, TPROBE, 60, , (~ The result ~); |
---|
144 | }; |
---|
145 | |
---|
146 | # old structures |
---|
147 | |
---|
148 | PT_probematch, MATCHLIST, 1, (~the PROBEMATCH list~), { |
---|
149 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
150 | dllh, mh, t, , , (~~), 0, , (~Header~); |
---|
151 | int, name, t, r, , ID, 10, , (~id of species~); |
---|
152 | aisc_string, virt_name,%, r, , NAME, 11, , (~name of species~); |
---|
153 | int, b_pos, t, r, , POS, 12, , (~pos of probe~); |
---|
154 | int, rpos, t, r, , , , , (~relative pos of probe~); |
---|
155 | int, mismatches,t, r, , MISMATCHES, 13, , (~number of mismatches~); |
---|
156 | aisc_string, virt_fullname,%,r, , FULLNAME, 14, , (~fullname of species~); |
---|
157 | double, wmismatches,t, r, , WMISMATCHES, 15, , (~number of weighted mismatches~); |
---|
158 | int, N_mismatches,t, r, , N_MISMATCHES, 16, , (~number of 'N' mismatches~); |
---|
159 | int, is_member,t, r, , IS_MEMBER, 18, , (~member of group~); |
---|
160 | double, dt, t, r, , DT, 19, , (~the dt of a probe~); |
---|
161 | char, sequence,l, r, , SEQUENCE, 22, , (~path of probe~); |
---|
162 | int, reversed,t, r, , REVERSED, 25, , (~reversed probe matches~); |
---|
163 | aisc_string, get_match_hinfo,%,r, , INFO_HEADER, 26, , (~the combined info text of a probe match~); |
---|
164 | aisc_string, get_match_info,%,r, , INFO, 27, , (~the combined info text of a probe match~); |
---|
165 | }; |
---|
166 | |
---|
167 | |
---|
168 | PT_species_list, SPECIESLIST, 5, (~the species list~), { |
---|
169 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
170 | dllh, mh, t, , , (~~), 0, , (~Header~); |
---|
171 | int, member,t, rw, , MEMBER, 12, , (~species member of group~); |
---|
172 | }; |
---|
173 | |
---|
174 | PT_family_list, FAMILYLIST, 8, (~the family list~), { |
---|
175 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
176 | dllh, mh, t, , , (~~), 0, , (~Header~); |
---|
177 | aisc_string, name, t, r, , NAME, 11, , (~name of species~); |
---|
178 | int, matches, t, r, , MATCHES, 13, , (~number of matches~); |
---|
179 | double, rel_matches, t, r, , REL_MATCHES, 14, , (~MATCHES / (SEQ_LEN - PROBE_LEN + 1) ~); |
---|
180 | }; |
---|
181 | |
---|
182 | PT_local, LOCS, 6, (~local communication buffer~), { |
---|
183 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
184 | dllh, mh, t, , , (~~), 0, , (~Header~); |
---|
185 | int, socket, t, , , , ,pt_init_socket(THIS), (~the callback~), |
---|
186 | DESTROY pt_destroy_socket(THIS); |
---|
187 | aisc_string, probe_match, %, w, , SEARCHMATCH, 8, , (~ Searches all species where probe maches ~); |
---|
188 | aisc_string, pm_sequence, t, , , , , , (~ the sequence ~); |
---|
189 | aisc_string, pm_csequence, t, , , , , , (~ the complement sequence ~); |
---|
190 | int, pm_reversed, t, rw, , MATCH_REVERSED, 9, 1, (~ reverse probe ~); |
---|
191 | int, pm_complement, t, rw, , MATCH_COMPLEMENT,10, , (~ complement probe ~); |
---|
192 | int, pm_max, t, rw, , MATCH_MAX_MISMATCHES,11,, (~ max mismatches ~); |
---|
193 | int, pm_max_spec, t, rw, , MATCH_MAX_SPECIES,12, , (~ max number of species maching ~); |
---|
194 | int, sort_by, t, rw, , MATCH_SORT_BY, 13, , (~ 0 == mismatches 1 == weighted mismatches 2 == weighted mismatches with pos and strength~); |
---|
195 | |
---|
196 | PT_probematch,pm, d, r, , MATCH_LIST, 15, , (~ result: List of species where probe maches ~); |
---|
197 | bytestring,match_string,%, r, , MATCH_STRING, 17, , (~ result: List of species where probe maches ~); |
---|
198 | bytestring,MP_match_string,%, r, , MP_MATCH_STRING,18, , (~ result: List of species where probe maches and #mismatches ~); |
---|
199 | bytestring,MP_all_species_string,%, r,, MP_ALL_SPECIES_STRING, 19, , (~ result: List of all species in Database ~); |
---|
200 | int ,MP_count_all_species,%, r,, MP_COUNT_ALL_SPECIES, 20, , (~ result: Number of all species in Database ~); |
---|
201 | |
---|
202 | aisc_string, ls_error, t ,r, , ERROR, 23, "", (~ the error text ~); |
---|
203 | |
---|
204 | int, group_count, t, r, , PROBE_NGROUP, 34, , (~ result: Number of selected species~); |
---|
205 | |
---|
206 | |
---|
207 | PT_pdc, pdc, d, , , PROBE_DESIGN_CONFIG, 40, , (~The new probe design~); |
---|
208 | |
---|
209 | bytestring,find_family, %, w, , FIND_FAMILY, 50, , (~ Searches the family ~); |
---|
210 | int, pr_len, t, rw, , PROBE_LEN, 51, 12, (~ Length of probes ~); |
---|
211 | int, mis_nr, t, rw, , MISMATCH_NUMBER,52, 0, (~ Number of mismatches ~); |
---|
212 | int, find_type, t, rw, , FIND_TYPE, 53, 0, (~ Type of find 0 = search all, 1 = a* ~); |
---|
213 | int, sort_type, t, rw, , SORT_TYPE, 54, 0, (~ Type of sorting 0 = MATCHES, 1 = REL_MATCHES ~); |
---|
214 | PT_family_list,fl, d, r, , FAMILY_LIST, 55, , (~ Sorted List of family ~); |
---|
215 | |
---|
216 | aisc_string, user, t, rw, , USER, 60, "unknown", (~the username~); |
---|
217 | aisc_string, address, t, rw, , ADDRESS, 61, "unknown", (~the useraddress~); |
---|
218 | aisc_string, login, t, rw, , LOGINTIME, 62, "notime", (~the date the user logged in~); |
---|
219 | |
---|
220 | }; |
---|
221 | |
---|
222 | |
---|
223 | PT_main, MAIN, 7, (~Die globalen Daten~), { |
---|
224 | @TYPE, @IDENT, @REF, @ACC, @SAVE, @KEY, @KEYC, @INIT, @DOCU; |
---|
225 | t_key, key, t, n, , , , , (~Der KEY~); |
---|
226 | PT_local,loc_st, d, , , LOCS, 10, , (~Die Parameter~); |
---|
227 | aisc_string, server_shutdown,%, w, , SHUTDOWN, 20, , (~shut down~); |
---|
228 | int, who, t, rw, , STARTER, 21, , (~who started this server~); |
---|
229 | int, m_type, t, , , MESSAGE_TYPE, 31, 0, (~the message type ~); |
---|
230 | aisc_string, m_text, t, , , MESSAGE, 32, "NO_MSG", (~ the message text ~); |
---|
231 | int, broadcast, %, w, , BROADCAST, 33, , (~ broadcast func ~); |
---|
232 | PT_species_list, sl, d, r, , SPECIESLIST, 50, , (~list of species~); |
---|
233 | }; |
---|
234 | }; |
---|