66
58
* intermediate solutions in a way that the indexers can
67
59
* use to deal more effectively with strange papers.
69
* A detailed change log follows:
71
* Revision 6.12 2007/03/20 18:27:14 bollin
72
* Added sequence ID reporting to Suggest_Intervals messages.
74
* Revision 6.11 2003/05/30 17:25:38 coulouri
77
* Revision 6.10 2003/05/13 16:02:54 coulouri
78
* make ErrPostEx(SEV_FATAL, ...) exit with nonzero status
80
* Revision 6.9 2002/02/06 21:10:38 kans
81
* PlusStrand and MinusStrand prefixed with Suggest to avoid collision with asn2graphic viewer symbols
83
* Revision 6.8 2001/05/25 19:43:53 vakatov
84
* Nested comment typo fixed
86
* Revision 6.7 1998/06/17 21:55:47 kans
87
* fixed 64-bit SGI compiler warnings
89
* Revision 6.6 1998/06/12 20:42:18 kans
90
* fixed most unix compiler warnings
92
* Revision 6.5 1997/12/02 17:43:52 kans
93
* added cast to sprintf, explicit int return values
95
* Revision 6.4 1997/08/27 18:26:19 kans
96
* temporarily convert * to X to avoid bad triptab index
98
* Revision 6.3 1997/08/27 14:50:23 kans
99
* added second protection against table overflow
101
* Revision 6.2 1997/08/26 23:56:02 kans
102
* added protection to bld_table based on purify array bounds violations
104
* Revision 6.1 1997/08/26 19:37:36 kans
105
* added batch functions to process nucleotide once for many proteins
107
* Revision 6.0 1997/08/25 18:54:58 madden
108
* Revision changed to 6.0
110
* Revision 5.4 1997/08/21 20:28:44 kans
111
* fixed correction for alt start codon (Karl)
113
* Revision 5.3 1996/10/16 15:09:05 kans
114
* finished cleaning up linked lists headed by triptab arrays
116
* Revision 5.2 1996/10/15 22:39:24 kans
117
* cleaned up most memory leaks detected by purify (one big one remains)
119
* Revision 5.1 1996/09/27 19:05:18 kans
120
* adjusts first interval if first protein residue isn't included, under
121
* the assumption that it's using an alternative start codon
123
* Revision 5.0 1996/05/28 13:43:15 ostell
124
* Set to revision 5.0
126
* Revision 1.5 1996/03/27 19:40:25 vakatov
127
* Some unused stuff has been eliminated
129
* Revision 1.4 1996/03/25 22:13:06 vakatov
130
* One more free() -> MemFree() correction...
132
* Revision 1.3 1996/03/25 21:43:06 vakatov
133
* The "reverse" function slightly changed to avoid pointing to the outside
134
* of array "r[]" lower limit (to please the Win-16 segmentation quirks)
136
* Revision 1.2 1996/03/13 21:07:40 epstein
137
* change printfs to ErrPostEx()
139
* Revision 1.1 1995/11/28 22:19:10 kans
142
* Revision 1.4 1995/09/22 21:46:16 kans
143
* split big array into 26 small arrays, other cleanups
145
* Revision 1.3 1995/08/29 16:29:51 epstein
146
* eliminate troublesome header
148
* Revision 1.2 1995/08/18 19:52:32 epstein
149
* *** empty log message ***
151
* Revision 1.1 1995/08/14 18:24:21 epstein
154
* Revision 1.8 1995/07/07 14:44:05 kans
155
* updated genetic codes
157
* Revision 1.7 1994/07/26 18:04:55 kans
158
* *** empty log message ***
160
* Revision 1.6 1994/07/01 14:38:22 kans
161
* *** empty log message ***
163
* Revision 1.5 1994/06/30 22:36:54 kans
164
* *** empty log message ***
166
* Revision 1.4 1994/06/24 23:03:46 kans
167
* *** empty log message ***
169
* Revision 1.3 1994/05/12 18:21:31 kans
170
* *** empty log message ***
172
* Revision 1.2 1994/04/08 16:24:37 kans
173
* *** empty log message ***
175
* Revision 1.1 1994/03/17 16:33:30 kans
178
* Revision 2.90 92/07/22 10:46:21 sirotkin
179
* forgot to put in earlier
181
* Revision 2.86 92/04/16 15:37:39 sirotkin
182
* looks for stops activated
184
* Revision 2.85 92/02/26 14:57:25 sirotkin
185
* fixed desending checks in Int_INt2Ext
187
* Revision 2.83 92/01/13 10:42:47 sirotkin
188
* lonum guarenteed to be <= hunum
190
* Revision 2.82 91/11/26 17:22:43 sirotkin
191
* passed saber, adds terminal stop, conditionally
193
* Revision 2.81 91/11/18 16:00:34 sirotkin
194
* Fixed problem pub 34736 which caused dramtic sugest failure
196
* Revision 2.3 91/10/22 13:14:10 sirotkin
197
* Now picks up and rewrites minimum exon and range to explore
199
* Revision 2.2 91/10/11 09:50:00 sirotkin
200
* *** empty log message ***
202
* Revision 2.1 91/10/11 09:48:30 sirotkin
203
* getting ready for range limitation
205
* Revision 2.0 91/04/25 17:21:02 sirotkin
206
* To set revision of procution version
208
* Revision 1.104 91/03/26 15:46:13 sirotkin
209
* fixed Dramatic failure test to use pro_len and not dna_len
211
* Revision 1.103 91/03/21 10:36:06 sirotkin
212
* changed field string expected on form from
213
* exception to genetic_code
215
* Revision 1.102 91/03/01 10:49:02 sirotkin
218
* Revision 1.101 91/02/19 09:05:00 sirotkin
219
* Shoulod be ready for next install
221
* Revision 1.100 91/02/15 09:07:13 sirotkin
222
* after bug fixes in redundant with mismatches
224
* Revision 1.99 91/02/14 16:25:15 sirotkin
225
* removes redunant intervals, coaleses multiple mismatches
226
* removes during consisten set insure one at a time
227
* more stringent during weirdness pass 1
228
* if unkonw genetic code, uses standard
230
* Revision 1.91 91/01/30 14:10:25 sirotkin
231
* This version works with ambigous bases. When an
232
* ambiguous base still allows knowledge of amino acid, that
233
* amino acid is used. Matches ambiguous DNA with unknown amino
234
* acids. Suggests last 2 bases of incomplete codon when will
235
* code for correct amino acid.
237
* Revision 1.90 91/01/22 16:23:27 sirotkin
238
* markup rev 1.90 mini-load for 23 jan 1991
240
* Revision 1.26 91/01/18 16:05:03 sirotkin
241
* changed MAX_DNA to 1000000 from (3*32*1024)
243
* Revision 1.25 91/01/16 17:28:31 sirotkin
244
* added checks to genetic code
246
* Revision 1.27 91/01/10 15:13:30 sirotkin
247
* back to variable length only
249
* Revision 1.25 90/12/28 15:43:54 sirotkin
250
* This version has the variable minimum exon length installed
252
* Revision 1.24 90/12/28 09:03:06 sirotkin
253
* Before making TooShort a variable which is set depending upon
254
* the aa length and the combined dna_length
256
* Revision 1.23 90/12/21 16:48:41 sirotkin
257
* change to keep compiler happy
259
* Revision 1.23 90/12/21 15:28:27 sirotkin
260
* tweaks for compiler
262
* Revision 1.22 90/12/20 16:47:43 sirotkin
263
* minor cosmetic stuff
265
* Revision 1.22 90/12/19 15:12:27 sirotkin
268
* Revision 1.21 90/11/26 15:02:12 sirotkin
269
* with changes to interval group and writing frame to form
271
* Revision 1.20 90/11/24 16:04:06 sirotkin
272
* frame moved from intervals to form
274
* Revision 1.19 90/11/23 12:20:37 sirotkin
275
* before moving frame from intervals to form
277
* Revision 1.18 90/11/02 15:34:18 sirotkin
278
* commented out DEBUG
280
* Revision 1.17 90/10/31 13:54:11 sirotkin
281
* Segmented sequences now work.
283
* Revision 1.14 90/10/22 15:06:38 sirotkin
284
* Now reports revision number in the testname field
286
* Revision 1.12 90/10/04 18:00:21 sirotkin
287
* Unexpectedly, this version worked for id_seq 9121, the
288
* last three intervals (shorter gene)
290
* Revision 1.11 90/10/02 15:30:30 sirotkin
291
* Only one change, but important enough for a separate version:
292
* changed the constant TooShort from 6 to 4, allowing 5 codon
295
* Revision 1.10 90/09/24 14:41:58 sirotkin
296
* logic of selecting best set, fixing overlaps
297
* by looking at likely splice sites and tehn
298
* insuring consistent set by deleting, fi necessary,
299
* all seems to work in this version
301
* only important changes left in below
303
date: 90/09/19 11:48:09; author: sirotkin; state: Exp; lines added/del: 450/40
304
partially retro-fitted function headers
305
----------------------------
307
date: 90/09/07 09:18:17; author: sirotkin; state: Exp;
309
=============================================================================
311
61
==========================================
312
62
* exons.c - map an amino acid sequence to a DNA coding region