void gth_bssm_param_echo(const GthBSSMParam *bssm_param, FILE *outfp) { gt_assert(bssm_param && outfp); fprintf(outfp, "BSSMPARAMVERSION is %u\n\n", bssm_param->version_num); fprintf(outfp, "Is the GT donor model set? -> %s\n", GTH_SHOWBOOL(bssm_param->gt_donor_model_set)); fprintf(outfp, "Is the GC donor model set? -> %s\n\n", GTH_SHOWBOOL(bssm_param->gc_donor_model_set)); fprintf(outfp, "Is the AG acceptor model set? -> %s\n\n", GTH_SHOWBOOL(bssm_param->ag_acceptor_model_set)); if (gth_bssm_param_is_seven_class(bssm_param)) { if (bssm_param->gt_donor_model_set) { fprintf(outfp, "reporting GT donor model parameterization"); bssm_model_echo(&bssm_param->gt_donor_model, outfp); } if (bssm_param->gc_donor_model_set) { fprintf(outfp, "reporting GC donor model parameterization"); bssm_model_echo(&bssm_param->gc_donor_model, outfp); } if (bssm_param->ag_acceptor_model_set) { fprintf(outfp, "reporting AG acceptor model parameterization"); bssm_model_echo(&bssm_param->ag_acceptor_model, outfp); } } else { fprintf(outfp, "Cannot report model parameterization for two-class BSSMs.\n"); } }
void gth_bssm_param_show_info(const GthBSSMParam *bssm_param, GtFile *outfp) { #define SEVENCLASSSTRING "seven-class" #define TWOCLASSSTRING "two-class" #define PRINT_CLASS_STRING(MODEL) \ if (bssm_param->MODEL##_model_set) \ { \ gt_file_xprintf(outfp, " (%s)", \ bssm_param->MODEL##_model.hypothesis_num == HYPOTHESIS7 \ ? SEVENCLASSSTRING : TWOCLASSSTRING); \ } \ gt_file_xfputc('\n', outfp); gt_file_xprintf(outfp, "%c the specified BSSM parameter file contains the following " "models:\n", COMMENTCHAR); gt_file_xprintf(outfp, "%c GT donor sites = %s", COMMENTCHAR, GTH_SHOWBOOL(bssm_param->gt_donor_model_set)); PRINT_CLASS_STRING(gt_donor); gt_file_xprintf(outfp, "%c GC donor sites = %s", COMMENTCHAR, GTH_SHOWBOOL(bssm_param->gc_donor_model_set)); PRINT_CLASS_STRING(gc_donor); gt_file_xprintf(outfp, "%c AG acceptor sites= %s", COMMENTCHAR, GTH_SHOWBOOL(bssm_param->ag_acceptor_model_set)); PRINT_CLASS_STRING(ag_acceptor); }
static void xml_inter_show_spliced_alignment(GthSA *sa, GthInput *input, unsigned int indentlevel, GtFile *outfp) { bool dnaalpha = true; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<spliced_alignment xmlns=\"http://www.GenomeThreader.org/" "SplicedAlignment/spliced_alignment/\">\n"); indentlevel++; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<referencealphatype>"); switch (gth_sa_alphatype(sa)) { case DNA_ALPHA: gt_file_xprintf(outfp, "DNA_ALPHA"); break; case PROTEIN_ALPHA: gt_file_xprintf(outfp, "PROTEIN_ALPHA"); dnaalpha = false; break; default: gt_assert(0); } gt_file_xprintf(outfp, "</referencealphatype>\n"); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<editoperations>\n"); indentlevel++; gth_backtrace_path_show_complete(gth_sa_backtrace_path(sa), true, indentlevel, outfp); indentlevel--; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "</editoperations>\n"); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<indelcount>"GT_WU"</indelcount>\n", gth_sa_indelcount(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<genomiclengthDP>"GT_WU"</genomiclengthDP>\n", gth_sa_gen_dp_length(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<genomiclengthtotal>"GT_WU"</genomiclengthtotal>\n", gth_sa_gen_total_length(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<genomicoffset>"GT_WU"</genomicoffset>\n", gth_sa_gen_offset(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<referencelength>"GT_WU"</referencelength>\n", gth_sa_ref_total_length(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<dpstartpos>"GT_WU"</dpstartpos>\n", gth_sa_gen_dp_start(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<dpendpos>"GT_WU"</dpendpos>\n", gth_sa_gen_dp_end(sa)); showgenomicfilename(sa, input, indentlevel, outfp); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<genomicseqnum>"GT_WU"</genomicseqnum>\n", gth_sa_gen_seq_num(sa)); showreferencefilename(sa, input, indentlevel, outfp); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<referenceseqnum>"GT_WU"</referenceseqnum>\n", gth_sa_ref_seq_num(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<genomicid>%s</genomicid>\n", gth_sa_gen_id(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<referenceid>%s</referenceid>\n", gth_sa_ref_id(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<genomicstrandisforward>%s</genomicstrandisforward>\n", GTH_SHOWBOOL(gth_sa_gen_strand_forward(sa))); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<referencestrandisforward>%s</referencestrandisforward>\n", GTH_SHOWBOOL(gth_sa_ref_strand_forward(sa))); showalignmentcutoffs(sa, indentlevel, outfp); showexons(sa, indentlevel, outfp); showintrons(sa, dnaalpha, indentlevel, outfp); showpolyAtailpos(sa, indentlevel, outfp); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<alignmentscore>%.*f</alignmentscore>\n", PRECISION, gth_sa_score(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<coverage>%.*f</coverage>\n", PRECISION, gth_sa_coverage(sa)); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<coverageofgenomicsegmentishighest>%s" "</coverageofgenomicsegmentishighest>\n", GTH_SHOWBOOL(gth_sa_genomic_cov_is_highest(sa))); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<cumulativelengthofscoredexons>"GT_WU"" "</cumulativelengthofscoredexons>\n", gth_sa_cumlen_scored_exons(sa)); indentlevel--; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "</spliced_alignment>\n"); }
static void show_xml_run_header(GthCallInfo *call_info, GthInput *input, const char *timestring, const char *gth_version, unsigned int indentlevel, const char **args) { GtFile *outfp = call_info->out->outfp; GtUword i; gth_indent(outfp, indentlevel); if (call_info->intermediate) { gt_file_xprintf(outfp, "<header xmlns=\"http://www.GenomeThreader.org/" "SplicedAlignment/header/\">\n"); } else { gt_file_xprintf(outfp, "<header xmlns=\"http://www.genomethreader.org/GTH_output/" "header/\">\n"); } /* at least one genomic file defined */ gt_assert(gth_input_num_of_gen_files(input)); /* at least one reference file defined */ gt_assert(gth_input_num_of_ref_files(input)); /* show a readable version of GthCallInfo. That is, it is shown with wich parameters the program was called */ indentlevel++; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<source program=\"GenomeThreader\" version=\"%s\" " "build_date=\"%s\" run_date=\"%s\"/>\n", gth_version, GT_BUILT, timestring); /* show genomic file names */ gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<gDNA_template_files>\n"); indentlevel++; for (i = 0; i < gth_input_num_of_gen_files(input); i++) { gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<temp_name>%s</temp_name>\n", gth_input_get_genomic_filename(input, i)); } indentlevel--; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "</gDNA_template_files>\n"); /* show reference file names */ gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<reference_files>\n"); indentlevel++; for (i = 0; i < gth_input_num_of_ref_files(input); i++) { gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<file ref_name=\"%s\" type=\"%s\"/>\n", gth_input_get_reference_filename(input, i), gth_input_get_alphatype(input, i) == DNA_ALPHA ? "ESTcDNA" : "Protein"); } indentlevel--; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "</reference_files>\n"); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<splice_site_parameters parameter_type=\"%s\" " "species=\"%s\"/>\n", SPLICE_SITE_MODEL_NAME, call_info->speciesnum == NUMOFSPECIES ? GENERIC_SPECIES_NAME : speciestab[call_info->speciesnum]); gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<parameters>\n"); indentlevel++; /* output name of BSSM file */ gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<parameter name=\"bssmfile\" value=\"%s\"/>\n", gth_input_bssmfilename(input)); /* output name of scorematrix */ gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<parameter name=\"scorematrixfile\" value=\"%s\"/>\n", gt_str_get(call_info->scorematrixfile)); /* output searchmode */ gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "<parameter name=\"searchmode\" " "value=\"forward=%s,reverse=%s)\"/>\n", GTH_SHOWBOOL(gth_input_forward(input)), GTH_SHOWBOOL(gth_input_reverse(input))); /* output arguments as comment */ gt_file_xprintf(outfp, "<!--\n%c Arguments: ", COMMENTCHAR); gt_cstr_array_show_genfile(args, outfp); gt_file_xprintf(outfp, "-->\n"); indentlevel--; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "</parameters>\n"); show_overall_reference_type(gth_input_overall_alphatype(input), indentlevel, outfp); indentlevel--; gth_indent(outfp, indentlevel); gt_file_xprintf(outfp, "</header>\n"); }