~ubuntu-branches/ubuntu/edgy/ncbi-tools6/edgy

« back to all changes in this revision

Viewing changes to algo/blast/api/twoseq_api.c

  • Committer: Bazaar Package Importer
  • Author(s): Barry deFreese
  • Date: 2006-07-19 23:28:07 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20060719232807-et3cdmcjgmnyleyx
Tags: 6.1.20060507-3ubuntu1
Re-merge with Debian

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: twoseq_api.c,v 1.51 2005/10/20 20:58:58 madden Exp $
 
1
/* $Id: twoseq_api.c,v 1.54 2006/01/23 16:39:50 papadopo Exp $
2
2
***************************************************************************
3
3
*                                                                         *
4
4
*                             COPYRIGHT NOTICE                            *
110
110
    Boolean do_megablast = FALSE;
111
111
    Boolean do_discontig = FALSE;
112
112
    Int4 greedy_align = 0;
 
113
    Int4 diag_separation = 0;
113
114
    Int2 word_size = basic_options->word_size;
114
115
    char *matrix;
115
116
 
162
163
                                 program_number, 
163
164
                                 do_megablast,
164
165
                                 basic_options->word_threshold,
165
 
                                 word_size,
166
 
                                 0);             /* no variable wordsize */ 
 
166
                                 word_size);
167
167
 
168
168
    /* If discontiguous megablast is specified, choose
169
169
       the 11-of-21 optimal template).*/
218
218
 
219
219
    score_options->gapped_calculation = basic_options->gapped_calculation;
220
220
 
 
221
    if (do_megablast)
 
222
        diag_separation = 6;
 
223
 
221
224
    BLAST_FillHitSavingOptions(hit_options, 
222
225
                               basic_options->cutoff_evalue,
223
226
                               0,     /* default number of alignments saved */
224
227
                               score_options->gapped_calculation,
225
 
                               0);    /* do not perform culling */
 
228
                               0,     /* do not perform culling */
 
229
                               diag_separation);
226
230
 
227
231
    hit_options->percent_identity = 0;   /* no percent identity cutoff */
228
232
    hit_options->longest_intron = basic_options->longest_intron;   /* For uneven gap statistics. */
242
246
    SeqLocPtr subject_slp = NULL;
243
247
    Boolean seq1_is_aa, seq2_is_aa;
244
248
    Int2 status = 0;
 
249
    SBlastSeqalignArray* seqalign_arr=NULL;
245
250
 
246
251
    /* sanity checks */
247
252
 
285
290
       return -1;
286
291
 
287
292
    status = BLAST_TwoSeqLocSets(basic_options, query_slp, subject_slp, 
288
 
                                 NULL, seqalign_out, NULL, NULL, NULL);
 
293
                                 NULL, &seqalign_arr, NULL, NULL, NULL);
 
294
 
 
295
    if (seqalign_arr && seqalign_arr->num_queries)
 
296
    {
 
297
           *seqalign_out = seqalign_arr->array[0];
 
298
           seqalign_arr->array[0] = NULL;
 
299
           SBlastSeqalignArrayFree(seqalign_arr);
 
300
    }
 
301
 
289
302
    SeqLocFree(query_slp);
290
303
    SeqLocFree(subject_slp);
291
304
 
355
368
BLAST_TwoSeqLocSets(const BLAST_SummaryOptions *basic_options,
356
369
                    SeqLoc* query_seqloc, SeqLoc* subject_seqloc, 
357
370
                    SeqLoc* masking_locs,
358
 
                    SeqAlign **seqalign_out,
 
371
                    SBlastSeqalignArray* *seqalign_arr,
359
372
                    SeqLoc** filter_out,
360
373
                    Boolean* mask_at_hash,
361
374
                    Blast_SummaryReturn* *extra_returns_ptr)
379
392
    if (!status) {
380
393
        status = 
381
394
            Blast_TwoSeqLocSetsAdvanced(query_seqloc, subject_seqloc, 
382
 
                masking_locs, options, NULL, seqalign_out, filter_out, 
 
395
                masking_locs, options, NULL, seqalign_arr, filter_out, 
383
396
                extra_returns);
384
397
    }
385
398