Beispiel #1
0
void InputStructures::BringUpReferenceData(ExtendParameters &parameters){
   
  DEBUG = parameters.program_flow.DEBUG;
  min_map_qv = parameters.MQL0;

  cout << "Loading reference." << endl;
  read_fasta(parameters.fasta, reference_contigs);
  cout << "Loaded reference. Ref length: " << reference_contigs.size() << endl;

  bam_initialize(parameters.bams);

  if (parameters.sseMotifsProvided) {
    cout << "Loading systematic error contexts." << endl;
    read_error_motifs(parameters.sseMotifsFileName);
    cout << "Loaded." << endl;
  }
}
void InputStructures::BringUpReferenceData(ExtendParameters &parameters) {

    DEBUG = parameters.program_flow.DEBUG;
    min_map_qv = parameters.MQL0;
    use_SSE_basecaller = parameters.program_flow.use_SSE_basecaller;
    do_snp_realignment = parameters.program_flow.do_snp_realignment;

    cout << "Loading reference." << endl;
    read_fasta(parameters.fasta, reference_contigs);
    cout << "Loaded reference. Ref length: " << reference_contigs.size() << endl;

    // some recalibration information may be read from bam file header
    bam_initialize(parameters.bams);

    if (parameters.sseMotifsProvided) {
        cout << "Loading systematic error contexts." << endl;
        read_error_motifs(parameters.sseMotifsFileName);
        cout << "Loaded." << endl;
    }

    // Load homopolymer recalibration model
    // why is recal model using the command line directly? <-- Because the basecaller module is programmed that way.
    // initialize only if there's a model file
    if (parameters.recal_model_file_name.length()>0){
        do_recal.recalModel.Initialize(parameters.opts);
        do_recal.use_recal_model_only = true;
        do_recal.is_live = true;
    }
    
    // finally turn off recalibration if not wanted
    // even although we have a nice set of recalibration read-in.
    if (parameters.program_flow.suppress_recalibration) {
        printf("Recalibration model: suppressed\n");
        do_recal.recalModel.suppressEnabled();
        do_recal.is_live = false;
    }
}